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

Unified Diff: components/scheduler/child/scheduler_helper.cc

Issue 2113893006: POC: Instrument task time tracker Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: undo delegate delete Created 4 years, 6 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/child/scheduler_helper.cc
diff --git a/components/scheduler/child/scheduler_helper.cc b/components/scheduler/child/scheduler_helper.cc
index 43944359e0497c0b997600f46f027efed3516ea1..609090ab43312ec9edfcadc64781a6a76afec938 100644
--- a/components/scheduler/child/scheduler_helper.cc
+++ b/components/scheduler/child/scheduler_helper.cc
@@ -18,11 +18,13 @@ SchedulerHelper::SchedulerHelper(
const char* disabled_by_default_tracing_category,
const char* disabled_by_default_verbose_tracing_category)
: task_queue_manager_delegate_(task_queue_manager_delegate),
+ task_time_tracker_(new TaskTimeTracker()),
task_queue_manager_(
new TaskQueueManager(task_queue_manager_delegate,
tracing_category,
disabled_by_default_tracing_category,
- disabled_by_default_verbose_tracing_category)),
+ disabled_by_default_verbose_tracing_category,
+ task_time_tracker_.get())),
control_task_runner_(NewTaskQueue(
TaskQueue::Spec("control_tq")
.SetWakeupPolicy(TaskQueue::WakeupPolicy::DONT_WAKE_OTHER_QUEUES)
@@ -121,7 +123,9 @@ void SchedulerHelper::SetObserver(Observer* observer) {
CheckOnValidThread();
observer_ = observer;
DCHECK(task_queue_manager_);
+ DCHECK(task_time_tracker_);
task_queue_manager_->SetObserver(this);
+ task_time_tracker_->SetObserver(this);
}
RealTimeDomain* SchedulerHelper::real_time_domain() const {
@@ -161,4 +165,10 @@ TaskQueue* SchedulerHelper::CurrentlyExecutingTaskQueue() const {
return task_queue_manager_->currently_executing_task_queue();
}
+// TaskTimeTracker::TaskTimeObserver implementation:
+void SchedulerHelper::OnLongTask(base::TimeDelta long_task_time) {
+ // Record long task
+ // will be queried from RendererSchedulerImpl in BeginMainFrame
+}
+
} // namespace scheduler

Powered by Google App Engine
This is Rietveld 408576698