11 using v8::platform::tracing::TraceConfig;
15 int err = uv_loop_init(&tracing_loop_);
21 tracing_controller_ =
new TracingController();
22 tracing_controller_->Initialize(trace_buffer);
26 TraceConfig* trace_config =
new TraceConfig();
27 if (!enabled_categories.empty()) {
28 std::stringstream category_list(enabled_categories);
29 while (category_list.good()) {
31 getline(category_list, category,
',');
32 trace_config->AddIncludedCategory(category.c_str());
35 trace_config->AddIncludedCategory(
"v8");
36 trace_config->AddIncludedCategory(
"node");
42 int err = uv_thread_create(&thread_, ThreadCb,
this);
45 tracing_controller_->StartTracing(trace_config);
55 tracing_controller_->StopTracing();
56 tracing_controller_->Initialize(
nullptr);
60 uv_thread_join(&thread_);
64 void Agent::ThreadCb(
void* arg) {
66 uv_run(&agent->tracing_loop_, UV_RUN_DEFAULT);
static const size_t kBufferChunks
void Start(const std::string &enabled_categories)