Index: base/message_loop/message_loop.cc |
diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc |
index 92039e237b885fbdadde39d3269554127a73df9d..4fb13c2211abbf5b5312b334c8b1d4f7367c0f1e 100644 |
--- a/base/message_loop/message_loop.cc |
+++ b/base/message_loop/message_loop.cc |
@@ -458,9 +458,13 @@ void MessageLoop::RunTask(const PendingTask& pending_task) { |
TRACE_ID_MANGLE(GetTaskTraceID(pending_task)), |
"queue_duration", |
(start_time - pending_task.EffectiveTimePosted()).InMilliseconds()); |
- TRACE_EVENT2("task", "MessageLoop::RunTask", |
- "src_file", pending_task.posted_from.file_name(), |
- "src_func", pending_task.posted_from.function_name()); |
+ // 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( |
+ "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()); |
DCHECK(nestable_tasks_allowed_); |
// Execute the task and assume the worst: It is probably not reentrant. |