Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Unified Diff: components/tracing/child/child_trace_message_filter.cc

Issue 2466873002: Enable FILTERING_MODE for tracing if event filters were given in config (Closed)
Patch Set: rebase. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/tracing/child/child_trace_message_filter.cc
diff --git a/components/tracing/child/child_trace_message_filter.cc b/components/tracing/child/child_trace_message_filter.cc
index ed2be875c7da066e73b97ee3e044e14f61b5c68d..2f17f929a423cb26c16e2948e1a97b8b3831b8f6 100644
--- a/components/tracing/child/child_trace_message_filter.cc
+++ b/components/tracing/child/child_trace_message_filter.cc
@@ -25,10 +25,10 @@ const int kMinTimeBetweenHistogramChangesInSeconds = 10;
ChildTraceMessageFilter::ChildTraceMessageFilter(
base::SingleThreadTaskRunner* ipc_task_runner)
- : sender_(NULL),
+ : enabled_tracing_modes_(0),
+ sender_(NULL),
ipc_task_runner_(ipc_task_runner),
- pending_memory_dump_guid_(0) {
-}
+ pending_memory_dump_guid_(0) {}
void ChildTraceMessageFilter::OnFilterAdded(IPC::Channel* channel) {
sender_ = channel;
@@ -80,13 +80,17 @@ void ChildTraceMessageFilter::OnBeginTracing(
#endif
ChildMemoryDumpManagerDelegateImpl::GetInstance()->set_tracing_process_id(
tracing_process_id);
- TraceLog::GetInstance()->SetEnabled(
- base::trace_event::TraceConfig(trace_config_str),
- base::trace_event::TraceLog::RECORDING_MODE);
+ const base::trace_event::TraceConfig trace_config(trace_config_str);
+ enabled_tracing_modes_ = base::trace_event::TraceLog::RECORDING_MODE;
+ if (!trace_config.event_filters().empty())
+ enabled_tracing_modes_ |= base::trace_event::TraceLog::FILTERING_MODE;
+ TraceLog::GetInstance()->SetEnabled(trace_config, enabled_tracing_modes_);
}
void ChildTraceMessageFilter::OnEndTracing() {
- TraceLog::GetInstance()->SetDisabled();
+ DCHECK(enabled_tracing_modes_);
+ TraceLog::GetInstance()->SetDisabled(enabled_tracing_modes_);
+ enabled_tracing_modes_ = 0;
// Flush will generate one or more callbacks to OnTraceDataCollected
// synchronously or asynchronously. EndTracingAck will be sent in the last

Powered by Google App Engine
This is Rietveld 408576698