We implemented first input delay in chrome. We should implement the worst input delay, and also report a histogram of all input delay. This will help us understand how they're correlated with each other, and how they're correlated with TTI.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4fd0b876e418f44398ae6543a30efc5d00c79f06 commit 4fd0b876e418f44398ae6543a30efc5d00c79f06 Author: Deepanjan Roy <dproy@chromium.org> Date: Mon Jul 02 10:34:46 2018 Add Longest Input Delay UMA and UKM Delay of an input event is defined as the duration between the hardware timestamp and the start of event processing on the main thread. We report this event once per navigation, and take into account input delays observed in subframes, including OOPIFs. We do not take an input event into account if the page was backgrounded while the input event was queued. Additionally, for UKM, we currently do not take input events into account after the page was first backgrounded, but fixing this requires invasive changes to ukm_page_load_metrics_observer, and will be done in a subsequent CL. UKM Privacy Review: http://bit.ly/input-delay-ukm-privacy Bug: 822412 Change-Id: I1a823a48a1e8d8797ca4ecaa1e19e66c59bf4a2c Reviewed-on: https://chromium-review.googlesource.com/1084058 Commit-Queue: Deepanjan Roy <dproy@chromium.org> Reviewed-by: Mike West <mkwst@chromium.org> Reviewed-by: Robert Kaplow <rkaplow@chromium.org> Reviewed-by: Bryan McQuade <bmcquade@chromium.org> Reviewed-by: Timothy Dresser <tdresser@chromium.org> Cr-Commit-Position: refs/heads/master@{#571858} [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.h [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/chrome/browser/page_load_metrics/page_load_metrics_update_dispatcher.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/chrome/browser/page_load_metrics/page_load_metrics_update_dispatcher.h [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/chrome/common/page_load_metrics/page_load_metrics.mojom [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/chrome/common/page_load_metrics/page_load_timing.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/chrome/renderer/page_load_metrics/metrics_render_frame_observer.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/third_party/blink/public/web/web_performance.h [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/third_party/blink/renderer/core/dom/document.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/third_party/blink/renderer/core/exported/web_performance.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/third_party/blink/renderer/core/exported/web_view_test.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/third_party/blink/renderer/core/loader/interactive_detector.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/third_party/blink/renderer/core/loader/interactive_detector.h [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/third_party/blink/renderer/core/page/page_widget_delegate.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/third_party/blink/renderer/core/timing/performance_timing.cc [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/third_party/blink/renderer/core/timing/performance_timing.h [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/tools/metrics/histograms/enums.xml [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/tools/metrics/histograms/histograms.xml [modify] https://crrev.com/4fd0b876e418f44398ae6543a30efc5d00c79f06/tools/metrics/ukm/ukm.xml
As discussed with Tim, I'm gonna take ownership of the "all input delay" metric as my starter project on the CSM team and split it off into https://bugs.chromium.org/p/chromium/issues/detail?id=862389
Comment 1 by dproy@chromium.org
, Jun 2 2018