| Index: base/task_scheduler/scheduler_worker_pool_impl.cc
|
| diff --git a/base/task_scheduler/scheduler_worker_pool_impl.cc b/base/task_scheduler/scheduler_worker_pool_impl.cc
|
| index 9334c139a5eea77b10842fa8d74559a0a83d90aa..ea24a1d4cb66037d1ec6c4dfbd83c6de1d9c58fa 100644
|
| --- a/base/task_scheduler/scheduler_worker_pool_impl.cc
|
| +++ b/base/task_scheduler/scheduler_worker_pool_impl.cc
|
| @@ -22,6 +22,7 @@
|
| #include "base/task_runner.h"
|
| #include "base/task_scheduler/delayed_task_manager.h"
|
| #include "base/task_scheduler/task_tracker.h"
|
| +#include "base/task_scheduler/task_traits.h"
|
| #include "base/threading/platform_thread.h"
|
| #include "base/threading/thread_local.h"
|
| #include "base/threading/thread_restrictions.h"
|
| @@ -39,7 +40,6 @@ constexpr char kNumTasksBeforeDetachHistogramPrefix[] =
|
| "TaskScheduler.NumTasksBeforeDetach.";
|
| constexpr char kNumTasksBetweenWaitsHistogramPrefix[] =
|
| "TaskScheduler.NumTasksBetweenWaits.";
|
| -constexpr char kTaskLatencyHistogramPrefix[] = "TaskScheduler.TaskLatency.";
|
|
|
| // SchedulerWorkerPool that owns the current thread, if any.
|
| LazyInstance<ThreadLocalPointer<const SchedulerWorkerPool>>::Leaky
|
| @@ -129,29 +129,6 @@ class SchedulerSequencedTaskRunner : public SequencedTaskRunner {
|
| DISALLOW_COPY_AND_ASSIGN(SchedulerSequencedTaskRunner);
|
| };
|
|
|
| -HistogramBase* GetTaskLatencyHistogram(const std::string& pool_name,
|
| - TaskPriority task_priority) {
|
| - const char* task_priority_suffix = nullptr;
|
| - switch (task_priority) {
|
| - case TaskPriority::BACKGROUND:
|
| - task_priority_suffix = ".BackgroundTaskPriority";
|
| - break;
|
| - case TaskPriority::USER_VISIBLE:
|
| - task_priority_suffix = ".UserVisibleTaskPriority";
|
| - break;
|
| - case TaskPriority::USER_BLOCKING:
|
| - task_priority_suffix = ".UserBlockingTaskPriority";
|
| - break;
|
| - }
|
| -
|
| - // Mimics the UMA_HISTOGRAM_TIMES macro.
|
| - return Histogram::FactoryTimeGet(kTaskLatencyHistogramPrefix + pool_name +
|
| - kPoolNameSuffix + task_priority_suffix,
|
| - TimeDelta::FromMilliseconds(1),
|
| - TimeDelta::FromSeconds(10), 50,
|
| - HistogramBase::kUmaTargetedHistogramFlag);
|
| -}
|
| -
|
| // Only used in DCHECKs.
|
| bool ContainsWorker(
|
| const std::vector<std::unique_ptr<SchedulerWorker>>& workers,
|
| @@ -239,8 +216,7 @@ class SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl
|
| // SchedulerWorker::Delegate:
|
| void OnMainEntry(SchedulerWorker* worker) override;
|
| scoped_refptr<Sequence> GetWork(SchedulerWorker* worker) override;
|
| - void DidRunTaskWithPriority(TaskPriority task_priority,
|
| - const TimeDelta& task_latency) override;
|
| + void DidRunTask() override;
|
| void ReEnqueueSequence(scoped_refptr<Sequence> sequence) override;
|
| TimeDelta GetSleepTimeout() override;
|
| bool CanDetach(SchedulerWorker* worker) override;
|
| @@ -600,29 +576,9 @@ SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::GetWork(
|
| return sequence;
|
| }
|
|
|
| -void SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::
|
| - DidRunTaskWithPriority(TaskPriority task_priority,
|
| - const TimeDelta& task_latency) {
|
| +void SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::DidRunTask() {
|
| ++num_tasks_since_last_wait_;
|
| ++num_tasks_since_last_detach_;
|
| -
|
| - const int priority_index = static_cast<int>(task_priority);
|
| -
|
| - // As explained in the header file, histograms are allocated on demand. It
|
| - // doesn't matter if an element of |task_latency_histograms_| is set multiple
|
| - // times since GetTaskLatencyHistogram() is idempotent. As explained in the
|
| - // comment at the top of histogram_macros.h, barriers are required.
|
| - HistogramBase* task_latency_histogram = reinterpret_cast<HistogramBase*>(
|
| - subtle::Acquire_Load(&outer_->task_latency_histograms_[priority_index]));
|
| - if (!task_latency_histogram) {
|
| - task_latency_histogram =
|
| - GetTaskLatencyHistogram(outer_->name_, task_priority);
|
| - subtle::Release_Store(
|
| - &outer_->task_latency_histograms_[priority_index],
|
| - reinterpret_cast<subtle::AtomicWord>(task_latency_histogram));
|
| - }
|
| -
|
| - task_latency_histogram->AddTime(task_latency);
|
| }
|
|
|
| void SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::
|
|
|