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 310e76e3d8a69cf6821c14c13f66bb4ec0810e69..aca38b992cbb47ccc9902e4dd28fab7141eba192 100644 |
--- a/content/browser/service_worker/service_worker_metrics.cc |
+++ b/content/browser/service_worker/service_worker_metrics.cc |
@@ -321,9 +321,12 @@ void ServiceWorkerMetrics::RecordDeleteAndStartOverResult( |
result, NUM_DELETE_AND_START_OVER_RESULT_TYPES); |
} |
-void ServiceWorkerMetrics::CountControlledPageLoad(Site site, |
- const GURL& url, |
- bool is_main_frame_load) { |
+void ServiceWorkerMetrics::CountControlledPageLoad( |
+ Site site, |
+ const GURL& url, |
+ bool is_main_frame_load, |
+ ui::PageTransition page_transition, |
+ size_t redirect_chain_length) { |
DCHECK_NE(site, Site::OTHER); |
UMA_HISTOGRAM_ENUMERATION("ServiceWorker.PageLoad", static_cast<int>(site), |
static_cast<int>(Site::NUM_TYPES)); |
@@ -332,9 +335,21 @@ void ServiceWorkerMetrics::CountControlledPageLoad(Site site, |
static_cast<int>(site), |
static_cast<int>(Site::NUM_TYPES)); |
} |
- |
if (ShouldExcludeSiteFromHistogram(site)) |
return; |
+ |
+ if (is_main_frame_load) { |
+ UMA_HISTOGRAM_ENUMERATION( |
+ "ServiceWorker.MainFramePageLoad.CoreTransition", |
+ static_cast<int>(ui::PageTransitionStripQualifier(page_transition)), |
+ static_cast<int>(ui::PAGE_TRANSITION_LAST_CORE) + 1); |
+ // Currently the max number of HTTP redirects is 20 which is defined as |
+ // kMaxRedirects in net/url_request/url_request.cc. So the max number of the |
+ // chain length is 21. |
+ UMA_HISTOGRAM_EXACT_LINEAR( |
+ "ServiceWorker.MainFramePageLoad.RedirectChainLength", |
+ redirect_chain_length, 21); |
+ } |
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
base::Bind(&RecordURLMetricOnUI, url)); |
} |