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

Unified Diff: content/browser/renderer_host/input/render_widget_host_latency_tracker.cc

Issue 2211783003: Track input latency while starting a ServiceWorker for a navigation hint. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add comment Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
diff --git a/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc b/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
index 2b572532e517242b8ee4f23fc17e4f98fe16515d..1c233f28c1d16ed7245e60305f17c34d6ce243ab 100644
--- a/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
+++ b/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
@@ -96,7 +96,8 @@ void ComputeScrollLatencyHistograms(
const LatencyInfo::LatencyComponent& gpu_swap_begin_component,
const LatencyInfo::LatencyComponent& gpu_swap_end_component,
int64_t latency_component_id,
- const LatencyInfo& latency) {
+ const LatencyInfo& latency,
+ bool is_running_navigation_hint_task) {
DCHECK(!latency.coalesced());
if (latency.coalesced())
return;
@@ -115,6 +116,17 @@ void ComputeScrollLatencyHistograms(
"Event.Latency.TouchToFirstScrollUpdateSwapBegin",
original_component, gpu_swap_begin_component);
}
+ // TODO(horo): IsRunningNavigationHintTask UMAs are only for
+ // SpeculativeLaunchServiceWorker experimentation. So remove this UMA when
+ // the experimentation finished (crbug.com/638827).
+ if (is_running_navigation_hint_task) {
+ for (size_t i = 0; i < original_component.event_count; i++) {
+ UMA_HISTOGRAM_TOUCH_TO_SCROLL_LATENCY(
+ "Event.Latency.TouchToFirstScrollUpdateSwapBegin_"
+ "IsRunningNavigationHintTask",
+ original_component, gpu_swap_begin_component);
+ }
+ }
} else if (!latency.FindLatency(
ui::INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT,
latency_component_id, &original_component)) {
@@ -128,6 +140,17 @@ void ComputeScrollLatencyHistograms(
"Event.Latency.TouchToScrollUpdateSwapBegin", original_component,
gpu_swap_begin_component);
}
+ // TODO(horo): IsRunningNavigationHintTask UMAs are only for
+ // SpeculativeLaunchServiceWorker experimentation. So remove this UMA when
+ // the experimentation finished (crbug.com/638827).
+ if (is_running_navigation_hint_task) {
+ for (size_t i = 0; i < original_component.event_count; i++) {
+ UMA_HISTOGRAM_TOUCH_TO_SCROLL_LATENCY(
+ "Event.Latency.TouchToScrollUpdateSwapBegin_"
+ "IsRunningNavigationHintTask",
+ original_component, gpu_swap_begin_component);
+ }
+ }
// TODO(miletus): Add validation for making sure the following components
// are present and their event times are legit.
@@ -531,7 +554,8 @@ void RenderWidgetHostLatencyTracker::OnSwapCompositorFrame(
}
void RenderWidgetHostLatencyTracker::OnFrameSwapped(
- const LatencyInfo& latency) {
+ const LatencyInfo& latency,
+ bool is_running_navigation_hint_task) {
// Don't report frame latency on wheel events. Previously they were only
// reported on touch metrics and we need to be consistent across reporting
// metrics.
@@ -572,7 +596,7 @@ void RenderWidgetHostLatencyTracker::OnFrameSwapped(
ComputeScrollLatencyHistograms(gpu_swap_begin_component,
gpu_swap_end_component, latency_component_id_,
- latency);
+ latency, is_running_navigation_hint_task);
}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698