Chromium Code Reviews| Index: base/trace_event/memory_dump_manager.cc |
| diff --git a/base/trace_event/memory_dump_manager.cc b/base/trace_event/memory_dump_manager.cc |
| index 9a030f5e429935c32e22b177e5e2d5235020e791..c8a1c73304fed13c13d24cf4a2209bf37dc64a36 100644 |
| --- a/base/trace_event/memory_dump_manager.cc |
| +++ b/base/trace_event/memory_dump_manager.cc |
| @@ -201,12 +201,30 @@ void MemoryDumpManager::Initialize(MemoryDumpManagerDelegate* delegate, |
| nullptr); |
| #endif |
| + TRACE_EVENT0(kTraceCategory, "init"); // Add to trace-viewer category list. |
| + |
| + // TODO(ssid): This should be done in EnableHeapProfiling so that we capture |
| + // more allocations (crbug.com/625170). |
| + if (heap_profiling_enabled_ && |
| + !TraceLog::GetInstance()->HaveActiveFilters()) { |
|
Primiano Tucci (use gerrit)
2016/09/23 18:34:31
can you expand what is the sense of the HaveActive
ssid
2016/09/26 18:39:53
So, filters are a list and adding more objects to
|
| + TraceConfig::EventFilterConfig heap_profiler_filter_config( |
| + TraceLog::TraceEventFilter::kHeapProfilerPredicate); |
| + heap_profiler_filter_config.AddIncludedCategory("*"); |
| + heap_profiler_filter_config.AddIncludedCategory( |
| + MemoryDumpManager::kTraceCategory); |
| + TraceConfig::EventFilters filters; |
| + filters.push_back(heap_profiler_filter_config); |
| + TraceConfig filtering_trace_config; |
| + filtering_trace_config.SetEventFilterConfigs(filters); |
| + TraceLog::GetInstance()->SetEnabled(filtering_trace_config, |
| + TraceLog::FILTERING_MODE); |
| + } |
| + |
| // If tracing was enabled before initializing MemoryDumpManager, we missed the |
| // OnTraceLogEnabled() event. Synthetize it so we can late-join the party. |
| - bool is_tracing_already_enabled = TraceLog::GetInstance()->IsEnabled(); |
| - TRACE_EVENT0(kTraceCategory, "init"); // Add to trace-viewer category list. |
| + bool tracing_already_enabled = TraceLog::GetInstance()->IsEnabled(); |
| TraceLog::GetInstance()->AddEnabledStateObserver(this); |
| - if (is_tracing_already_enabled) |
| + if (tracing_already_enabled) |
| OnTraceLogEnabled(); |
| } |