Tracker bug to add sampling profiler support to TaskScheduler's SchedulerWorkers.
@wittman: any updates here? Would be nice for M68. Thanks!
@fdoray was looking implementing this support in the TaskScheduler. François, have you been able to make progress on it?
The NextAction date has arrived: 2018-05-14
Started working on this.
Awesome thanks! This is highest priority item IMO to identify where low-level optimizations in task_scheduler need to be focused (as well as find any low hanging fruits in tasks taking way more time than reasonable).
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/689ded6f42e431634ac9c96264a9d10dd39906da commit 689ded6f42e431634ac9c96264a9d10dd39906da Author: Francois Doray <fdoray@chromium.org> Date: Thu May 17 22:12:14 2018 TaskScheduler: Allow observing worker entering/exiting its main function. This new observer interface will be used by the UMA thread profiler (chrome/common/thread_profiler.h) to be informed of threads created by TaskScheduler. The thread profiler will collect stack samples on these threads throughout their lifetime. Bug: 839115 Change-Id: I69f57bed8244cb57785901a1202c8fbf2f9da350 Reviewed-on: https://chromium-review.googlesource.com/1062805 Commit-Queue: François Doray <fdoray@chromium.org> Reviewed-by: Gabriel Charette <gab@chromium.org> Reviewed-by: Mike Wittman <wittman@chromium.org> Cr-Commit-Position: refs/heads/master@{#559705} [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/BUILD.gn [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/scheduler_single_thread_task_runner_manager.h [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/scheduler_worker.cc [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/scheduler_worker.h [add] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/scheduler_worker_observer.h [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/scheduler_worker_pool_impl.cc [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/scheduler_worker_pool_impl.h [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/scheduler_worker_pool_unittest.cc [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/scheduler_worker_unittest.cc [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/task_scheduler.h [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/task_scheduler_impl.cc [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/task_scheduler_impl.h [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/task_scheduler_impl_unittest.cc [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/test_utils.cc [modify] https://crrev.com/689ded6f42e431634ac9c96264a9d10dd39906da/base/task_scheduler/test_utils.h
Comment 1 by gab@chromium.org
, May 9 2018