Index: base/message_loop/message_loop.cc |
diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc |
index 8f6c9d8cb6f0d0901d1a6d7fdb1d04b871adc6a9..4e446df557e8c32fa1d2d70e7af50bbe4cbb9c02 100644 |
--- a/base/message_loop/message_loop.cc |
+++ b/base/message_loop/message_loop.cc |
@@ -412,17 +412,23 @@ bool MessageLoop::ProcessNextDelayedNonNestableTask() { |
} |
void MessageLoop::RunTask(const PendingTask& pending_task) { |
+ // For absolutely minimal tracing, "toplevel" captures _everything_ |
+ // on a typical message loop thread, so long as the thread runs |
+ // semi-regular tasks (for sufficient measurement granularity). |
epenner
2014/02/12 02:02:16
This is the primary tracing change. The rest just
|
+ TRACE_EVENT_END0("toplevel", "All"); |
+ TRACE_EVENT_BEGIN0("toplevel", "All"); |
+ |
tracked_objects::TrackedTime start_time = |
tracked_objects::ThreadData::NowForStartOfRun(pending_task.birth_tally); |
- TRACE_EVENT_FLOW_END1(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"), |
+ TRACE_EVENT_FLOW_END1(TRACE_DISABLED_BY_DEFAULT("task.flow"), |
"MessageLoop::PostTask", TRACE_ID_MANGLE(GetTaskTraceID(pending_task)), |
"queue_duration", |
(start_time - pending_task.EffectiveTimePosted()).InMilliseconds()); |
// When tracing memory for posted tasks it's more valuable to attribute the |
// memory allocations to the source function than generically to "RunTask". |
TRACE_EVENT_WITH_MEMORY_TAG2( |
- "toplevel", "MessageLoop::RunTask", |
+ "task", "MessageLoop::RunTask", |
pending_task.posted_from.function_name(), // Name for memory tracking. |
"src_file", pending_task.posted_from.file_name(), |
"src_func", pending_task.posted_from.function_name()); |