Loading 3party/gperftools/src/profiler.cc +9 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ typedef int ucontext_t;// just to quiet the compiler, mostly #include <gperftools/stacktrace.h> #include <string> #include <sys/time.h> #include <thread> using std::string; Loading Loading @@ -160,6 +161,14 @@ CpuProfilerSwitch(int signal_number) RAW_LOG(FATAL, "Can't turn on cpu profiling for '%s': %s\n", full_profile_name, strerror(errno)); } RAW_LOG(INFO, "Start New cpu Profiling for '%s'", full_profile_name); char *auto_stop_interval = getenv("CPUPROFILESTOP"); if (auto_stop_interval != NULL) { long int interval = strtol(auto_stop_interval, NULL, 10); if (interval > 0) { std::thread([interval] { std::this_thread::sleep_for(std::chrono::seconds(interval)); }).detach(); } } } else { ProfilerStop(); RAW_LOG(INFO, "Stop cpu Profiling for '%s'", full_profile_name); Loading Loading
3party/gperftools/src/profiler.cc +9 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ typedef int ucontext_t;// just to quiet the compiler, mostly #include <gperftools/stacktrace.h> #include <string> #include <sys/time.h> #include <thread> using std::string; Loading Loading @@ -160,6 +161,14 @@ CpuProfilerSwitch(int signal_number) RAW_LOG(FATAL, "Can't turn on cpu profiling for '%s': %s\n", full_profile_name, strerror(errno)); } RAW_LOG(INFO, "Start New cpu Profiling for '%s'", full_profile_name); char *auto_stop_interval = getenv("CPUPROFILESTOP"); if (auto_stop_interval != NULL) { long int interval = strtol(auto_stop_interval, NULL, 10); if (interval > 0) { std::thread([interval] { std::this_thread::sleep_for(std::chrono::seconds(interval)); }).detach(); } } } else { ProfilerStop(); RAW_LOG(INFO, "Stop cpu Profiling for '%s'", full_profile_name); Loading