| 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..857406be03c006176f4615914b6fc4108389cf59 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()->IsFilteringEnabled()) {
|
| + 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();
|
| }
|
|
|
|
|