Expected Queueing Time Metric behaves badly with nested message loops |
||||||
Issue descriptionEQT behaves as though a modal dialog is an extremely long task. We should exclude time spent in modal dialogs from EQT.
,
Dec 19 2016
Modal dialogs are implemented with nested run loops. One fix would be to reset our estimates during and/or after nested run loops.
,
Dec 19 2016
That sounds reasonable to me, but I don't have a good sense of how often nested run loops are used. They're pretty rare, and tend to run fairly long, correct? If there were lots of short nested run loops, I'd say it wouldn't make sense to completely reset - we'd just want to exclude the nested run loops from the reported estimate.
,
Dec 19 2016
Yeah, they're (thankfully) extremely rare. If there's a neat way to exclude them that would work too.
,
Feb 3 2017
,
Feb 3 2017
,
Mar 31 2017
,
Mar 31 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c4067e72471b45ccb8d775189e53c6bcd3cb2c91 commit c4067e72471b45ccb8d775189e53c6bcd3cb2c91 Author: tdresser <tdresser@chromium.org> Date: Fri Mar 31 20:34:59 2017 Expected Queueing Time Metric ignores tasks with nested message loops. We're seeing cases where the Expected Queueing Time metric is reporting values which are far too high. We hypothesize that this is due to nested message loops, which currently cause us to report a task with length equal to the duration of the nested message loop. Exclude tasks containing nested message loops from this metric. BUG= 675060 Review-Url: https://codereview.chromium.org/2788013003 Cr-Commit-Position: refs/heads/master@{#461210} [modify] https://crrev.com/c4067e72471b45ccb8d775189e53c6bcd3cb2c91/third_party/WebKit/Source/core/frame/PerformanceMonitor.h [modify] https://crrev.com/c4067e72471b45ccb8d775189e53c6bcd3cb2c91/third_party/WebKit/Source/platform/scheduler/base/queueing_time_estimator.cc [modify] https://crrev.com/c4067e72471b45ccb8d775189e53c6bcd3cb2c91/third_party/WebKit/Source/platform/scheduler/base/queueing_time_estimator.h [modify] https://crrev.com/c4067e72471b45ccb8d775189e53c6bcd3cb2c91/third_party/WebKit/Source/platform/scheduler/base/queueing_time_estimator_unittest.cc [modify] https://crrev.com/c4067e72471b45ccb8d775189e53c6bcd3cb2c91/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc [modify] https://crrev.com/c4067e72471b45ccb8d775189e53c6bcd3cb2c91/third_party/WebKit/Source/platform/scheduler/base/test_task_time_observer.h [modify] https://crrev.com/c4067e72471b45ccb8d775189e53c6bcd3cb2c91/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc [modify] https://crrev.com/c4067e72471b45ccb8d775189e53c6bcd3cb2c91/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.h [modify] https://crrev.com/c4067e72471b45ccb8d775189e53c6bcd3cb2c91/third_party/WebKit/public/platform/scheduler/base/task_time_observer.h
,
Apr 28 2017
With these changes, the data we're getting now makes sense.
,
Mar 16 2018
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by tdres...@chromium.org
, Dec 16 2016