Trace MessageLoop::RunTask execution
Previously, we were only issuing trace events around the task execution
within TaskAnnotator::RunTask. However, this does not include time spent
in observers (see bug for details on how it bites).
BUG=508005
Review URL: https://codereview.chromium.org/1225333002
Cr-Commit-Position: refs/heads/master@{#338492}
CrOS-Libchrome-Original-Commit: 87a2c639ff073ed3194a788ee1eaf82aabe77bab
diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc
index 0eb24cf..785287f 100644
--- a/base/message_loop/message_loop.cc
+++ b/base/message_loop/message_loop.cc
@@ -19,6 +19,7 @@
#include "base/thread_task_runner_handle.h"
#include "base/threading/thread_local.h"
#include "base/time/time.h"
+#include "base/trace_event/trace_event.h"
#include "base/tracked_objects.h"
#if defined(OS_MACOSX)
@@ -438,6 +439,7 @@
void MessageLoop::RunTask(const PendingTask& pending_task) {
DCHECK(nestable_tasks_allowed_);
+ TRACE_EVENT0("toplevel", "MessageLoop::RunTask.WithObservers");
#if defined(OS_WIN)
if (pending_task.is_high_res) {