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 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
206 return "Navigation Hint Link Tap Unconfirmed"; | 206 return "Navigation Hint Link Tap Unconfirmed"; |
207 case EventType::NAVIGATION_HINT_LINK_TAP_DOWN: | 207 case EventType::NAVIGATION_HINT_LINK_TAP_DOWN: |
208 return "Navigation Hint Link Tap Down"; | 208 return "Navigation Hint Link Tap Down"; |
209 case EventType::NUM_TYPES: | 209 case EventType::NUM_TYPES: |
210 break; | 210 break; |
211 } | 211 } |
212 NOTREACHED() << "Got unexpected event type: " << static_cast<int>(event_type); | 212 NOTREACHED() << "Got unexpected event type: " << static_cast<int>(event_type); |
213 return "error"; | 213 return "error"; |
214 } | 214 } |
215 | 215 |
216 bool ServiceWorkerMetrics::IsNavigationHintEvent(EventType event_type) { | |
217 return event_type == EventType::NAVIGATION_HINT_LINK_MOUSE_DOWN || | |
218 event_type == EventType::NAVIGATION_HINT_LINK_TAP_UNCONFIRMED || | |
219 event_type == EventType::NAVIGATION_HINT_LINK_TAP_DOWN; | |
220 } | |
221 | |
216 bool ServiceWorkerMetrics::ShouldExcludeSiteFromHistogram(Site site) { | 222 bool ServiceWorkerMetrics::ShouldExcludeSiteFromHistogram(Site site) { |
217 return site == ServiceWorkerMetrics::Site::NEW_TAB_PAGE; | 223 return site == ServiceWorkerMetrics::Site::NEW_TAB_PAGE; |
218 } | 224 } |
219 | 225 |
220 bool ServiceWorkerMetrics::ShouldExcludeURLFromHistogram(const GURL& url) { | 226 bool ServiceWorkerMetrics::ShouldExcludeURLFromHistogram(const GURL& url) { |
221 return ShouldExcludeSiteFromHistogram(SiteFromURL(url)); | 227 return ShouldExcludeSiteFromHistogram(SiteFromURL(url)); |
222 } | 228 } |
223 | 229 |
224 void ServiceWorkerMetrics::CountInitDiskCacheResult(bool result) { | 230 void ServiceWorkerMetrics::CountInitDiskCacheResult(bool result) { |
225 UMA_HISTOGRAM_BOOLEAN("ServiceWorker.DiskCache.InitResult", result); | 231 UMA_HISTOGRAM_BOOLEAN("ServiceWorker.DiskCache.InitResult", result); |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
402 UMA_HISTOGRAM_ENUMERATION( | 408 UMA_HISTOGRAM_ENUMERATION( |
403 "ServiceWorker.EventHandledRatioType.ForeignFetch", type, | 409 "ServiceWorker.EventHandledRatioType.ForeignFetch", type, |
404 NUM_EVENT_HANDLED_RATIO_TYPE); | 410 NUM_EVENT_HANDLED_RATIO_TYPE); |
405 break; | 411 break; |
406 default: | 412 default: |
407 // Do nothing. | 413 // Do nothing. |
408 break; | 414 break; |
409 } | 415 } |
410 } | 416 } |
411 | 417 |
418 void ServiceWorkerMetrics::RecordNavigationHintPrecision( | |
419 EventType start_worker_purpose, | |
420 bool event_fired) { | |
nhiroki
2016/07/28 05:38:36
DCHECK(IsNavigationHintEvent(start_worker_purpose)
horo
2016/07/28 08:15:48
Done.
| |
421 UMA_HISTOGRAM_BOOLEAN("ServiceWorker.NavigationHintPrecision", event_fired); | |
422 switch (start_worker_purpose) { | |
423 case EventType::NAVIGATION_HINT_LINK_MOUSE_DOWN: | |
424 UMA_HISTOGRAM_BOOLEAN( | |
425 "ServiceWorker.NavigationHintPrecision.LINK_MOUSE_DOWN", event_fired); | |
426 break; | |
427 case EventType::NAVIGATION_HINT_LINK_TAP_UNCONFIRMED: | |
428 UMA_HISTOGRAM_BOOLEAN( | |
429 "ServiceWorker.NavigationHintPrecision.LINK_TAP_UNCONFIRMED", | |
430 event_fired); | |
431 break; | |
432 case EventType::NAVIGATION_HINT_LINK_TAP_DOWN: | |
433 UMA_HISTOGRAM_BOOLEAN( | |
434 "ServiceWorker.NavigationHintPrecision.LINK_TAP_DOWN", event_fired); | |
435 break; | |
436 default: | |
437 // Do nothing. | |
nhiroki
2016/07/28 05:38:36
NOTREACHED()
horo
2016/07/28 08:15:48
Done.
| |
438 break; | |
439 } | |
440 } | |
441 | |
412 void ServiceWorkerMetrics::RecordEventTimeout(EventType event) { | 442 void ServiceWorkerMetrics::RecordEventTimeout(EventType event) { |
413 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.RequestTimeouts.Count", | 443 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.RequestTimeouts.Count", |
414 static_cast<int>(event), | 444 static_cast<int>(event), |
415 static_cast<int>(EventType::NUM_TYPES)); | 445 static_cast<int>(EventType::NUM_TYPES)); |
416 } | 446 } |
417 | 447 |
418 void ServiceWorkerMetrics::RecordEventDuration(EventType event, | 448 void ServiceWorkerMetrics::RecordEventDuration(EventType event, |
419 base::TimeDelta time, | 449 base::TimeDelta time, |
420 bool was_handled) { | 450 bool was_handled) { |
421 switch (event) { | 451 switch (event) { |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
641 } else if (failure_count == 2) { | 671 } else if (failure_count == 2) { |
642 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_2", | 672 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_2", |
643 status, SERVICE_WORKER_ERROR_MAX_VALUE); | 673 status, SERVICE_WORKER_ERROR_MAX_VALUE); |
644 } else if (failure_count == 3) { | 674 } else if (failure_count == 3) { |
645 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_3", | 675 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_3", |
646 status, SERVICE_WORKER_ERROR_MAX_VALUE); | 676 status, SERVICE_WORKER_ERROR_MAX_VALUE); |
647 } | 677 } |
648 } | 678 } |
649 | 679 |
650 } // namespace content | 680 } // namespace content |
OLD | NEW |