Index: content/browser/tracing/tracing_ui.cc |
diff --git a/content/browser/tracing/tracing_ui.cc b/content/browser/tracing/tracing_ui.cc |
index 14389658a420ecb7b3f5d00d287fedeabee87753..7943d902f083f3e4044cf5f92b32e5397427a49e 100644 |
--- a/content/browser/tracing/tracing_ui.cc |
+++ b/content/browser/tracing/tracing_ui.cc |
@@ -89,6 +89,24 @@ |
*trace_config = base::trace_event::TraceConfig(category_filter_string, |
record_mode); |
+ // When enabling memory-infra via tracing, use periodic dumping to trigger a |
+ // detailed dump every 5s. |
+ if (trace_config->IsCategoryGroupEnabled( |
+ base::trace_event::MemoryDumpManager::kTraceCategory)) { |
+ base::trace_event::TraceConfig::MemoryDumpConfig::Trigger trigger = { |
+ 5000, // min_time_between_dumps_ms |
+ base::trace_event::MemoryDumpLevelOfDetail::DETAILED, |
+ base::trace_event::MemoryDumpType::PERIODIC_INTERVAL}; |
+ base::trace_event::TraceConfig::MemoryDumpConfig memory_dump_config; |
+ memory_dump_config.triggers.push_back(trigger); |
+ |
+ // TODO(ssid): Make a newly constructed MemoryDumpConfig use the default |
+ // dump modes. |
+ memory_dump_config.allowed_dump_modes.insert( |
+ base::trace_event::MemoryDumpLevelOfDetail::DETAILED); |
+ trace_config->ResetMemoryDumpConfig(memory_dump_config); |
+ } |
+ |
bool enable_systrace; |
options_ok &= options->GetBoolean("useSystemTracing", &enable_systrace); |
if (enable_systrace) |