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 frame_fetch_event_fired) { |
| 421 DCHECK(IsNavigationHintEvent(start_worker_purpose)); |
| 422 UMA_HISTOGRAM_BOOLEAN("ServiceWorker.NavigationHintPrecision", |
| 423 frame_fetch_event_fired); |
| 424 switch (start_worker_purpose) { |
| 425 case EventType::NAVIGATION_HINT_LINK_MOUSE_DOWN: |
| 426 UMA_HISTOGRAM_BOOLEAN( |
| 427 "ServiceWorker.NavigationHintPrecision.LINK_MOUSE_DOWN", |
| 428 frame_fetch_event_fired); |
| 429 break; |
| 430 case EventType::NAVIGATION_HINT_LINK_TAP_UNCONFIRMED: |
| 431 UMA_HISTOGRAM_BOOLEAN( |
| 432 "ServiceWorker.NavigationHintPrecision.LINK_TAP_UNCONFIRMED", |
| 433 frame_fetch_event_fired); |
| 434 break; |
| 435 case EventType::NAVIGATION_HINT_LINK_TAP_DOWN: |
| 436 UMA_HISTOGRAM_BOOLEAN( |
| 437 "ServiceWorker.NavigationHintPrecision.LINK_TAP_DOWN", |
| 438 frame_fetch_event_fired); |
| 439 break; |
| 440 default: |
| 441 NOTREACHED(); |
| 442 break; |
| 443 } |
| 444 } |
| 445 |
412 void ServiceWorkerMetrics::RecordEventTimeout(EventType event) { | 446 void ServiceWorkerMetrics::RecordEventTimeout(EventType event) { |
413 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.RequestTimeouts.Count", | 447 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.RequestTimeouts.Count", |
414 static_cast<int>(event), | 448 static_cast<int>(event), |
415 static_cast<int>(EventType::NUM_TYPES)); | 449 static_cast<int>(EventType::NUM_TYPES)); |
416 } | 450 } |
417 | 451 |
418 void ServiceWorkerMetrics::RecordEventDuration(EventType event, | 452 void ServiceWorkerMetrics::RecordEventDuration(EventType event, |
419 base::TimeDelta time, | 453 base::TimeDelta time, |
420 bool was_handled) { | 454 bool was_handled) { |
421 switch (event) { | 455 switch (event) { |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
641 } else if (failure_count == 2) { | 675 } else if (failure_count == 2) { |
642 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_2", | 676 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_2", |
643 status, SERVICE_WORKER_ERROR_MAX_VALUE); | 677 status, SERVICE_WORKER_ERROR_MAX_VALUE); |
644 } else if (failure_count == 3) { | 678 } else if (failure_count == 3) { |
645 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_3", | 679 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_3", |
646 status, SERVICE_WORKER_ERROR_MAX_VALUE); | 680 status, SERVICE_WORKER_ERROR_MAX_VALUE); |
647 } | 681 } |
648 } | 682 } |
649 | 683 |
650 } // namespace content | 684 } // namespace content |
OLD | NEW |