Index: base/threading/worker_pool_posix.cc |
=================================================================== |
--- base/threading/worker_pool_posix.cc (revision 104925) |
+++ base/threading/worker_pool_posix.cc (working copy) |
@@ -87,7 +87,15 @@ |
UNSHIPPED_TRACE_EVENT2("task", "WorkerThread::ThreadMain::Run", |
"src_file", pending_task.posted_from.file_name(), |
"src_func", pending_task.posted_from.function_name()); |
+ |
+#if defined(TRACK_ALL_TASK_OBJECTS) |
+ TimeTicks start_of_run = tracked_objects::ThreadData::Now(); |
+#endif // defined(TRACK_ALL_TASK_OBJECTS) |
pending_task.task.Run(); |
+#if defined(TRACK_ALL_TASK_OBJECTS) |
+ tracked_objects::ThreadData::TallyADeathIfActive(pending_task.post_births, |
+ pending_task.time_posted, TimeTicks::TimeTicks(), start_of_run); |
+#endif // defined(TRACK_ALL_TASK_OBJECTS) |
} |
// The WorkerThread is non-joinable, so it deletes itself. |
@@ -113,6 +121,10 @@ |
const base::Closure& task) |
: posted_from(posted_from), |
task(task) { |
+#if defined(TRACK_ALL_TASK_OBJECTS) |
+ post_births = tracked_objects::ThreadData::TallyABirthIfActive(posted_from); |
+ time_posted = tracked_objects::ThreadData::Now(); |
+#endif // defined(TRACK_ALL_TASK_OBJECTS) |
} |
PosixDynamicThreadPool::PendingTask::~PendingTask() { |