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

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

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.h
diff --git a/components/scheduler/child/scheduler_helper.h b/components/scheduler/child/scheduler_helper.h
index 0348a6808792118a742870a57642af06e0a85b03..283a72d82075ede1ab8a85672e94c4f26e9806e4 100644
--- a/components/scheduler/child/scheduler_helper.h
+++ b/components/scheduler/child/scheduler_helper.h
@@ -11,6 +11,7 @@
#include "base/time/tick_clock.h"
#include "components/scheduler/base/task_queue_manager.h"
#include "components/scheduler/base/task_queue_selector.h"
+#include "components/scheduler/base/task_time_tracker.h"
#include "components/scheduler/scheduler_export.h"
namespace base {
@@ -22,7 +23,9 @@ namespace scheduler {
class SchedulerTqmDelegate;
// Common scheduler functionality for default tasks.
-class SCHEDULER_EXPORT SchedulerHelper : public TaskQueueManager::Observer {
+class SCHEDULER_EXPORT SchedulerHelper
+ : public TaskQueueManager::Observer,
+ public TaskTimeTracker::TaskTimeObserver {
public:
// Category strings must have application lifetime (statics or
// literals). They may not include " chars.
@@ -38,6 +41,9 @@ class SCHEDULER_EXPORT SchedulerHelper : public TaskQueueManager::Observer {
void OnTriedToExecuteBlockedTask(const TaskQueue& queue,
const base::PendingTask& task) override;
+ // TaskTimeTracker::TaskTimeObserver implementation:
+ void OnLongTask(base::TimeDelta long_task_time) override;
+
// Returns the default task runner.
scoped_refptr<TaskQueue> DefaultTaskRunner();
@@ -108,6 +114,7 @@ class SCHEDULER_EXPORT SchedulerHelper : public TaskQueueManager::Observer {
base::ThreadChecker thread_checker_;
scoped_refptr<SchedulerTqmDelegate> task_queue_manager_delegate_;
+ std::unique_ptr<TaskTimeTracker> task_time_tracker_;
std::unique_ptr<TaskQueueManager> task_queue_manager_;
scoped_refptr<TaskQueue> control_task_runner_;
scoped_refptr<TaskQueue> control_after_wakeup_task_runner_;

Powered by Google App Engine
This is Rietveld 408576698