feat auto stop profiler
This commit is contained in:
parent
5ffe6c71f9
commit
6e064ba6ce
@ -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;
|
||||
|
||||
@ -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…
x
Reference in New Issue
Block a user