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

Unified Diff: content/browser/service_worker/service_worker_metrics.cc

Issue 2660423002: M57: service worker: Add UMA for navigation preload response timing. (Closed)
Patch Set: Created 3 years, 11 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/service_worker/service_worker_metrics.cc
diff --git a/content/browser/service_worker/service_worker_metrics.cc b/content/browser/service_worker/service_worker_metrics.cc
index 720d5f9fb00132242c46cb9c097534aefc55a306..363d219cf97210c1731f61bfe2838106e15c831c 100644
--- a/content/browser/service_worker/service_worker_metrics.cc
+++ b/content/browser/service_worker/service_worker_metrics.cc
@@ -837,6 +837,84 @@ void ServiceWorkerMetrics::RecordNavigationPreloadRequestHeaderSize(
size);
}
+void ServiceWorkerMetrics::RecordNavigationPreloadResponse(
+ base::TimeDelta worker_start,
+ base::TimeDelta response_start,
+ EmbeddedWorkerStatus initial_worker_status,
+ StartSituation start_situation) {
+ DCHECK_GE(worker_start.ToInternalValue(), 0);
+ DCHECK_GE(response_start.ToInternalValue(), 0);
+
+ UMA_HISTOGRAM_MEDIUM_TIMES("ServiceWorker.NavigationPreload.ResponseTime",
+ response_start);
+
+ const bool nav_preload_finished_first = response_start < worker_start;
+ UMA_HISTOGRAM_BOOLEAN(
+ "ServiceWorker.NavigationPreload.FinishedBeforeStartWorker",
+ nav_preload_finished_first);
+
+ const bool existing_process_startup =
+ (initial_worker_status == EmbeddedWorkerStatus::STOPPED &&
+ start_situation ==
+ ServiceWorkerMetrics::StartSituation::EXISTING_PROCESS);
+ if (existing_process_startup) {
+ UMA_HISTOGRAM_BOOLEAN(
+ "ServiceWorker.NavigationPreload.FinishedBeforeStartWorker"
+ "_StartWorkerExistingProcess",
+ nav_preload_finished_first);
+ }
+
+ UMA_HISTOGRAM_MEDIUM_TIMES(
+ "ServiceWorker.NavigationPreload.ConcurrentTime",
+ nav_preload_finished_first ? response_start : worker_start);
+
+ if (nav_preload_finished_first) {
+ UMA_HISTOGRAM_MEDIUM_TIMES(
+ "ServiceWorker.NavigationPreload.ConcurrentTime_NavPreloadFirst",
+ response_start);
+ UMA_HISTOGRAM_MEDIUM_TIMES(
+ "ServiceWorker.NavigationPreload.SWStartAfterNavPreload",
+ worker_start - response_start);
+
+ if (existing_process_startup) {
+ UMA_HISTOGRAM_MEDIUM_TIMES(
+ "ServiceWorker.NavigationPreload.ConcurrentTime_"
+ "StartWorkerExistingProcess",
+ response_start);
+ UMA_HISTOGRAM_MEDIUM_TIMES(
+ "ServiceWorker.NavigationPreload.ConcurrentTime_"
+ "NavPreloadFirst_StartWorkerExistingProcess",
+ response_start);
+ UMA_HISTOGRAM_MEDIUM_TIMES(
+ "ServiceWorker.NavigationPreload.SWStartAfterNavPreload_"
+ "StartWorkerExistingProcess",
+ worker_start - response_start);
+ }
+ } else {
+ UMA_HISTOGRAM_MEDIUM_TIMES(
+ "ServiceWorker.NavigationPreload.ConcurrentTime_SWStartFirst",
+ worker_start);
+ UMA_HISTOGRAM_MEDIUM_TIMES(
+ "ServiceWorker.NavigationPreload.NavPreloadAfterSWStart",
+ response_start - worker_start);
+
+ if (existing_process_startup) {
+ UMA_HISTOGRAM_MEDIUM_TIMES(
+ "ServiceWorker.NavigationPreload.ConcurrentTime_"
+ "StartWorkerExistingProcess",
+ worker_start);
+ UMA_HISTOGRAM_MEDIUM_TIMES(
+ "ServiceWorker.NavigationPreload.ConcurrentTime_"
+ "SWStartFirst_StartWorkerExistingProcess",
+ worker_start);
+ UMA_HISTOGRAM_MEDIUM_TIMES(
+ "ServiceWorker.NavigationPreload.NavPreloadAfterSWStart_"
+ "StartWorkerExistingProcess",
+ response_start - worker_start);
+ }
+ }
+}
+
void ServiceWorkerMetrics::RecordContextRequestHandlerStatus(
ServiceWorkerContextRequestHandler::CreateJobStatus status,
bool is_installed,

Powered by Google App Engine
This is Rietveld 408576698