trace event

Trace Event

Code Snippet

参考文件 content/browser/browser_main_loop.cccontent/public/browser/tracing_controller.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "components/tracing/trace_to_console.h"
#include "components/tracing/trace_config_file.h"
#include "components/tracing/tracing_switches.h"

// Start startup tracing through TracingController's interface. TraceLog has
// been enabled in content_main_runner where threads are not available. Now We
// need to start tracing for all other tracing agents, which require threads.
if (parsed_command_line_.HasSwitch(switches::kTraceStartup)) {
base::trace_event::TraceConfig trace_config(
parsed_command_line_.GetSwitchValueASCII(switches::kTraceStartup),
base::trace_event::RECORD_UNTIL_FULL);
TracingController::GetInstance()->StartTracing(
trace_config,
TracingController::StartTracingDoneCallback());
} else if (parsed_command_line_.HasSwitch(switches::kTraceToConsole)) {
TracingController::GetInstance()->StartTracing(
tracing::GetConfigForTraceToConsole(),
TracingController::StartTracingDoneCallback());
} else if (tracing::TraceConfigFile::GetInstance()->IsEnabled()) {
// This checks kTraceConfigFile switch.
TracingController::GetInstance()->StartTracing(
tracing::TraceConfigFile::GetInstance()->GetTraceConfig(),
TracingController::StartTracingDoneCallback());
}

Reference