blob: b8f2ec74dd68048809bbb24d10e49d4fa36f0741 [file] [log] [blame]
<!--
Copyright 2020 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<!--
This file is used to generate a comprehensive list of Event histograms
along with a detailed description for each histogram.
For best practices on writing histogram descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md
Please follow the instructions in the OWNERS file in this directory to find a
reviewer. If no OWNERS file exists, please consider signing up at
go/reviewing-metrics (Googlers only), as all subdirectories are expected to
have an OWNERS file. As a last resort you can send the CL to
chromium-metrics-reviews@google.com.
-->
<histogram-configuration>
<histograms>
<variants name="TopControlsState">
<variant name=".NoTopControlsMoved" summary="Top controls did not change."/>
<variant name=".TopControlsMoved" summary="Top controls changed."/>
</variants>
<histogram name="Event.AggregatedLatency.Renderer2" units="microseconds"
expires_after="2022-04-24">
<owner>flackr@chromium.org</owner>
<summary>
Time between initiation of any input event and the renderer receiving and
starting to process it.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.AndroidActionDown.ToolType" enum="MotionEventToolType"
expires_after="never">
<!-- expires-never: Needed for long-term usage tracking for different types of
pointers. -->
<owner>mustaq@chromium.org</owner>
<owner>nzolghadr@chromium.org</owner>
<summary>
Tracks the number of Android MotionEvents with ACTION_DOWN or
ACTION_POINTER_DOWN or ACTION_BUTTON_PRESS for each ToolType (unknown,
finger, mouse or stylus).
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.AsyncTargeting.ResponseTime" units="ms"
expires_after="2023-02-12">
<owner>jonross@chromium.org</owner>
<owner>event-targeting@chromium.org</owner>
<summary>
Tracks how long it takes for a client to respond to an asynchronous request
to find a target for an input event.
</summary>
</histogram>
<histogram name="Event.BrowserVerifiedUserActivation" enum="BooleanSuccess"
expires_after="2021-10-17">
<owner>liviutinta@chromium.org</owner>
<owner>mustaq@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Records whether Browser User Activation Verification is successful or not.
We are interested in how many times the Browser User Activation Verification
fails vs how many times it succeeds.
</summary>
</histogram>
<histogram
name="Event.DownEventCount.PerInputFormFactorDestinationCombination2"
enum="DownEventInputFormFactorDestinationCombination2"
expires_after="2023-06-18">
<owner>tbuckley@chromium.org</owner>
<summary>
The number of down events received per destination, input and form factor
combination.
Input is down events generated by mouse/touch/stylus. Form factor is down
events generated by clamshell/touchviewLandscape/touchviewPortrait.
Destination: Every down event that is targeted to each destination will be
counted including those that don't have an effect. For example: Tapping on a
disabled button inside the browser frame will be treated as down events on
browser window.
</summary>
</histogram>
<histogram name="Event.GestureCreated" enum="UIEventType"
expires_after="2020-03-01">
<owner>kuscher@google.com</owner>
<summary>
The gesture-events recognized and dispatched by the browser gesture
recognizer. This replaces Ash.GestureCreated, which did not record events on
Android and Windows.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.HitTestValidity" enum="EventHitTestValidity"
expires_after="M85">
<owner>dtapuska@chromium.org</owner>
<summary>
For hit tests that are validated, records whether it was correct or not, and
why.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.HitTestValidityScore" enum="EventHitTestValidityScore"
expires_after="M85">
<owner>dtapuska@chromium.org</owner>
<summary>
For hit tests that are invalid, records the score (a series of bits
indicating what was matched and what wasn't).
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.InputEventPrediction.Scroll.Frame{ScoreType}"
units="pixels" expires_after="M97">
<owner>flackr@chromium.org</owner>
<owner>joalmei@microsoft.com</owner>
<summary>
Overshoot distance in pixels between a predicted scroll position and the
corresponding interpolated real scroll position that occurred at the frame
time.
The difference between {ScoreType} and Frame{ScoreType} is the former uses
prediction time and the later uses frame time.
Team: input-dev@chromium.org.
</summary>
<token key="ScoreType">
<variant name="OverPrediction" summary="Positive score values"/>
<variant name="PredictionScore" summary="Score abolute value"/>
<variant name="UnderPrediction" summary="Negative score values"/>
</token>
</histogram>
<histogram name="Event.InputEventPrediction.Scroll.PredictionJitter"
units="pixels" expires_after="2022-05-08">
<owner>flackr@chromium.org</owner>
<owner>joalmei@microsoft.com</owner>
<summary>
Euclidean distance in pixels between two successive variations of touch
scroll deltas which are the difference between a predicted scroll position
and its corresponding interpolated real position that occurred at prediction
time.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.InputEventPrediction.Scroll.VisualJitter" units="pixels"
expires_after="2022-05-08">
<owner>flackr@chromium.org</owner>
<owner>joalmei@microsoft.com</owner>
<summary>
Euclidean distance in pixels between two successive variations of touch
scroll deltas which are the difference between a predicted scroll position
and the interpolated real position that occurred at frame time.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.InputEventPrediction.Scroll.{ScoreType}" units="pixels"
expires_after="M97">
<owner>flackr@chromium.org</owner>
<owner>joalmei@microsoft.com</owner>
<summary>
Overshoot distance in pixels between a predicted scroll position and the
corresponding interpolated real scroll position that occurred at the frame
time.
Team: input-dev@chromium.org.
</summary>
<token key="ScoreType">
<variant name="OverPrediction" summary="Positive score values"/>
<variant name="PredictionScore" summary="Score abolute value"/>
<variant name="UnderPrediction" summary="Negative score values"/>
</token>
</histogram>
<histogram name="Event.Jank.ScrollUpdate.TotalJankyAndNonJankyDuration"
enum="JankyBoolean" expires_after="2022-11-24">
<owner>nuskos@google.com</owner>
<owner>woa-performance@google.com</owner>
<summary>
IMPORTANT: This was deprecated and stopped being emitted due to overflow
from the counters being emitted in Microseconds instead of milliseconds like
it was supposed to. Please see
Event.Jank.ScrollUpdate.TotalJankyAndNonJankyDuration2.
Each time a ScrollUpdate event which was displayed on the screen is
processed, an amount of samples equal to the event processing duration in
milliseconds is emitted into the corresponding bucket.
Thus the ratio of the two represents the average amount of time scrolling is
janky.
</summary>
</histogram>
<histogram name="Event.Jank.ScrollUpdate.TotalJankyAndNonJankyDuration2"
enum="JankyBoolean" expires_after="2023-06-18">
<owner>nuskos@google.com</owner>
<owner>woa-performance@google.com</owner>
<summary>
Each time a ScrollUpdate event which was displayed on the screen is
processed, an amount of samples equal to the event processing duration in
milliseconds is emitted into the corresponding bucket.
Thus the ratio of the two represents the average amount of time scrolling is
janky.
</summary>
</histogram>
<histogram name="Event.Latency.EndToEnd.KeyPress" units="microseconds"
expires_after="2023-06-18">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of
EventLatency.KeyPressed.TotalLatency metric (see crbug.com/1054021).
Time between the OS receiving a keyboard event and the resulting GPU frame
swap. If no swap was induced by the event, no recording is made. Only
recorded for key presses.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.EndToEnd.Mouse" units="microseconds"
expires_after="2020-11-08">
<obsolete>
Removed in 2022-09. Replaced by EventLatency.Mouse*.TotalLatency metrics.
</obsolete>
<owner>nzolghadr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the OS receiving a mouse event and the resulting GPU frame
swap. If no swap was induced by the event, no recording is made.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.EndToEnd.TouchpadPinch2" units="microseconds"
expires_after="2023-06-18">
<owner>nzolghadr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of
EventLatency.GesturePinch*.TotalLatency metrics (see crbug.com/1054021).
Time between the OS receiving a touchpad pinch event and the resulting GPU
frame swap. If no swap was induced by the event, no recording is made.
</summary>
</histogram>
<histogram name="Event.Latency.HitTest" units="microseconds"
expires_after="2023-06-18">
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Duration of a non-resurive hitTest operation. The hit test is non-recursive
when the AllowChildFrameContent flag is clear. See also
Event.Latency.HitTestRecusrive.
Team: paint-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.HitTestRecursive" units="microseconds"
expires_after="2023-06-18">
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Duration of a recursive hitTest operation. The hit test is recursive when
the AllowChildFrameContent flag is set. See also Event.Latency.HitTest.
Team: paint-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.OS2.{EventType}" units="ms"
expires_after="2023-08-14">
<owner>flackr@chromium.org</owner>
<owner>joenotcharles@google.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between input event received by OS and sent to Chrome, recorded for
each event when it is received by Chrome. Replaced Event.Latency.OS which
was calculated incorrectly on Windows.
Warning: On Windows, the timestamps of most events come from a clock with a
several msec resolution so will have an abnormal distribution even when
TimeTicks::IsHighResolution returns true. The exception is touch events
which usually come from the high-resolution clock when
TimeTicks::IsHighResolution returns true.
</summary>
<token key="EventType">
<variant name="KEY_PRESSED"/>
<variant name="MOUSE_PRESSED"/>
<variant name="MOUSE_WHEEL"/>
<variant name="TOUCH_MOVED"/>
<variant name="TOUCH_PRESSED"/>
<variant name="TOUCH_RELEASED"/>
</token>
</histogram>
<histogram
name="Event.Latency.ScrollBegin.Scrollbar.BrowserNotifiedToBeforeGpuSwap2"
units="microseconds" expires_after="2023-01-01">
<owner>flackr@chromium.org</owner>
<owner>gerchiko@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of Graphics.Smoothness.EventLatency
UKM metrics (see crbug.com/1054021).
Time between the display compositor receives the notification of the first
ScrollUpdate gesture event in a given scroll gesture event sequence with
scrollbar source induced renderer swap and GPU starts to swap. The name
contains BrowserNotified for consistency with the existing
ScrollBegin/ScrollUpdate metrics - historically the display compositor lived
in the browser process.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollBegin.Scrollbar.GpuSwap2"
units="microseconds" expires_after="2022-08-29">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>gerchiko@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between gpu starts to swap the first ScrollUpdate gesture event in a
given scroll gesture event sequence with scrollbar source induced frame and
the swap finishes.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollBegin.Scrollbar.HandledToRendererSwap2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>gerchiko@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the first ScrollUpdate gesture event in a given scroll gesture
event sequence with scrollbar source, is handled on main/impl thread
(specified by suffix) and before renderer starts to swap.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollBegin.Scrollbar.RendererSwapToBrowserNotified2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>gerchiko@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the renderer starts to swap a frame (generates compositor
frame) induced by the first ScrollUpdate gesture event in a given scroll
gesture event sequence with scrollbar source, and display compositor
receives the submitted compositor frame. The name contains BrowserNotified
for consistency with the existing ScrollBegin/ScrollUpdate metrics -
historically the display compositor lived in the browser process.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollBegin.Scrollbar.TimeToHandled2"
units="microseconds" expires_after="2022-12-11">
<owner>flackr@chromium.org</owner>
<owner>gerchiko@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of Graphics.Smoothness.EventLatency
UKM metrics (see crbug.com/1054021).
Time between initial creation of a scrollbar event and the first generated
ScrollUpdate gesture event in a given scroll gesture event sequence is
handled on main/impl thread (specified by suffix). If no swap was induced by
the ScrollUpdate gesture event, no recording is made.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollBegin.Scrollbar.TimeToScrollUpdateSwapBegin4"
units="microseconds" expires_after="2023-06-04">
<owner>nzolghadr@chromium.org</owner>
<owner>gerchiko@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<owner>speed-metrics-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of
EventLatency.FirstGestureScrollUpdate.Scrollbar.TotalLatency metric (see
crbug.com/1054021).
Time between initial creation of an input event that resulted in a scrollbar
scroll and the start of the frame swap on the GPU service caused by the
generated ScrollUpdate gesture event if that ScrollUpdate is the first such
event in a given scroll gesture event sequence. If no swap was induced by
the event, no recording is made.
Do not modify this metric in any way without contacting
speed-metrics-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollBegin.TimeToScrollUpdateSwapBegin2"
units="microseconds" expires_after="2023-06-18">
<owner>nzolghadr@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of
EventLatency.FirstGestureScrollUpdate.TotalLatency metric (see
crbug.com/1054021).
Time between initial creation of a wheel/touch event and start of the frame
swap on the GPU service caused by the generated ScrollUpdate gesture event
if that ScrollUpdate is the first such event in a given scroll gesture event
sequence. If no swap was induced by the event, no recording is made. If no
swap was induced by the event, no recording is made.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollBegin.Touch.AverageLagPresentation"
units="pixels" expires_after="2022-05-01">
<owner>flackr@chromium.org</owner>
<owner>joalmei@microsoft.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Measures an average distance that represents how the page sticks to the
finger when user scrolls. Only reports touch scrolling. See
https://docs.google.com/document/d/154jddNiKtxELBvrjLz9v6A7sA1J3iwQQzySHgtY12Oo/
This is the lag observed in processing the Gesture Scroll Begin Event. In
each touch interaction there is a GSB followed by multiple Gesture Scroll
Updates, which are separately logged by
Event.Latency.ScrollUpdate.Touch.AverageLagPresentation.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollBegin.Touch.AverageLagPresentation.NoPrediction"
units="pixels" expires_after="2022-11-23">
<owner>flackr@chromium.org</owner>
<owner>sahir.vellani@microsoft.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Measures an average distance that represents how the page sticks to the
finger when user scrolls if prediction was disabled. Only reports touch
scrolling. See
https://docs.google.com/document/d/154jddNiKtxELBvrjLz9v6A7sA1J3iwQQzySHgtY12Oo/
This is the lag observed in processing the Gesture Scroll Begin Event. In
each touch interaction there is a GSB followed by multiple Gesture Scroll
Updates, which are separately logged by
Event.Latency.ScrollUpdate.Touch.AverageLagPresentation.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollBegin.Touch.BrowserNotifiedToBeforeGpuSwap2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the browser receives the notification of the first ScrollUpdate
gesture event in a given scroll gesture event sequence with touch source
induced renderer swap and GPU starts to swap.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollBegin.Touch.GpuSwap2" units="microseconds"
expires_after="2022-10-04">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of Graphics.Smoothness.EventLatency
UKM metrics (see crbug.com/1054021).
Time between gpu starts to swap the first ScrollUpdate gesture event in a
given scroll gesture event sequence with touch source induced frame and the
swap finishes.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollBegin.Touch.HandledToRendererSwap2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the first ScrollBegin gesture event in a given scroll gesture
event sequence with touch source, is handled on main/impl thread (specified
by suffix) and before renderer starts to swap.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollBegin.Touch.RendererSwapToBrowserNotified2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the renderer starts to swap a frame induced by the first
ScrollUpdate gesture event in a given scroll gesture event sequence with
touch source, and browser receives the swap notification.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollBegin.Touch.TimeToHandled2"
units="microseconds" expires_after="2023-06-01">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of Graphics.Smoothness.EventLatency
UKM metrics (see crbug.com/1054021).
Time between initial creation of a touch event and the first generated
ScrollBegin gesture event in a given scroll gesture event sequence is
handled on main/impl thread (specified by suffix). If no swap was induced by
the ScrollUpdate gesture event, no recording is made.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollBegin.Touch.TimeToScrollUpdateSwapBegin4{TopControlsState}"
units="microseconds" expires_after="2023-06-30">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<owner>speed-metrics-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of
EventLatency.FirstGestureScrollUpdate.Touchscreen.TotalLatency metric (see
crbug.com/1054021).
Time between initial creation of a touch event and the start of the frame
swap on the GPU service caused by the generated ScrollUpdate gesture event
if that ScrollUpdate is the first such event in a given scroll gesture event
sequence. If no swap was induced by the event, no recording is made.
Do not modify this metric in any way without contacting
speed-metrics-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution. {TopControlsState}
</summary>
<token key="TopControlsState" variants="TopControlsState">
<variant name=""/>
</token>
</histogram>
<histogram
name="Event.Latency.ScrollBegin.Wheel.BrowserNotifiedToBeforeGpuSwap2"
units="microseconds" expires_after="2022-07-03">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the browser receives the notification of the first ScrollUpdate
gesture event in a given scroll gesture event sequence with wheel source
induced renderer swap and GPU starts to swap.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollBegin.Wheel.GpuSwap2" units="microseconds"
expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between gpu starts to swap the first ScrollUpdate gesture event in a
given scroll gesture event sequence with wheel source induced frame and the
swap finishes.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollBegin.Wheel.HandledToRendererSwap2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the first ScrollUpdate gesture event in a given scroll gesture
event sequence with wheel source, is handled on main/impl thread (specified
by suffix) and before renderer starts to swap.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollBegin.Wheel.RendererSwapToBrowserNotified2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the renderer starts to swap a frame induced by the first
ScrollUpdate gesture event in a given scroll gesture event sequence with
wheel source, and browser receives the swap notification.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollBegin.Wheel.TimeToHandled2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between initial creation of a wheel event and the first generated
ScrollUpdate gesture event in a given scroll gesture event sequence is
handled on main/impl thread (specified by suffix). If no swap was induced by
the ScrollBegin gesture event, no recording is made.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollBegin.Wheel.TimeToScrollUpdateSwapBegin4"
units="microseconds" expires_after="2023-05-27">
<owner>flackr@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of
EventLatency.FirstGestureScrollUpdate.Wheel.TotalLatency metric (see
crbug.com/1054021).
Time between initial creation of a wheel event and the start of the frame
swap on the GPU service caused by the generated ScrollUpdate gesture event
if that ScrollUpdate is the first such event in a given scroll gesture event
sequence. If no swap was induced by the event, no recording is made.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollInertial.Touch.BrowserNotifiedToBeforeGpuSwap2"
units="microseconds" expires_after="2022-06-19">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the browser receives the notification of a ScrollUpdate gesture
generated from a touchscreen fling induced renderer swap and GPU starts to
swap.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollInertial.Touch.GpuSwap2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between gpu starts to swap a ScrollUpdate gesture event generated from
a touchscreen fling induced frame and the swap finishes.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollInertial.Touch.HandledToRendererSwap2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between a ScrollUpdate gesture event generated from a touchscreen
fling, is handled on main/impl thread (specified by suffix) and before
renderer starts to swap.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollInertial.Touch.RendererSwapToBrowserNotified2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the renderer starts to swap a frame induced by a ScrollUpdate
gesture event generated from a touchscreen fling, and browser receives the
swap notification.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollInertial.Touch.TimeToHandled2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between initial creation of a ScrollUpdate gesture event generated from
a touchscreen fling is handled on main/impl thread (specified by suffix). If
no swap was induced by the ScrollUpdate gesture event, no recording is made.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollInertial.Touch.TimeToScrollUpdateSwapBegin4"
units="microseconds" expires_after="2022-07-31">
<obsolete>
Removed in 2022-09. Replaced by
EventLatency.InertialGestureScrollUpdate.Touchscreen.TotalLatency.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between initial creation of a ScrollUpdate gesture event generated from
a touchscreen fling and the start of the frame swap on the GPU service
caused by the generated ScrollUpdate gesture event. If no swap was induced
by the event, no recording is made.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollJank" enum="Boolean"
expires_after="2023-06-18">
<owner>ddrone@google.com</owner>
<owner>chrometto-team@google.com</owner>
<summary>
Tracks janky frames while processing scroll events, which are defined as
frames taking longer than half of vsync interval compared to previous or
next frame.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.JankyDuration" units="ms"
expires_after="2023-06-04">
<owner>ddrone@google.com</owner>
<owner>chrometto-team@google.com</owner>
<summary>
Total duration (wall time in milliseconds of potentially concurrent events)
of LatencyInfo::GestureScrollUpdate events that are detected as janky during
a particular scroll.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.JankyDurationPercentage" units="%"
expires_after="2023-05-27">
<owner>ddrone@google.com</owner>
<owner>chrometto-team@google.com</owner>
<summary>
Percentage of duration of scroll events that are detected as janky during a
particular scroll.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.JankyEvents" units="counts"
expires_after="2023-06-18">
<owner>ddrone@google.com</owner>
<owner>chrometto-team@google.com</owner>
<summary>
Count of LatencyInfo::GestureScrollUpdate events that are detected as janky
during a particular scroll.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollUpdate.Scrollbar.BrowserNotifiedToBeforeGpuSwap2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>arakeri@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the display compositor receives the notification of the first
ScrollUpdate gesture event in a given scroll gesture event sequence with
scrollbar source induced renderer swap and GPU starts to swap. The name
contains BrowserNotified for consistency with the existing
ScrollBegin/ScrollUpdate metrics - historically the display compositor lived
in the browser process.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.Scrollbar.GpuSwap2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>arakeri@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between gpu starts to swap a ScrollUpdate gesture event with scrollbar
source induced frame and the swap finishes.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.Scrollbar.HandledToRendererSwap2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>arakeri@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the ScrollUpdate gesture event with scrollbar source, is
handled on main/impl thread (specified by suffix) and before renderer starts
to swap.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollUpdate.Scrollbar.RendererSwapToBrowserNotified2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>arakeri@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the renderer starts to swap a frame (generates compositor
frame) induced by the first ScrollUpdate gesture event in a given scroll
gesture event sequence with scrollbar source, and display compositor
receives the submitted compositor frame. The name contains BrowserNotified
for consistency with the existing ScrollBegin/ScrollUpdate metrics -
historically the display compositor lived in the browser process.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.Scrollbar.TimeToHandled2"
units="microseconds" expires_after="2022-12-04">
<owner>flackr@chromium.org</owner>
<owner>arakeri@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of Graphics.Smoothness.EventLatency
UKM metrics (see crbug.com/1054021).
Time between initial creation of an input event that results in a scrollbar
scroll and the generated ScrollUpdate gesture event is handled on main/impl
thread (specified by suffix). If no swap was induced by the ScrollUpdate
gesture event, no recording is made.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollUpdate.Scrollbar.TimeToScrollUpdateSwapBegin4"
units="microseconds" expires_after="2023-06-04">
<owner>flackr@chromium.org</owner>
<owner>arakeri@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<owner>speed-metrics-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of
EventLatency.GestureScrollUpdate.Scrollbar.TotalLatency metric (see
crbug.com/1054021).
Time between initial creation of a scrollbar event and start of the frame
swap on the GPU service caused by the generated ScrollUpdate gesture event.
If no swap was induced by the event, no recording is made. The first GSU of
every scrolling sequence is excluded from this metric.
Do not modify this metric in any way without contacting
speed-metrics-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.TimeToScrollUpdateSwapBegin2"
units="microseconds" expires_after="2023-05-07">
<owner>nzolghadr@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of
EventLatency.GestureScrollUpdate.TotalLatency metric (see
crbug.com/1054021).
Time between initial creation of a wheel/touch event and start of the frame
swap on the GPU service caused by the generated ScrollUpdate gesture event.
If no swap was induced by the event, no recording is made. The first GSU of
every scrolling sequence is excluded from this metric.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.TotalDuration" units="ms"
expires_after="2023-06-18">
<owner>ddrone@google.com</owner>
<owner>chrometto-team@google.com</owner>
<summary>
Total duration (wall time in milliseconds of potentially concurrent events)
of LatencyInfo::GestureScrollUpdate events during a particular scroll.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.TotalEvents" units="counts"
expires_after="2023-06-18">
<owner>ddrone@google.com</owner>
<owner>chrometto-team@google.com</owner>
<summary>
Count of LatencyInfo::GestureScrollUpdate events during a particular scroll.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.Touch.AverageLagPresentation"
units="pixels" expires_after="2022-12-25">
<owner>flackr@chromium.org</owner>
<owner>joalmei@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Measures an average distance that represents how the page sticks to the
finger when user scrolls. Only reports touch scrolling. See
https://docs.google.com/document/d/154jddNiKtxELBvrjLz9v6A7sA1J3iwQQzySHgtY12Oo/
This is the lag observed in processing the Gesture Scroll Updates occurring
in the lifetime of a scroll interaction.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollUpdate.Touch.AverageLagPresentation.NoPrediction"
units="pixels" expires_after="2022-11-23">
<owner>flackr@chromium.org</owner>
<owner>sahir.vellani@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Measures an average distance that represents how the page sticks to the
finger when user scrolls if prediction was disabled. Only reports touch
scrolling. See
https://docs.google.com/document/d/154jddNiKtxELBvrjLz9v6A7sA1J3iwQQzySHgtY12Oo/
This is the lag observed in processing the Gesture Scroll Updates occurring
in the lifetime of a scroll interaction.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollUpdate.Touch.AverageLagPresentation.RemainingLagPercentage"
units="%" expires_after="2022-11-23">
<owner>flackr@chromium.org</owner>
<owner>sahir.vellani@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Percentage of touch lag that prediction wasn't able to remove.
This is the ratio (Lag_with_prediction)/(Lag_without_prediction). Lag is the
average distance between the finger and page positons during touch
scrolling.
0% means all the lag existing before prediction was removed. 100% means that
prediction had no impact. Greater than 100% means that prediction introduced
more lag.
This metric doesn't distinguish between OverPrediction and UnderPrediction.
A same absolute value of OverPrediction or UnderPrediction will result in
the same RemainingLagPercentage value.
Lag_with_prediction =
Event.Latency.ScrollUpdate.Touch.AverageLagPresentation
Lag_without_prediction =
Event.Latency.ScrollUpdate.Touch.AverageLagPresentation.NoPrediction
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollUpdate.Touch.AverageLagPresentation.{PredictionImpact}"
units="pixels" expires_after="2022-11-23">
<owner>flackr@chromium.org</owner>
<owner>sahir.vellani@microsoft.com</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Improvement of prediction in touch lag. It is defined as
(Lag_without_prediction - Lag_with_prediction).
Lag is the distance between the finger position and the rendered position.
When positive, prediction improves touch performance (reduces lag). When
negative, prediction worsens touch performance (increases lag).
The duration of the interaction/interval is either 1s, or the time from when
the user starts scrolling to lifting the finger, whichever is smaller.
This metric uses directionless distances, therefore it doesn't distinguish
between OverPrediction and UnderPrediction. A same absolute value of
OverPrediction or UnderPrediction will result in the same PredictionImpact
value.
Lag_with_prediction =
Event.Latency.ScrollUpdate.Touch.AverageLagPresentation
Lag_without_prediction =
Event.Latency.ScrollUpdate.Touch.AverageLagPresentation.NoPrediction
Team: input-dev@chromium.org.
</summary>
<token key="PredictionImpact">
<variant name="PredictionNegative" summary="Negative impact values"/>
<variant name="PredictionPositive" summary="Positive impact values"/>
</token>
</histogram>
<histogram
name="Event.Latency.ScrollUpdate.Touch.BrowserNotifiedToBeforeGpuSwap2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the browser receives the notification of a ScrollUpdate gesture
event with touch source induced renderer swap and GPU starts to swap.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.Touch.GpuSwap2"
units="microseconds" expires_after="2022-12-25">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of Graphics.Smoothness.EventLatency
UKM metrics (see crbug.com/1054021).
Time between gpu starts to swap a ScrollUpdate gesture event with touch
source induced frame and the swap finishes.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.Touch.HandledToRendererSwap2"
units="microseconds" expires_after="2022-12-25">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of Graphics.Smoothness.EventLatency
UKM metrics (see crbug.com/1054021).
Time between the ScrollUpdate gesture event with touch source, is handled on
main/impl thread (specified by suffix) and before renderer starts to swap.
This is recorded each time a user touch scroll is swapped to the display.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollUpdate.Touch.RendererSwapToBrowserNotified2"
units="microseconds" expires_after="2022-12-25">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of Graphics.Smoothness.EventLatency
UKM metrics (see crbug.com/1054021).
Time between the renderer starts to swap a frame induced by ScrollUpdate
gesture event with touch source, and browser receives the swap notification.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.Touch.TimeToHandled2"
units="microseconds" expires_after="2022-12-25">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of Graphics.Smoothness.EventLatency
UKM metrics (see crbug.com/1054021).
Time between initial creation of a touch event and the generated
ScrollUpdate gesture event is handled on main/impl thread (specified by
suffix). If no swap was induced by the ScrollUpdate gesture event, no
recording is made.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollUpdate.Touch.TimeToScrollUpdateSwapBegin4{TopControlsState}"
units="microseconds" expires_after="2023-06-30">
<owner>flackr@chromium.org</owner>
<owner>sullivan@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<owner>speed-metrics-dev@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
NOTE: This metric is deprecated in favor of
EventLatency.GestureScrollUpdate.Touchscreen.TotalLatency metric (see
crbug.com/1054021).
Time between initial creation of a touch event and start of the frame swap
on the GPU service caused by the generated ScrollUpdate gesture event. If no
swap was induced by the event, no recording is made. The first GSU of every
scrolling sequence is excluded from this metric.
Do not modify this metric in any way without contacting
speed-metrics-dev@chromium.org AND chrome-analysis-team@google.com.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution. {TopControlsState}
</summary>
<token key="TopControlsState" variants="TopControlsState">
<variant name=""/>
</token>
</histogram>
<histogram
name="Event.Latency.ScrollUpdate.Wheel.BrowserNotifiedToBeforeGpuSwap2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the browser receives the notification of a ScrollUpdate gesture
event with wheel source induced renderer swap and GPU starts to swap.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.Wheel.GpuSwap2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between gpu starts to swap a ScrollUpdate gesture event with wheel
source induced frame and the swap finishes.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.Wheel.HandledToRendererSwap2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the ScrollUpdate gesture event with wheel source, is handled on
main/impl thread (specified by suffix) and before renderer starts to swap.
This is recorded each time the user scrolls the mouse wheel when that frame
is swapped to the display.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram
name="Event.Latency.ScrollUpdate.Wheel.RendererSwapToBrowserNotified2"
units="microseconds" expires_after="2022-06-01">
<obsolete>
Removed in 2022-09. Replaced by Graphics.Smoothness.EventLatency UKM
metrics.
</obsolete>
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Time between the renderer starts to swap a frame induced by ScrollUpdate
gesture event with wheel source, and browser receives the swap notification.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.Wheel.TimeToHandled2"
units="microseconds" expires_after="2022-12-04">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of Graphics.Smoothness.EventLatency
UKM metrics (see crbug.com/1054021).
Time between initial creation of a wheel event and the generated
ScrollUpdate gesture event is handled on main/impl thread (specified by
suffix). If no swap was induced by the ScrollUpdate gesture event, no
recording is made. The first GSU of every scrolling sequence is excluded
from this metric. This is recorded at the point when the frame has been
swapped to the screen for every wheel scroll except the first one.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.Latency.ScrollUpdate.Wheel.TimeToScrollUpdateSwapBegin4"
units="microseconds" expires_after="2023-05-27">
<owner>flackr@chromium.org</owner>
<summary>
NOTE: This metric is deprecated in favor of
EventLatency.GestureScrollUpdate.Wheel.TotalLatency metric (see
crbug.com/1054021).
Time between initial creation of a wheel event and start of the frame swap
on the GPU service caused by the generated ScrollUpdate gesture event. If no
swap was induced by the event, no recording is made. The first GSU of every
scrolling sequence is excluded from this metric.
Team: input-dev@chromium.org.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Event.MaxDragDistance.{ToolType}" units="dips"
expires_after="never">
<!-- expires-never: Needed for long-term tracking of dragging vs clicking behavior. -->
<owner>mustaq@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
The maximum Euclidean distance (in DIPs, device independent pixels) a
single-pointer gesture travels from its starting position during the period
the gesture has been active. The histogram is measured separately for every
pointer type that can be used in gesture recognition: finger, and pen in
drawing/eraser mode. The type names used here follow the corresponding
labels in |MotionEvent.ToolType|.
</summary>
<token key="ToolType">
<variant name="ERASER"/>
<variant name="FINGER"/>
<variant name="STYLUS"/>
</token>
</histogram>
<histogram name="Event.PageShow.Persisted" enum="EventPageShowPersisted"
expires_after="2023-03-26">
<owner>hajimehoshi@chromium.org</owner>
<owner>fergal@chromium.org</owner>
<summary>
Records whether the pageshow event had its persisted flag set in renderer or
browser. This flag is on if and only if the page is restored from
back-forward cache. This flag is off e.g. during the page load. This is
recorded when pageshow event fires on a main frame in renderer, or when
browser triggers this event on a main frame. This was a boolean on M95 and
before, is extended to an enum EventPageShoerPersisted as of M96.
</summary>
</histogram>
<histogram name="Event.PageShow.Persisted.Termination.Status" units="status"
expires_after="2022-12-25">
<owner>hajimehoshi@chromium.org</owner>
<owner>fergal@chromium.org</owner>
<summary>
When we send a PageLifecycleState update that should trigger a pageshow
event with its persisted flag set and then the renderer exits, this records
the status of the process. This is an enum (base::TerminationStatus in
base/process/kill.h) but the values vary by platform so we cannot use a
regular enum metric. This is temporary debugging for
https://crbug.com/1234634.
</summary>
</histogram>
<histogram name="Event.PageShow.Persisted.{Event}.Time" units="ms"
expires_after="2022-10-01">
<owner>hajimehoshi@chromium.org</owner>
<owner>fergal@chromium.org</owner>
<summary>
When we send a PageLifecycleState update that should trigger a pageshow
event with its persisted flag set and have not yet received an ack, we log
how long it takes for certain events to occur. This is temporary debugging
for https://crbug.com/1234634.
</summary>
<token key="Event">
<variant name="Termination.Normal" summary="renderer exited normally"/>
<variant name="Termination.Unexpected"
summary="renderer exited unexpectedly"/>
<variant name="ViewDestroyed" summary="renderer view host was destroyed"/>
</token>
</histogram>
<histogram name="Event.PassiveListeners" enum="EventResultType"
expires_after="2023-06-25">
<owner>dtapuska@chromium.org</owner>
<summary>
The result of handling of MouseWheel, TouchStart, TouchMove, TouchEnd events
in the renderer.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.SingleTapType" enum="TapDelayType" expires_after="M97">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
On non-mobile sites, gesture taps are delayed to prevent double taps from
sending a click event. This stat counts the number of taps that are delayed
by the double-tap delay versus those that are sent immediately on mobile
sites.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.Touch.FilteredAtPassthroughQueue"
enum="EventPreFilterResult" expires_after="2020-03-22">
<owner>charliea@chromium.org</owner>
<owner>nzolghadr@chromium.org</owner>
<summary>
Whether a given touch event is filtered by the passthrough touch event queue
or not. If the event was filtered, a reason is given. Potential reasons for
filtering include the page not having any registered touch handlers and the
renderer process not responding to previous touch events.
Team: input-dev@chromium.org
</summary>
</histogram>
<histogram name="Event.Touch.GestureTarget" enum="BrowserGestureActionType"
expires_after="2020-06-28">
<owner>kuscher@google.com</owner>
<owner>rbyers@chromium.org</owner>
<summary>
The gesture-events recognized and dispatched for UI components owned by the
browser. This histogram was created as part of separating gesture events
between the browser and Ash (crbug.com/826476). The enums are extracted from
Ash.GestureTarget.
</summary>
</histogram>
<histogram name="Event.Touch.TimedOutOnDesktopSite" enum="BooleanTimedOut"
expires_after="2023-10-31">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
On non-mobile-optimized (desktop) sites, whether the ack response from the
renderer for any event in a contiguous touch sequence exceeds the
desktop-specific timeout threshold.
Warning: This histogram has incomplete data. It expired on 2021-08-15 and
then got re-enabled on M110.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.Touch.TimedOutOnMobileSite" enum="BooleanTimedOut"
expires_after="2023-10-31">
<owner>flackr@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
On mobile-optimized sites, whether the ack response from the renderer for
any event in a contiguous touch sequence exceeds the mobile-specific timeout
threshold.
Warning: This histogram has incomplete data. It expired on 2021-08-15 and
then got re-enabled on M110.
Team: input-dev@chromium.org.
</summary>
</histogram>
<histogram name="Event.TouchSelection.Duration" units="ms" expires_after="M77">
<owner>nzolghadr@chromium.org</owner>
<summary>
Duration of touch selection sequence which finished with the user selecting
one of the text manipulation actions, such as copy, cut, or paste. The
duration is measured from the moment the text selection handles are shown,
and until the action is executed.
</summary>
</histogram>
<histogram name="Event.TouchSelection.EndedWithAction" enum="BooleanSuccess"
expires_after="M77">
<owner>nzolghadr@chromium.org</owner>
<summary>
Whether the touch selection sequence ended with the user selecting one of
the text manipulation actions, such as copy, cut, or paste. after startup).
Sequences ending with such action are considered successful.
</summary>
</histogram>
<histogram name="Event.TouchSelection.WasDraggedDuration" units="ms"
expires_after="M81">
<owner>nzolghadr@chromium.org</owner>
<summary>
Duration of touch selection sequence which involved dragging a text
selection handle. The duration is measured from the moment the text
selection handles are shown, and until they are dismissed.
</summary>
</histogram>
<histogram name="Event.TouchSelectionHandle.BestVerticalClippingPercentage"
units="%" expires_after="M77">
<owner>amaralp@chromium.org</owner>
<summary>
Percentage of touch handle height that would be clipped by the viewport in
the best case of flipping or not flipping.
</summary>
</histogram>
<histogram name="Event.TouchSelectionHandle.BottomHandleClippingPercentage"
units="%" expires_after="M77">
<owner>amaralp@chromium.org</owner>
<summary>
Percentage of touch handle height that would be clipped by the viewport if
the handle was not vertically flipped.
</summary>
</histogram>
<histogram name="Event.TouchSelectionHandle.FlippingImprovementPercentage"
units="%" expires_after="M77">
<owner>amaralp@chromium.org</owner>
<summary>
The difference between the metrics |BottomHandleClippingPercentage| and
|BestVerticalClippingPercentage|. Measures how useful vertical flipping is.
</summary>
</histogram>
<histogram name="Event.TouchSelectionHandle.LeftHandleClippingPercentage"
units="%" expires_after="M77">
<owner>amaralp@chromium.org</owner>
<summary>
Percentage of left touch handle width that would be clipped by the viewport
without flipping.
</summary>
</histogram>
<histogram name="Event.TouchSelectionHandle.RightHandleClippingPercentage"
units="%" expires_after="M77">
<owner>amaralp@chromium.org</owner>
<summary>
Percentage of right touch handle width that would be clipped by the viewport
without flipping.
</summary>
</histogram>
<histogram name="Event.TouchSelectionHandle.ShouldFlipHandleVertically"
enum="TouchHandleVerticallyFlipped" expires_after="M77">
<owner>amaralp@chromium.org</owner>
<summary>
Whether flipping the handle vertically would result in less clipping.
</summary>
</histogram>
<histogram name="Event.UserActivation.TriggerFor{ActivationGatedApiType}"
enum="UserActivationTriggerEnum" expires_after="2023-09-30">
<owner>mustaq@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>
Tracks the notification-type for the user activation that resulted in a
successful call for an activation-gated API (of type sticky, transient or
consuming).
</summary>
<token key="ActivationGatedApiType">
<variant name="Consuming"/>
<variant name="Sticky"/>
<variant name="Transient"/>
</token>
</histogram>
<histogram name="Event.WaylandDragDrop.IncomingDataTransferTime" units="ms"
expires_after="M90">
<owner>rjkroege@chromium.org</owner>
<owner>adunaev@igalia.com</owner>
<summary>
Delay between the drag coming into the window and the window is actually
notified.
</summary>
</histogram>
<histogram name="EventLatency.GestureScrollUpdate.Touchscreen.TotalLatency"
units="microseconds" expires_after="never">
<!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) -->
<owner>mohsen@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
When a user performs a scroll using touchscreen, a sequence of touch-move
events are generated leading to a sequence of gesture-scroll-update events.
This metric measures total latency of those gesture-scroll-update events
excluding the first one in the sequence and those that are inertial (i.e.
generated as a result of a user fling). Total latency means the time from
when the touch-move causing a gesture-scroll-update is generated until when
the changes caused by the event are successfully presented on the screen.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
</histogram>
<histogram
name="EventLatency.GestureScrollUpdate.{NonTouchscreenScrollInputType}.TotalLatency"
units="microseconds" expires_after="2023-01-16">
<owner>mohsen@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks total latency of {NonTouchscreenScrollInputType}
gesture-scroll-update events that are non-inertial (i.e. not generated due
to a user fling) and not the first one in a scroll sequence, from when the
user input causing the event is performed until the frame caused by the
event is submitted by the GPU service and presented successfully on the
screen.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
<token key="NonTouchscreenScrollInputType">
<variant name="Autoscroll" summary="autoscroll"/>
<variant name="Scrollbar" summary="scrollbar"/>
<variant name="Wheel" summary="mouse wheel or touchpad"/>
</token>
</histogram>
<histogram name="EventLatency.TotalLatency" units="microseconds"
expires_after="2023-06-04">
<owner>mohsen@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks total latency of all event types, from when the user input causing
the event is performed until the frame caused by the event is submitted by
the GPU service and presented successfully on the screen.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
</histogram>
<histogram
name="EventLatency.{NonGsuScrollEventType}.{ScrollInputType}.TotalLatency"
units="microseconds" expires_after="2023-01-16">
<owner>mohsen@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks total latency of {ScrollInputType} {NonGsuScrollEventType}, from when
the user input causing the event is performed until the frame caused by the
event is submitted by the GPU service and presented successfully on the
screen.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
<token key="NonGsuScrollEventType">
<variant name="FirstGestureScrollUpdate"
summary="gesture-scroll-update events that are the first one in a
scroll sequence"/>
<variant name="GestureScrollBegin" summary="gesture-scroll-begin events"/>
<variant name="GestureScrollEnd" summary="gesture-scroll-end events"/>
<variant name="InertialGestureScrollUpdate"
summary="gesture-scroll-update events that are inertial (i.e.
generated due to a user fling)"/>
</token>
<token key="ScrollInputType">
<variant name="Autoscroll" summary="autoscroll"/>
<variant name="Scrollbar" summary="scrollbar"/>
<variant name="Touchscreen" summary="touchscreen"/>
<variant name="Wheel" summary="mouse wheel or touchpad"/>
</token>
</histogram>
<histogram name="EventLatency.{NonPinchEventType}.TotalLatency"
units="microseconds" expires_after="2023-01-16">
<owner>mohsen@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks total latency of {NonPinchEventType}, from when the user input
causing the event is performed generated until the frame caused by the event
is submitted by the GPU service and presented successfully on the screen.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
<token key="NonPinchEventType">
<variant name="FirstGestureScrollUpdate"
summary="gesture-scroll-update events that are the first one in a
scroll sequence"/>
<variant name="GestureDoubleTap" summary="gesture-double-tap events"/>
<variant name="GestureLongPress" summary="gesture-long-press events"/>
<variant name="GestureLongTap" summary="gesture-long-tap events"/>
<variant name="GestureScrollBegin" summary="gesture-scroll-begin events"/>
<variant name="GestureScrollEnd" summary="gesture-scroll-end events"/>
<variant name="GestureScrollUpdate" summary="gesture-scroll-update events"/>
<variant name="GestureShowPress" summary="gesture-show-press events"/>
<variant name="GestureTap" summary="gesture-tap events"/>
<variant name="GestureTapCancel" summary="gesture-tap-cancel events"/>
<variant name="GestureTapDown" summary="gesture-tap-down events"/>
<variant name="GestureTapUnconfirmed"
summary="gesture-tap-unconfirmed events"/>
<variant name="GestureTwoFingerTap"
summary="gesture-two-finger-tap events"/>
<variant name="InertialGestureScrollUpdate"
summary="gesture-scroll-update events that are inertial (i.e.
generated due to a user fling)"/>
<variant name="KeyPressed" summary="key-pressed events"/>
<variant name="KeyReleased" summary="key-released events"/>
<variant name="MouseDragged" summary="mouse-dragged events"/>
<variant name="MousePressed" summary="mouse-pressed events"/>
<variant name="MouseReleased" summary="mouse-released events"/>
<variant name="MouseWheel" summary="mouse-wheel events"/>
<variant name="TouchMoved" summary="touch-moved events"/>
<variant name="TouchPressed" summary="touch-pressed events"/>
<variant name="TouchReleased" summary="touch-released events"/>
</token>
</histogram>
<histogram name="EventLatency.{PinchEventType}.{PinchInputType}.TotalLatency"
units="microseconds" expires_after="2023-01-16">
<owner>mohsen@chromium.org</owner>
<owner>graphics-dev@chromium.org</owner>
<summary>
Tracks total latency of {PinchInputType} {PinchEventType}, from when the
user input causing the event is performed until the frame caused by the
event is submitted by the GPU service and presented successfully on the
screen.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
<token key="PinchEventType">
<variant name="GesturePinchBegin" summary="gesture-pinch-begin events"/>
<variant name="GesturePinchEnd" summary="gesture-pinch-end events"/>
<variant name="GesturePinchUpdate"
summary="gesture-pinch-update events in a scroll sequence"/>
</token>
<token key="PinchInputType">
<variant name="Touchpad" summary="touchpad"/>
<variant name="Touchscreen" summary="touchscreen"/>
</token>
</histogram>
</histograms>
</histogram-configuration>