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

Issue 921473003: Break down end-to-end scroll update latency UMA metrics (Closed)

Created:
5 years, 10 months ago by Yufeng Shen (Slow to review)
Modified:
5 years, 10 months ago
CC:
chromium-reviews, tdresser+watch_chromium.org, jam, darin-cc_chromium.org, asvitkine+watch_chromium.org, cc-bugs_chromium.org, jdduke+watch_chromium.org, tdresser, Rick Byers
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Break down end-to-end scroll update latency UMA metrics End-to-end ScrollUpdate latency UMA metric is not so actionable when there is regression, partly because the latency pipeline covers too many subsystems so it is hard to locate which subsystem is contributing to the regression. This CL breaks down the end-to-end latency so that we have new metrics covering various subsystem latency along the end-to-end latency pipeline. Specifically, we have 1. ScrollUpdateTouchToHandledMain(Impl) Touch event creation to event handled on main/impl. This covers the browser to renderer input dispatching stack. 2. ScrollUpdateHandledMain(Impl)ToRendererSwap Event handled on main/impl to renderer starts to swap. This covers the renderer scheduling stack. 3. ScrollUpdateRendererSwapToBrowserNotified Renderer starts to swap to browser receives the swap notification. This covers the renderer swap stack and IPC latency between renderer and browser. 4. ScrollUpdateBrowserNotifiedToBeforeGpuSwap Browser receives the renderer swap notification to browser starts to swap. This covers the browser scheduling stack (latency mode between browser and renderer). 5. ScrollUpdateGpuSwap Browser starts to swap to gpu finishes swap. This covers the latency mode between browser and gpu, and the gpu swap cost. BUG=457825 Committed: https://crrev.com/6c07a33540b859ce77c8f9be0a92dc9d743edffe Cr-Commit-Position: refs/heads/master@{#316861}

Patch Set 1 #

Total comments: 8

Patch Set 2 : address comments #

Total comments: 8

Patch Set 3 : address comments #

Total comments: 2

Patch Set 4 : address comments #

Total comments: 2

Patch Set 5 : optimize UMA metrics range/bucket size #

Total comments: 3

Patch Set 6 : address comments #

Patch Set 7 : add a few DCHECK #

Patch Set 8 : #

Total comments: 1

Patch Set 9 : revert to patchset #6 and add TODO #

Patch Set 10 : pretty-printing histograms.xml #

Unified diffs Side-by-side diffs Delta from patch set Stats (+161 lines, -14 lines) Patch
M cc/base/latency_info_swap_promise_monitor.cc View 1 2 chunks +9 lines, -7 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 1 chunk +9 lines, -2 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_latency_tracker.cc View 1 2 3 4 5 6 7 8 3 chunks +78 lines, -1 line 0 comments Download
M tools/metrics/histograms/histograms.xml View 2 chunks +53 lines, -0 lines 0 comments Download
M ui/events/latency_info.h View 3 chunks +8 lines, -3 lines 0 comments Download
M ui/events/latency_info.cc View 1 chunk +4 lines, -1 line 0 comments Download

Messages

Total messages: 35 (8 generated)
Yufeng Shen (Slow to review)
5 years, 10 months ago (2015-02-11 22:09:20 UTC) #2
jdduke (slow)
https://codereview.chromium.org/921473003/diff/1/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/921473003/diff/1/cc/trees/layer_tree_host_impl.cc#newcode1651 cc/trees/layer_tree_host_impl.cc:1651: if (!latency.FindLatency(ui::INPUT_EVENT_LATENCY_RENDERER_SWAP_COMPONENT, This seems like a common operation (adding ...
5 years, 10 months ago (2015-02-11 23:22:02 UTC) #3
danakj
cc LGTM https://codereview.chromium.org/921473003/diff/1/cc/base/latency_info_swap_promise_monitor.cc File cc/base/latency_info_swap_promise_monitor.cc (right): https://codereview.chromium.org/921473003/diff/1/cc/base/latency_info_swap_promise_monitor.cc#newcode53 cc/base/latency_info_swap_promise_monitor.cc:53: if (AddRenderingScheduledComponent(latency_, true)) { use a comment ...
5 years, 10 months ago (2015-02-11 23:38:24 UTC) #4
Yufeng Shen (Slow to review)
+Alexei for tools/metrics/histograms/histograms.xml https://codereview.chromium.org/921473003/diff/1/cc/base/latency_info_swap_promise_monitor.cc File cc/base/latency_info_swap_promise_monitor.cc (right): https://codereview.chromium.org/921473003/diff/1/cc/base/latency_info_swap_promise_monitor.cc#newcode53 cc/base/latency_info_swap_promise_monitor.cc:53: if (AddRenderingScheduledComponent(latency_, true)) { On 2015/02/11 ...
5 years, 10 months ago (2015-02-12 02:59:02 UTC) #7
Alexei Svitkine (slow)
https://codereview.chromium.org/921473003/diff/20001/content/browser/renderer_host/render_widget_host_latency_tracker.cc File content/browser/renderer_host/render_widget_host_latency_tracker.cc (right): https://codereview.chromium.org/921473003/diff/20001/content/browser/renderer_host/render_widget_host_latency_tracker.cc#newcode188 content/browser/renderer_host/render_widget_host_latency_tracker.cc:188: rendering_scheduled_on_main ? This is not valid to do. Histogram ...
5 years, 10 months ago (2015-02-12 15:31:33 UTC) #8
Yufeng Shen (Slow to review)
https://codereview.chromium.org/921473003/diff/20001/content/browser/renderer_host/render_widget_host_latency_tracker.cc File content/browser/renderer_host/render_widget_host_latency_tracker.cc (right): https://codereview.chromium.org/921473003/diff/20001/content/browser/renderer_host/render_widget_host_latency_tracker.cc#newcode188 content/browser/renderer_host/render_widget_host_latency_tracker.cc:188: rendering_scheduled_on_main ? On 2015/02/12 15:31:32, Alexei Svitkine wrote: > ...
5 years, 10 months ago (2015-02-12 21:33:25 UTC) #9
jdduke (slow)
https://codereview.chromium.org/921473003/diff/40001/content/browser/renderer_host/render_widget_host_latency_tracker.cc File content/browser/renderer_host/render_widget_host_latency_tracker.cc (right): https://codereview.chromium.org/921473003/diff/40001/content/browser/renderer_host/render_widget_host_latency_tracker.cc#newcode139 content/browser/renderer_host/render_widget_host_latency_tracker.cc:139: #define UMA_HISTOGRAM_SCROLL_LATENCY(name, end, start) \ The end vs start ...
5 years, 10 months ago (2015-02-12 21:44:09 UTC) #10
Yufeng Shen (Slow to review)
https://codereview.chromium.org/921473003/diff/40001/content/browser/renderer_host/render_widget_host_latency_tracker.cc File content/browser/renderer_host/render_widget_host_latency_tracker.cc (right): https://codereview.chromium.org/921473003/diff/40001/content/browser/renderer_host/render_widget_host_latency_tracker.cc#newcode139 content/browser/renderer_host/render_widget_host_latency_tracker.cc:139: #define UMA_HISTOGRAM_SCROLL_LATENCY(name, end, start) \ On 2015/02/12 21:44:08, jdduke ...
5 years, 10 months ago (2015-02-12 22:04:56 UTC) #11
Alexei Svitkine (slow)
https://codereview.chromium.org/921473003/diff/60001/content/browser/renderer_host/render_widget_host_latency_tracker.cc File content/browser/renderer_host/render_widget_host_latency_tracker.cc (right): https://codereview.chromium.org/921473003/diff/60001/content/browser/renderer_host/render_widget_host_latency_tracker.cc#newcode138 content/browser/renderer_host/render_widget_host_latency_tracker.cc:138: // Scroll latency is mostly under 1000ms. I'm not ...
5 years, 10 months ago (2015-02-13 16:16:34 UTC) #12
Yufeng Shen (Slow to review)
https://codereview.chromium.org/921473003/diff/60001/content/browser/renderer_host/render_widget_host_latency_tracker.cc File content/browser/renderer_host/render_widget_host_latency_tracker.cc (right): https://codereview.chromium.org/921473003/diff/60001/content/browser/renderer_host/render_widget_host_latency_tracker.cc#newcode138 content/browser/renderer_host/render_widget_host_latency_tracker.cc:138: // Scroll latency is mostly under 1000ms. On 2015/02/13 ...
5 years, 10 months ago (2015-02-17 20:37:21 UTC) #13
jdduke (slow)
https://codereview.chromium.org/921473003/diff/80001/content/browser/renderer_host/render_widget_host_latency_tracker.cc File content/browser/renderer_host/render_widget_host_latency_tracker.cc (right): https://codereview.chromium.org/921473003/diff/80001/content/browser/renderer_host/render_widget_host_latency_tracker.cc#newcode217 content/browser/renderer_host/render_widget_host_latency_tracker.cc:217: UMA_HISTOGRAM_SCROLL_LATENCY_LONG( Will using separate buckets for impl vs main ...
5 years, 10 months ago (2015-02-17 20:40:37 UTC) #14
jdduke (slow)
https://codereview.chromium.org/921473003/diff/80001/content/browser/renderer_host/render_widget_host_latency_tracker.cc File content/browser/renderer_host/render_widget_host_latency_tracker.cc (right): https://codereview.chromium.org/921473003/diff/80001/content/browser/renderer_host/render_widget_host_latency_tracker.cc#newcode217 content/browser/renderer_host/render_widget_host_latency_tracker.cc:217: UMA_HISTOGRAM_SCROLL_LATENCY_LONG( Will using separate buckets for impl vs main ...
5 years, 10 months ago (2015-02-17 20:40:37 UTC) #15
Alexei Svitkine (slow)
https://codereview.chromium.org/921473003/diff/80001/content/browser/renderer_host/render_widget_host_latency_tracker.cc File content/browser/renderer_host/render_widget_host_latency_tracker.cc (right): https://codereview.chromium.org/921473003/diff/80001/content/browser/renderer_host/render_widget_host_latency_tracker.cc#newcode217 content/browser/renderer_host/render_widget_host_latency_tracker.cc:217: UMA_HISTOGRAM_SCROLL_LATENCY_LONG( On 2015/02/17 20:40:37, jdduke wrote: > Will using ...
5 years, 10 months ago (2015-02-17 20:53:03 UTC) #16
Yufeng Shen (Slow to review)
https://codereview.chromium.org/921473003/diff/80001/content/browser/renderer_host/render_widget_host_latency_tracker.cc File content/browser/renderer_host/render_widget_host_latency_tracker.cc (right): https://codereview.chromium.org/921473003/diff/80001/content/browser/renderer_host/render_widget_host_latency_tracker.cc#newcode217 content/browser/renderer_host/render_widget_host_latency_tracker.cc:217: UMA_HISTOGRAM_SCROLL_LATENCY_LONG( On 2015/02/17 20:53:02, Alexei Svitkine wrote: > On ...
5 years, 10 months ago (2015-02-17 20:55:40 UTC) #17
Alexei Svitkine (slow)
lgtm
5 years, 10 months ago (2015-02-17 20:57:38 UTC) #18
Yufeng Shen (Slow to review)
Jared, how does this look to you ? Also is render_widget_host_latency_tracker.cc suitable candidate to live ...
5 years, 10 months ago (2015-02-17 22:49:33 UTC) #19
jdduke (slow)
This looks fine. I'd feel a little better with some sanity DCHECK validation that we ...
5 years, 10 months ago (2015-02-17 23:16:01 UTC) #20
Yufeng Shen (Slow to review)
On 2015/02/17 23:16:01, jdduke wrote: > This looks fine. I'd feel a little better with ...
5 years, 10 months ago (2015-02-17 23:48:17 UTC) #22
jdduke (slow)
https://codereview.chromium.org/921473003/diff/140001/content/browser/renderer_host/render_widget_host_latency_tracker.cc File content/browser/renderer_host/render_widget_host_latency_tracker.cc (right): https://codereview.chromium.org/921473003/diff/140001/content/browser/renderer_host/render_widget_host_latency_tracker.cc#newcode248 content/browser/renderer_host/render_widget_host_latency_tracker.cc:248: DCHECK(ret && gpu_swap_component.event_time >= Hmm, these combined DCHECK conditions ...
5 years, 10 months ago (2015-02-18 00:00:16 UTC) #23
Yufeng Shen (Slow to review)
On 2015/02/18 00:00:16, jdduke wrote: > https://codereview.chromium.org/921473003/diff/140001/content/browser/renderer_host/render_widget_host_latency_tracker.cc > File content/browser/renderer_host/render_widget_host_latency_tracker.cc > (right): > > https://codereview.chromium.org/921473003/diff/140001/content/browser/renderer_host/render_widget_host_latency_tracker.cc#newcode248 ...
5 years, 10 months ago (2015-02-18 02:14:05 UTC) #24
jdduke (slow)
On 2015/02/18 02:14:05, Yufeng Shen wrote: > On 2015/02/18 00:00:16, jdduke wrote: > > > ...
5 years, 10 months ago (2015-02-18 02:21:25 UTC) #25
sadrul
lgtm
5 years, 10 months ago (2015-02-18 16:08:30 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/921473003/160001
5 years, 10 months ago (2015-02-18 16:18:30 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/43536)
5 years, 10 months ago (2015-02-18 16:24:11 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/921473003/180001
5 years, 10 months ago (2015-02-18 17:06:47 UTC) #33
commit-bot: I haz the power
Committed patchset #10 (id:180001)
5 years, 10 months ago (2015-02-18 18:19:08 UTC) #34
commit-bot: I haz the power
5 years, 10 months ago (2015-02-18 18:19:44 UTC) #35
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/6c07a33540b859ce77c8f9be0a92dc9d743edffe
Cr-Commit-Position: refs/heads/master@{#316861}

Powered by Google App Engine
This is Rietveld 408576698