OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/service_worker/service_worker_metrics.h" | 5 #include "content/browser/service_worker/service_worker_metrics.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/metrics/histogram_macros.h" | 10 #include "base/metrics/histogram_macros.h" |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 UMA_HISTOGRAM_SPARSE_SLOWLY("ServiceWorker.Storage.PurgeResourceResult", | 314 UMA_HISTOGRAM_SPARSE_SLOWLY("ServiceWorker.Storage.PurgeResourceResult", |
315 std::abs(net_error)); | 315 std::abs(net_error)); |
316 } | 316 } |
317 | 317 |
318 void ServiceWorkerMetrics::RecordDeleteAndStartOverResult( | 318 void ServiceWorkerMetrics::RecordDeleteAndStartOverResult( |
319 DeleteAndStartOverResult result) { | 319 DeleteAndStartOverResult result) { |
320 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.Storage.DeleteAndStartOverResult", | 320 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.Storage.DeleteAndStartOverResult", |
321 result, NUM_DELETE_AND_START_OVER_RESULT_TYPES); | 321 result, NUM_DELETE_AND_START_OVER_RESULT_TYPES); |
322 } | 322 } |
323 | 323 |
324 void ServiceWorkerMetrics::CountControlledPageLoad(Site site, | 324 void ServiceWorkerMetrics::CountControlledPageLoad( |
325 const GURL& url, | 325 Site site, |
326 bool is_main_frame_load) { | 326 const GURL& url, |
| 327 bool is_main_frame_load, |
| 328 ui::PageTransition page_transition, |
| 329 size_t redirect_chain_length) { |
327 DCHECK_NE(site, Site::OTHER); | 330 DCHECK_NE(site, Site::OTHER); |
328 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.PageLoad", static_cast<int>(site), | 331 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.PageLoad", static_cast<int>(site), |
329 static_cast<int>(Site::NUM_TYPES)); | 332 static_cast<int>(Site::NUM_TYPES)); |
330 if (is_main_frame_load) { | 333 if (is_main_frame_load) { |
331 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.MainFramePageLoad", | 334 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.MainFramePageLoad", |
332 static_cast<int>(site), | 335 static_cast<int>(site), |
333 static_cast<int>(Site::NUM_TYPES)); | 336 static_cast<int>(Site::NUM_TYPES)); |
334 } | 337 } |
335 | |
336 if (ShouldExcludeSiteFromHistogram(site)) | 338 if (ShouldExcludeSiteFromHistogram(site)) |
337 return; | 339 return; |
| 340 |
| 341 if (is_main_frame_load) { |
| 342 UMA_HISTOGRAM_ENUMERATION( |
| 343 "ServiceWorker.MainFramePageLoad.CoreTransition", |
| 344 static_cast<int>(ui::PageTransitionStripQualifier(page_transition)), |
| 345 static_cast<int>(ui::PAGE_TRANSITION_LAST_CORE) + 1); |
| 346 // Currently the max number of HTTP redirects is 20 which is defined as |
| 347 // kMaxRedirects in net/url_request/url_request.cc. So the max number of the |
| 348 // chain length is 21. |
| 349 UMA_HISTOGRAM_EXACT_LINEAR( |
| 350 "ServiceWorker.MainFramePageLoad.RedirectChainLength", |
| 351 redirect_chain_length, 21); |
| 352 } |
338 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, | 353 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
339 base::Bind(&RecordURLMetricOnUI, url)); | 354 base::Bind(&RecordURLMetricOnUI, url)); |
340 } | 355 } |
341 | 356 |
342 void ServiceWorkerMetrics::RecordStartWorkerStatus( | 357 void ServiceWorkerMetrics::RecordStartWorkerStatus( |
343 ServiceWorkerStatusCode status, | 358 ServiceWorkerStatusCode status, |
344 EventType purpose, | 359 EventType purpose, |
345 bool is_installed) { | 360 bool is_installed) { |
346 if (!is_installed) { | 361 if (!is_installed) { |
347 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartNewWorker.Status", status, | 362 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartNewWorker.Status", status, |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
740 } else if (failure_count == 2) { | 755 } else if (failure_count == 2) { |
741 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_2", | 756 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_2", |
742 status, SERVICE_WORKER_ERROR_MAX_VALUE); | 757 status, SERVICE_WORKER_ERROR_MAX_VALUE); |
743 } else if (failure_count == 3) { | 758 } else if (failure_count == 3) { |
744 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_3", | 759 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_3", |
745 status, SERVICE_WORKER_ERROR_MAX_VALUE); | 760 status, SERVICE_WORKER_ERROR_MAX_VALUE); |
746 } | 761 } |
747 } | 762 } |
748 | 763 |
749 } // namespace content | 764 } // namespace content |
OLD | NEW |