Chromium Code Reviews| Index: third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc |
| diff --git a/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc b/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc |
| index d409fcf8f7e411d7bbf53e1ae2e8fde7d75294bf..357c8ed0ae94de775ebcf60f7ef69f953e59eba0 100644 |
| --- a/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc |
| +++ b/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc |
| @@ -18,6 +18,8 @@ |
| #include "platform/scheduler/base/work_queue.h" |
| #include "platform/scheduler/base/work_queue_sets.h" |
| +static const double kLongTaskTraceEventThreshold = 0.05; |
| + |
| namespace blink { |
| namespace scheduler { |
| @@ -536,11 +538,11 @@ TaskQueueManager::ProcessTaskResult TaskQueueManager::ProcessTaskFromWorkQueue( |
| currently_executing_task_queue_ = prev_executing_task_queue; |
| - |
| + double task_end_time = 0; |
| if (queue->GetShouldNotifyObservers()) { |
| if (task_start_time) { |
| *time_after_task = real_time_domain()->Now(); |
| - double task_end_time = MonotonicTimeInSeconds(*time_after_task); |
| + task_end_time = MonotonicTimeInSeconds(*time_after_task); |
| for (auto& observer : task_time_observers_) |
| observer.DidProcessTask(queue, task_start_time, task_end_time); |
| } |
| @@ -550,6 +552,12 @@ TaskQueueManager::ProcessTaskResult TaskQueueManager::ProcessTaskFromWorkQueue( |
| queue->NotifyDidProcessTask(pending_task); |
| } |
| + if (task_start_time && task_end_time && |
| + task_end_time - task_start_time > kLongTaskTraceEventThreshold) { |
| + TRACE_EVENT2("blink", "LongTask", "start_time", task_start_time, "end_time", |
|
altimin
2017/07/07 18:24:17
This will be shown in the UI as an extremely short
caseq
2017/07/07 18:54:44
+1 to this, I don't think it makes sense in the pr
Liquan (Max) Gu
2017/07/07 20:01:25
I have changed to emit an instant event.
From th
|
| + task_end_time); |
| + } |
| + |
| return ProcessTaskResult::EXECUTED; |
| } |