New issue
Advanced search Search tips

Issue 673731 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 660833



Sign in to add a comment

Add approximate end-to-end Input Latency Metrics for keyboard input

Project Member Reported by tdres...@chromium.org, Dec 13 2016

Issue description

Ideally we'd measure from the hardware input timestamp until a lower bound for when the input's visible response would have happened. 

If there's no visible response, we'd put that input in a separate bucket, using the time event handler processing finished (or would have started, if there is no event handler processing).
 
Cc: dtapu...@chromium.org
This is going to be tricky for Android, because it doesn't send key events, it goes through the IME instead. The first step will be plumbing this for non-IME cases, which are essentially identical to other input latency we already report.

IME cases would likely require a fair bit of additional work.
Components: Speed>Metrics
Components: -Internals>Metrics
Project Member

Comment 5 by bugdroid1@chromium.org, May 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8fef90770e83bf54f895c971ff08d5016ddabefc

commit 8fef90770e83bf54f895c971ff08d5016ddabefc
Author: tdresser <tdresser@chromium.org>
Date: Mon May 15 17:13:21 2017

Add Keyboard Latency UMA Metrics.

This doesn't correctly handle Android IME cases, or split out keyboard
scrolling from other keyboard entries.

We look specifically at events related to key presses, as most behavior is
triggered off of key press events, and key release event latency is mainly
driven by the time spent handling press related events.

Adds the following UMA metrics:
Event.Latency.QueueingTime.KeyPressDefaultPrevented
Event.Latency.QueueingTime.KeyPressDefaultAllowed
Event.Latency.BlockingTime.KeyEventDefaultPrevented
Event.Latency.BlockingTime.KeyEventDefaultAllowed

Event.Latency.Browser.KeyPressUI
Event.Latency.Browser.KeyPressAcked
Event.Latency.EndToEnd.KeyPress

BUG= 673731 
TEST=RenderWidgetHostLatencyTrackerTest.Key*
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2756893002
Cr-Commit-Position: refs/heads/master@{#471811}

[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/chrome/browser/chromeos/accessibility/event_handler_common.cc
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/chrome/browser/ui/cocoa/find_bar/find_bar_cocoa_controller.mm
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/chrome/browser/ui/views/find_bar_host.cc
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/frame_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/frame_host/render_widget_host_view_child_frame.h
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/renderer_host/input/render_widget_host_latency_tracker_unittest.cc
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/renderer_host/render_widget_host_impl.h
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/renderer_host/render_widget_host_view_base.h
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/renderer_host/render_widget_host_view_event_handler.cc
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/renderer_host/render_widget_host_view_event_handler.h
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/browser/renderer_host/render_widget_host_view_mac.mm
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/content/public/browser/render_widget_host.h
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/ui/events/event.cc
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/ui/latency/latency_info.h
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/ui/latency/latency_tracker.cc
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/ui/latency/latency_tracker.h
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/ui/latency/mojo/latency_info.mojom
[modify] https://crrev.com/8fef90770e83bf54f895c971ff08d5016ddabefc/ui/latency/mojo/latency_info_struct_traits.cc

Status: Fixed (was: Started)

Comment 7 by dproy@chromium.org, Mar 16 2018

Labels: -progressivewebmetrics

Sign in to add a comment