Make it easier to debug timers in devtools
Reported by
bmau...@fb.com,
Sep 14 2016
|
|||
Issue descriptionIn devtools it is often difficult to understand how timeouts work in a large codebase. Consider this timer: 1) the backtrae of when the timer was installed only has a single function. Especially if your codebase has a wrapper around set timeout (which facebook does), this makes it hard to understand who installed the timeout 2) You don't know when the timer was installed. Often you want to navigate to that point in time to understand the context around it 3) You don't know the duration of the timer. This is useful for understanding what the timer is / how it is intended to be used. 4) You don't know the delay on the timer firing. Often it's useful to understand the queueing time of the timer. IE if the timer should have fired at 1000 ms but fired at 1100 ms because the main thread was busy that may impact the UX.
,
Feb 16 2017
@Owen -- can you help us get traction on this? We're pushing people to do a lot more debugging of interaction performance and I frequently see people get tripped up by timers. We wrap all of our setTimeout calls in layers of abstraction so the point to where the timer is added is often not super helpful.
,
Feb 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9ebc141b455c199fdb81b59bbb361b438ba2ed8d commit 9ebc141b455c199fdb81b59bbb361b438ba2ed8d Author: alph <alph@chromium.org> Date: Fri Feb 17 16:34:01 2017 DevTools: Show pending duration for TimerFired events BUG= 646928 Review-Url: https://codereview.chromium.org/2692273009 Cr-Commit-Position: refs/heads/master@{#451317} [modify] https://crrev.com/9ebc141b455c199fdb81b59bbb361b438ba2ed8d/third_party/WebKit/Source/devtools/front_end/timeline/TimelineUIUtils.js
,
Feb 17 2017
Ben, feel free to ping me directly if you need something timeline/performance related.
,
Feb 18 2017
@alph -- Just tested this out in canary. The pending for is super useful. I find that on Facebook (which has pretty complex stack traces) The reveal button is pretty hard to use -- you have to zoom in really far for it to be helpful at all and even then i often find there are multiple events and I have to match up the IDs. Workable, but takes some effort to use
,
Feb 23 2017
Yeah, I also noticed that. I have some ideas how to fix that. Stay tuned.
,
Mar 29 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5135ba101f2a688c8b90f9df43df5abca4279a54 commit 5135ba101f2a688c8b90f9df43df5abca4279a54 Author: alph <alph@chromium.org> Date: Wed Mar 29 19:43:30 2017 DevTools: Show event initiator on Flame Chart for selected entries BUG= 646928 Review-Url: https://codereview.chromium.org/2785533002 Cr-Commit-Position: refs/heads/master@{#460497} [modify] https://crrev.com/5135ba101f2a688c8b90f9df43df5abca4279a54/third_party/WebKit/Source/devtools/BUILD.gn [modify] https://crrev.com/5135ba101f2a688c8b90f9df43df5abca4279a54/third_party/WebKit/Source/devtools/front_end/main/Main.js [rename] https://crrev.com/5135ba101f2a688c8b90f9df43df5abca4279a54/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartDataProvider.js [rename] https://crrev.com/5135ba101f2a688c8b90f9df43df5abca4279a54/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartNetworkDataProvider.js [modify] https://crrev.com/5135ba101f2a688c8b90f9df43df5abca4279a54/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartView.js [modify] https://crrev.com/5135ba101f2a688c8b90f9df43df5abca4279a54/third_party/WebKit/Source/devtools/front_end/timeline/module.json
,
Mar 31 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1459bd0dc4107bcde17077387bd5705097d51c44 commit 1459bd0dc4107bcde17077387bd5705097d51c44 Author: alph <alph@chromium.org> Date: Fri Mar 31 03:35:31 2017 DevTools: Show top level event initiator when a child is selected. BUG= 646928 Review-Url: https://codereview.chromium.org/2779253003 Cr-Commit-Position: refs/heads/master@{#461015} [modify] https://crrev.com/1459bd0dc4107bcde17077387bd5705097d51c44/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartDataProvider.js
,
Apr 4 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bcb48dd23776da9be2de3a01bc471feb0aef5cfe commit bcb48dd23776da9be2de3a01bc471feb0aef5cfe Author: alph <alph@chromium.org> Date: Tue Apr 04 20:06:25 2017 DevTools: Show the full chain of initiators on the flame chart. BUG= 646928 Review-Url: https://codereview.chromium.org/2797763003 Cr-Commit-Position: refs/heads/master@{#461808} [modify] https://crrev.com/bcb48dd23776da9be2de3a01bc471feb0aef5cfe/third_party/WebKit/Source/devtools/front_end/timeline/TimelineFlameChartDataProvider.js [modify] https://crrev.com/bcb48dd23776da9be2de3a01bc471feb0aef5cfe/third_party/WebKit/Source/devtools/front_end/timeline/TimelineUIUtils.js
,
Dec 4
Archiving feature requests that we are unlikely to address during the next 18 months. |
|||
►
Sign in to add a comment |
|||
Comment 1 by chenwilliam@chromium.org
, Sep 14 2016Owner: alph@chromium.org
Status: Assigned (was: Untriaged)