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

Issue 18937002: Add UMA/Telemetry stats for end-to-end scroll latency (Closed)

Created:
7 years, 5 months ago by Yufeng Shen (Slow to review)
Modified:
7 years, 5 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, chrome-speed-team+watch_google.com, jam
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

Add UMA/Telemetry stats for end-to-end scroll latency This CL adds the UMA/Telemetry metric for measuring the end-to-end scroll latency from when the original touch events are created to when the final frame is swapped. BUG=246034 TEST=1. Run telemetry smoothness test and make sure average_scroll_update_latency is in the result. 2. Check that chrome://histograms/Event.Latency.TouchToScrollUpdateSwap exist after scrolling some webpages. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=211948

Patch Set 1 #

Total comments: 5

Patch Set 2 : rename #

Total comments: 1

Patch Set 3 : refactor NewInputLatencyInfo() #

Total comments: 2

Patch Set 4 : rename NewInputLatencyInfo() to CreateRWHLatencyInfoIfNotExist() #

Total comments: 2

Patch Set 5 : rename UMA stats to TouchToScrollUpdate #

Total comments: 8

Patch Set 6 : rename UMA stats to Event.Latency.TouchToScrollUpdateSwap #

Total comments: 4

Patch Set 7 : add SCROLL_UPDATE_ORIGINAL_COMPONENT to specifically track scroll_update latency #

Total comments: 1

Patch Set 8 : address sadrul's comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+98 lines, -39 lines) Patch
M content/browser/renderer_host/render_widget_host_impl.h View 1 2 3 4 5 6 1 chunk +5 lines, -2 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.cc View 1 2 3 4 5 6 7 7 chunks +70 lines, -28 lines 0 comments Download
M content/common/browser_rendering_stats.h View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M content/common/browser_rendering_stats.cc View 1 2 3 4 2 chunks +6 lines, -1 line 0 comments Download
M content/common/view_messages.h View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M tools/perf/measurements/smoothness.py View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M ui/base/latency_info.h View 1 2 3 4 5 6 1 chunk +9 lines, -8 lines 0 comments Download

Messages

Total messages: 34 (0 generated)
Yufeng Shen (Slow to review)
7 years, 5 months ago (2013-07-09 20:00:22 UTC) #1
Rick Byers
Looks reasonable to me with one suggestion. https://codereview.chromium.org/18937002/diff/1/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/18937002/diff/1/content/browser/renderer_host/render_widget_host_impl.cc#newcode1154 content/browser/renderer_host/render_widget_host_impl.cc:1154: latency_info.MergeWith(ui_latency); Why ...
7 years, 5 months ago (2013-07-10 01:36:30 UTC) #2
Yufeng Shen (Slow to review)
https://codereview.chromium.org/18937002/diff/1/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/18937002/diff/1/content/browser/renderer_host/render_widget_host_impl.cc#newcode1154 content/browser/renderer_host/render_widget_host_impl.cc:1154: latency_info.MergeWith(ui_latency); On 2013/07/10 01:36:30, Rick Byers wrote: > Why ...
7 years, 5 months ago (2013-07-10 15:12:04 UTC) #3
Rick Byers
https://codereview.chromium.org/18937002/diff/1/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/18937002/diff/1/content/browser/renderer_host/render_widget_host_impl.cc#newcode1154 content/browser/renderer_host/render_widget_host_impl.cc:1154: latency_info.MergeWith(ui_latency); On 2013/07/10 15:12:04, Yufeng Shen wrote: > On ...
7 years, 5 months ago (2013-07-10 15:31:35 UTC) #4
Yufeng Shen (Slow to review)
On 2013/07/10 15:31:35, Rick Byers wrote: > https://codereview.chromium.org/18937002/diff/1/content/browser/renderer_host/render_widget_host_impl.cc > File content/browser/renderer_host/render_widget_host_impl.cc (right): > > https://codereview.chromium.org/18937002/diff/1/content/browser/renderer_host/render_widget_host_impl.cc#newcode1154 ...
7 years, 5 months ago (2013-07-10 16:34:07 UTC) #5
Rick Byers
On 2013/07/10 16:34:07, Yufeng Shen wrote: > On 2013/07/10 15:31:35, Rick Byers wrote: > > ...
7 years, 5 months ago (2013-07-10 17:20:42 UTC) #6
Rick Byers
https://codereview.chromium.org/18937002/diff/10002/ui/base/latency_info.h File ui/base/latency_info.h (right): https://codereview.chromium.org/18937002/diff/10002/ui/base/latency_info.h#newcode26 ui/base/latency_info.h:26: INPUT_EVENT_LATENCY_GESTURE_SCROLL_RWH_COMPONENT, By the way, I'm guessing you'll eventually want ...
7 years, 5 months ago (2013-07-10 17:27:14 UTC) #7
Yufeng Shen (Slow to review)
On 2013/07/10 17:20:42, Rick Byers wrote: > On 2013/07/10 16:34:07, Yufeng Shen wrote: > > ...
7 years, 5 months ago (2013-07-10 17:55:28 UTC) #8
Rick Byers
On 2013/07/10 17:55:28, Yufeng Shen wrote: > On 2013/07/10 17:20:42, Rick Byers wrote: > > ...
7 years, 5 months ago (2013-07-10 19:18:02 UTC) #9
Yufeng Shen (Slow to review)
rename NewInputLatencyInfo() to CreateRWHLatencyInfoIfNotExist() to be more clear. https://codereview.chromium.org/18937002/diff/10002/ui/base/latency_info.h File ui/base/latency_info.h (right): https://codereview.chromium.org/18937002/diff/10002/ui/base/latency_info.h#newcode26 ui/base/latency_info.h:26: INPUT_EVENT_LATENCY_GESTURE_SCROLL_RWH_COMPONENT, ...
7 years, 5 months ago (2013-07-10 19:38:23 UTC) #10
Rick Byers
LGTM with nit https://codereview.chromium.org/18937002/diff/19001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/18937002/diff/19001/content/browser/renderer_host/render_widget_host_impl.cc#newcode2689 content/browser/renderer_host/render_widget_host_impl.cc:2689: "Event.Latency.Browser.TouchToScroll", nit: probably want to call ...
7 years, 5 months ago (2013-07-10 20:19:03 UTC) #11
Yufeng Shen (Slow to review)
https://codereview.chromium.org/18937002/diff/19001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/18937002/diff/19001/content/browser/renderer_host/render_widget_host_impl.cc#newcode2689 content/browser/renderer_host/render_widget_host_impl.cc:2689: "Event.Latency.Browser.TouchToScroll", On 2013/07/10 20:19:03, Rick Byers wrote: > nit: ...
7 years, 5 months ago (2013-07-10 21:05:52 UTC) #12
sadrul
Just some nits https://codereview.chromium.org/18937002/diff/25001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/18937002/diff/25001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1143 content/browser/renderer_host/render_widget_host_impl.cc:1143: type == WebKit::WebInputEvent::GestureScrollUpdateWithoutPropagation) { I believe ...
7 years, 5 months ago (2013-07-11 08:22:06 UTC) #13
Rick Byers
https://codereview.chromium.org/18937002/diff/25001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/18937002/diff/25001/content/browser/renderer_host/render_widget_host_impl.cc#newcode2689 content/browser/renderer_host/render_widget_host_impl.cc:2689: "Event.Latency.Browser.TouchToScrollUpdate", On 2013/07/11 08:22:06, sadrul wrote: > bikeshed: I ...
7 years, 5 months ago (2013-07-11 14:32:17 UTC) #14
Yufeng Shen (Slow to review)
https://codereview.chromium.org/18937002/diff/25001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/18937002/diff/25001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1143 content/browser/renderer_host/render_widget_host_impl.cc:1143: type == WebKit::WebInputEvent::GestureScrollUpdateWithoutPropagation) { On 2013/07/11 08:22:06, sadrul wrote: ...
7 years, 5 months ago (2013-07-11 14:47:56 UTC) #15
jbauman
https://codereview.chromium.org/18937002/diff/35001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/18937002/diff/35001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1142 content/browser/renderer_host/render_widget_host_impl.cc:1142: if (type == WebKit::WebInputEvent::GestureScrollUpdate) { Would it make sense ...
7 years, 5 months ago (2013-07-12 00:50:38 UTC) #16
Yufeng Shen (Slow to review)
https://codereview.chromium.org/18937002/diff/35001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/18937002/diff/35001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1142 content/browser/renderer_host/render_widget_host_impl.cc:1142: if (type == WebKit::WebInputEvent::GestureScrollUpdate) { On 2013/07/12 00:50:39, jbauman ...
7 years, 5 months ago (2013-07-12 21:12:37 UTC) #17
jbauman
lgtm. Thanks for changing that. I think it makes the code a bit more straightforward.
7 years, 5 months ago (2013-07-12 22:02:29 UTC) #18
Yufeng Shen (Slow to review)
Ping sadrul@ for OWNER of content/browser/renderer_host/ + jln@ for OWNER of content/common/ + dtu@ for ...
7 years, 5 months ago (2013-07-15 16:12:11 UTC) #19
sadrul
LGTM https://codereview.chromium.org/18937002/diff/40001/content/browser/renderer_host/render_widget_host_impl.cc File content/browser/renderer_host/render_widget_host_impl.cc (right): https://codereview.chromium.org/18937002/diff/40001/content/browser/renderer_host/render_widget_host_impl.cc#newcode1144 content/browser/renderer_host/render_widget_host_impl.cc:1144: if (type == WebKit::WebInputEvent::GestureScrollUpdate) { Since |type| isn't ...
7 years, 5 months ago (2013-07-15 16:16:36 UTC) #20
jln (very slow on Chromium)
> + jln@ for OWNER of content/common/ content/common/view_messages.h lgtm for the rest of content/common, you ...
7 years, 5 months ago (2013-07-15 17:48:15 UTC) #21
dtu
> + dtu@ for OWNER of tools/perf/measurements/ lgtm for tools/perf/
7 years, 5 months ago (2013-07-15 19:18:46 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/miletus@chromium.org/18937002/48001
7 years, 5 months ago (2013-07-15 19:33:15 UTC) #23
commit-bot: I haz the power
Retried try job too often on linux_aura for step(s) unit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_aura&number=59470
7 years, 5 months ago (2013-07-15 21:51:03 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/miletus@chromium.org/18937002/48001
7 years, 5 months ago (2013-07-15 21:57:21 UTC) #25
commit-bot: I haz the power
Retried try job too often on linux_aura for step(s) unit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_aura&number=59550
7 years, 5 months ago (2013-07-15 23:44:28 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/miletus@chromium.org/18937002/48001
7 years, 5 months ago (2013-07-16 15:09:13 UTC) #27
commit-bot: I haz the power
Retried try job too often on linux_aura for step(s) unit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_aura&number=60273
7 years, 5 months ago (2013-07-16 16:21:59 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/miletus@chromium.org/18937002/48001
7 years, 5 months ago (2013-07-16 16:38:32 UTC) #29
commit-bot: I haz the power
Retried try job too often on linux_aura for step(s) unit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_aura&number=60353
7 years, 5 months ago (2013-07-16 17:55:18 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/miletus@chromium.org/18937002/48001
7 years, 5 months ago (2013-07-16 21:44:45 UTC) #31
commit-bot: I haz the power
Step "update" is always a major failure. Look at the try server FAQ for more ...
7 years, 5 months ago (2013-07-16 23:35:49 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/miletus@chromium.org/18937002/48001
7 years, 5 months ago (2013-07-17 03:06:11 UTC) #33
commit-bot: I haz the power
7 years, 5 months ago (2013-07-17 05:12:18 UTC) #34
Message was sent while issue was closed.
Change committed as 211948

Powered by Google App Engine
This is Rietveld 408576698