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

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

Issue 1795863006: service worker: Attribute purpose to start worker attempts for UMA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: patch for landing? Created 4 years, 9 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 3d0967bcb155c390faa22eb7e9e2cee778d8bb0f..2ee60c7d9c3606d5e0c901aa3aa3c733b47730d6 100644
--- a/content/browser/service_worker/service_worker_metrics.cc
+++ b/content/browser/service_worker/service_worker_metrics.cc
@@ -68,11 +68,21 @@ const char* ServiceWorkerMetrics::EventTypeToString(EventType event_type) {
return "Service Port Connect";
case EventType::MESSAGE:
return "Message";
+ case EventType::FETCH_MAIN_FRAME:
+ return "Fetch Main Frame";
+ case EventType::FETCH_SUB_FRAME:
+ return "Fetch Sub Frame";
+ case EventType::FETCH_SHARED_WORKER:
+ return "Fetch Shared Worker";
+ case EventType::FETCH_SUB_RESOURCE:
+ return "Fetch Subresource";
+ case EventType::UNKNOWN:
+ return "Unknown";
case EventType::NUM_TYPES:
break;
}
NOTREACHED() << "Got unexpected event type: " << static_cast<int>(event_type);
- return "Unknown";
+ return "error";
}
bool ServiceWorkerMetrics::ShouldExcludeSiteFromHistogram(Site site) {
@@ -147,10 +157,19 @@ void ServiceWorkerMetrics::CountControlledPageLoad(const GURL& url) {
void ServiceWorkerMetrics::RecordStartWorkerStatus(
ServiceWorkerStatusCode status,
+ EventType purpose,
bool is_installed) {
if (is_installed) {
UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.Status", status,
SERVICE_WORKER_ERROR_MAX_VALUE);
+ UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.Purpose",
+ static_cast<int>(purpose),
+ static_cast<int>(EventType::NUM_TYPES));
+ if (status == SERVICE_WORKER_ERROR_TIMEOUT) {
+ UMA_HISTOGRAM_ENUMERATION(
+ "ServiceWorker.StartWorker.Timeout.StartPurpose",
+ static_cast<int>(purpose), static_cast<int>(EventType::NUM_TYPES));
+ }
} else {
UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartNewWorker.Status", status,
SERVICE_WORKER_ERROR_MAX_VALUE);
@@ -222,6 +241,10 @@ void ServiceWorkerMetrics::RecordEventDuration(EventType event,
UMA_HISTOGRAM_MEDIUM_TIMES("ServiceWorker.InstallEvent.Time", time);
break;
case EventType::FETCH:
+ case EventType::FETCH_MAIN_FRAME:
+ case EventType::FETCH_SUB_FRAME:
+ case EventType::FETCH_SHARED_WORKER:
+ case EventType::FETCH_SUB_RESOURCE:
if (was_handled) {
UMA_HISTOGRAM_MEDIUM_TIMES("ServiceWorker.FetchEvent.HasResponse.Time",
time);
@@ -255,6 +278,7 @@ void ServiceWorkerMetrics::RecordEventDuration(EventType event,
case EventType::SERVICE_PORT_CONNECT:
break;
+ case EventType::UNKNOWN:
case EventType::NUM_TYPES:
NOTREACHED() << "Invalid event type";
break;

Powered by Google App Engine
This is Rietveld 408576698