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..a1ccedf0d7afb686a025455ddb88abc1f2ae6949 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,20 @@ 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)); |
falken
2016/12/06 01:25:14
should be LAST_CORE + 1?
horo
2016/12/06 01:44:51
Done.
|
+ // The max number of http redirects is 20. So the max number of the chain |
+ // length is 21. |
falken
2016/12/06 01:25:14
Could we make kMaxRedirects public and refer to it
horo
2016/12/06 01:44:51
Done.
|
+ UMA_HISTOGRAM_EXACT_LINEAR( |
+ "ServiceWorker.MainFramePageLoad.RedirectChainLength", |
+ redirect_chain_length, 21); |
+ } |
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
base::Bind(&RecordURLMetricOnUI, url)); |
} |