Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Unified Diff: components/scheduler/base/task_time_tracker.cc

Issue 1898233002: Report expected task queueing time via UMA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix perf test Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/scheduler/base/task_time_tracker.cc
diff --git a/components/scheduler/base/task_time_tracker.cc b/components/scheduler/base/task_time_tracker.cc
new file mode 100644
index 0000000000000000000000000000000000000000..d4957730f20dabf26d2bc5dd335486dfa63c5d09
--- /dev/null
+++ b/components/scheduler/base/task_time_tracker.cc
@@ -0,0 +1,37 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/scheduler/base/task_time_tracker.h"
+
+#include "base/metrics/histogram_macros.h"
+#include "base/trace_event/trace_event.h"
+
+namespace scheduler {
+
+TaskTimeTracker::TaskTimeTracker()
+ : task_time_observer_(nullptr),
+ queueing_time_estimator_(this, base::TimeDelta::FromSeconds(1)) {}
+
+TaskTimeTracker::~TaskTimeTracker() {}
+
+void TaskTimeTracker::SetObserver(TaskTimeObserver* task_time_observer) {
+ task_time_observer_ = task_time_observer;
+}
+
+void TaskTimeTracker::OnQueueingTimeForWindowEstimated(
+ base::TimeDelta queueing_time) {
+ UMA_HISTOGRAM_TIMES("RendererScheduler.ExpectedTaskQueueingDuration",
+ queueing_time);
+ TRACE_COUNTER1(TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"),
+ "estimated_queueing_time_for_window",
+ queueing_time.InMillisecondsF());
+}
+
+void TaskTimeTracker::ReportTaskTime(
+ base::TimeTicks task_start_time, base::TimeTicks task_end_time) {
+ queueing_time_estimator_.OnToplevelTaskCompleted(task_start_time,
+ task_end_time);
+}
+
+} // scheduler

Powered by Google App Engine
This is Rietveld 408576698