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

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

Issue 2000063005: [WIP] Speculatively launch Service Workers on mouse/touch events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 5095b53b9877f5d8cb2e2fb7e6f63995efc3db61..d4bc6e94488bddc455d201a927bb72e2397a577a 100644
--- a/content/browser/service_worker/service_worker_metrics.cc
+++ b/content/browser/service_worker/service_worker_metrics.cc
@@ -66,6 +66,12 @@ std::string EventTypeToSuffix(ServiceWorkerMetrics::EventType event_type) {
return "_UNKNOWN";
case ServiceWorkerMetrics::EventType::FOREIGN_FETCH:
return "_FOREIGN_FETCH";
+ case ServiceWorkerMetrics::EventType::NAVIGATION_HINT_LINK_MOUSE_DOWN:
+ return "_NAVIGATION_HINT_LINK_MOUSE_DOWN";
+ case ServiceWorkerMetrics::EventType::NAVIGATION_HINT_LINK_TAP_UNCONFIRMED:
+ return "_NAVIGATION_HINT_LINK_TAP_UNCONFIRMED";
+ case ServiceWorkerMetrics::EventType::NAVIGATION_HINT_LINK_TAP_DOWN:
+ return "_NAVIGATION_HINT_LINK_TAP_DOWN";
case ServiceWorkerMetrics::EventType::NUM_TYPES:
NOTREACHED() << static_cast<int>(event_type);
}
@@ -158,6 +164,12 @@ const char* ServiceWorkerMetrics::EventTypeToString(EventType event_type) {
return "Unknown";
case EventType::FOREIGN_FETCH:
return "Foreign Fetch";
+ case EventType::NAVIGATION_HINT_LINK_MOUSE_DOWN:
+ return "Navigation Hint Link Mouse Down";
+ case EventType::NAVIGATION_HINT_LINK_TAP_UNCONFIRMED:
+ return "Navigation Hint Link Tap Unconfiemed";
+ case EventType::NAVIGATION_HINT_LINK_TAP_DOWN:
+ return "Navigation Hint Link Tap Down";
case EventType::NUM_TYPES:
break;
}
@@ -165,6 +177,12 @@ const char* ServiceWorkerMetrics::EventTypeToString(EventType event_type) {
return "error";
}
+bool ServiceWorkerMetrics::IsNavigationHintEvent(EventType event_type) {
+ return event_type == EventType::NAVIGATION_HINT_LINK_MOUSE_DOWN ||
+ event_type == EventType::NAVIGATION_HINT_LINK_TAP_UNCONFIRMED ||
+ event_type == EventType::NAVIGATION_HINT_LINK_TAP_DOWN;
+}
+
bool ServiceWorkerMetrics::ShouldExcludeSiteFromHistogram(Site site) {
return site == ServiceWorkerMetrics::Site::NEW_TAB_PAGE;
}
@@ -349,6 +367,30 @@ void ServiceWorkerMetrics::RecordEventHandledRatio(EventType event,
}
}
+void ServiceWorkerMetrics::RecordNavigationHintPrecision(
+ EventType start_worker_purpose,
+ bool event_fired) {
+ UMA_HISTOGRAM_BOOLEAN("ServiceWorker.NavigationHintPrecision", event_fired);
+ switch (start_worker_purpose) {
+ case EventType::NAVIGATION_HINT_LINK_MOUSE_DOWN:
+ UMA_HISTOGRAM_BOOLEAN(
+ "ServiceWorker.NavigationHintPrecision.LINK_MOUSE_DOWN", event_fired);
+ break;
+ case EventType::NAVIGATION_HINT_LINK_TAP_UNCONFIRMED:
+ UMA_HISTOGRAM_BOOLEAN(
+ "ServiceWorker.NavigationHintPrecision.LINK_TAP_UNCONFIRMED",
+ event_fired);
+ break;
+ case EventType::NAVIGATION_HINT_LINK_TAP_DOWN:
+ UMA_HISTOGRAM_BOOLEAN(
+ "ServiceWorker.NavigationHintPrecision.LINK_TAP_DOWN", event_fired);
+ break;
+ default:
+ // Do nothing.
+ break;
+ }
+}
+
void ServiceWorkerMetrics::RecordEventTimeout(EventType event) {
UMA_HISTOGRAM_ENUMERATION("ServiceWorker.RequestTimeouts.Count",
static_cast<int>(event),
@@ -405,6 +447,10 @@ void ServiceWorkerMetrics::RecordEventDuration(EventType event,
UMA_HISTOGRAM_MEDIUM_TIMES("ServiceWorker.ExtendableMessageEvent.Time",
time);
break;
+ // Those navigation hints should not be sent as request events.
+ case EventType::NAVIGATION_HINT_LINK_MOUSE_DOWN:
+ case EventType::NAVIGATION_HINT_LINK_TAP_UNCONFIRMED:
+ case EventType::NAVIGATION_HINT_LINK_TAP_DOWN:
case EventType::UNKNOWN:
case EventType::NUM_TYPES:
« no previous file with comments | « content/browser/service_worker/service_worker_metrics.h ('k') | content/browser/service_worker/service_worker_version.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698