Commit 9cfdcf45 authored by Alexander Timin's avatar Alexander Timin Committed by Commit Bot

[scheduler] Switch worker and compositor thread to use MetricsHelper.

This patch starts to actually use WorkerMetricsHelper and
CompositorMetricsHelper introduced in
https://chromium-review.googlesource.com/c/chromium/src/+/859497.

R=alexclarke@chromium.org
BUG=776416

Change-Id: Ifc025a439aba25613c2394a25fff08238f017b39
Reviewed-on: https://chromium-review.googlesource.com/860101Reviewed-by: default avatarAlex Clarke <alexclarke@chromium.org>
Commit-Queue: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528369}
parent 22b01e0c
......@@ -23,9 +23,7 @@ CompositorWorkerScheduler::CompositorWorkerScheduler(
: WorkerScheduler(
std::make_unique<WorkerSchedulerHelper>(std::move(task_queue_manager),
this)),
thread_(thread),
compositor_thread_task_duration_reporter_(
"RendererScheduler.TaskDurationPerThreadType") {}
thread_(thread) {}
CompositorWorkerScheduler::~CompositorWorkerScheduler() = default;
......@@ -40,8 +38,8 @@ void CompositorWorkerScheduler::OnTaskCompleted(
const TaskQueue::Task& task,
base::TimeTicks start,
base::TimeTicks end) {
compositor_thread_task_duration_reporter_.RecordTask(
ThreadType::kCompositorThread, end - start);
compositor_metrics_helper_.RecordTaskMetrics(worker_task_queue, task, start,
end);
}
scoped_refptr<base::SingleThreadTaskRunner>
......
......@@ -9,6 +9,7 @@
#include "base/message_loop/message_loop.h"
#include "base/single_thread_task_runner.h"
#include "platform/PlatformExport.h"
#include "platform/scheduler/child/compositor_metrics_helper.h"
#include "platform/scheduler/child/worker_scheduler.h"
#include "platform/scheduler/util/task_duration_metric_reporter.h"
#include "platform/scheduler/util/thread_type.h"
......@@ -59,8 +60,8 @@ class PLATFORM_EXPORT CompositorWorkerScheduler
private:
base::Thread* thread_;
TaskDurationMetricReporter<ThreadType>
compositor_thread_task_duration_reporter_;
CompositorMetricsHelper compositor_metrics_helper_;
DISALLOW_COPY_AND_ASSIGN(CompositorWorkerScheduler);
};
......
......@@ -57,9 +57,7 @@ WorkerSchedulerImpl::WorkerSchedulerImpl(
idle_helper_.IdleTaskRunner()),
load_tracker_(helper_->NowTicks(),
base::Bind(&ReportWorkerTaskLoad),
kWorkerThreadLoadTrackerReportingInterval),
worker_thread_task_duration_reporter_(
"RendererScheduler.TaskDurationPerThreadType") {
kWorkerThreadLoadTrackerReportingInterval) {
initialized_ = false;
thread_start_time_ = helper_->NowTicks();
load_tracker_.Resume(thread_start_time_);
......@@ -142,8 +140,7 @@ void WorkerSchedulerImpl::OnTaskCompleted(WorkerTaskQueue* worker_task_queue,
const TaskQueue::Task& task,
base::TimeTicks start,
base::TimeTicks end) {
worker_thread_task_duration_reporter_.RecordTask(ThreadType::kWorkerThread,
end - start);
worker_metrics_helper_.RecordTaskMetrics(worker_task_queue, task, start, end);
}
SchedulerHelper* WorkerSchedulerImpl::GetSchedulerHelperForTesting() {
......
......@@ -11,6 +11,7 @@
#include "platform/scheduler/base/task_time_observer.h"
#include "platform/scheduler/child/idle_canceled_delayed_task_sweeper.h"
#include "platform/scheduler/child/idle_helper.h"
#include "platform/scheduler/child/worker_metrics_helper.h"
#include "platform/scheduler/child/worker_scheduler.h"
#include "platform/scheduler/util/task_duration_metric_reporter.h"
#include "platform/scheduler/util/thread_load_tracker.h"
......@@ -73,7 +74,8 @@ class PLATFORM_EXPORT WorkerSchedulerImpl : public WorkerScheduler,
ThreadLoadTracker load_tracker_;
bool initialized_;
base::TimeTicks thread_start_time_;
TaskDurationMetricReporter<ThreadType> worker_thread_task_duration_reporter_;
WorkerMetricsHelper worker_metrics_helper_;
DISALLOW_COPY_AND_ASSIGN(WorkerSchedulerImpl);
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment