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 "base/metrics/histogram_macros.h" | 7 #include "base/metrics/histogram_macros.h" |
8 #include "base/metrics/sparse_histogram.h" | 8 #include "base/metrics/sparse_histogram.h" |
9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
10 #include "content/common/service_worker/service_worker_types.h" | 10 #include "content/common/service_worker/service_worker_types.h" |
(...skipping 26 matching lines...) Expand all Loading... | |
37 return ServiceWorkerMetrics::Site::OTHER; | 37 return ServiceWorkerMetrics::Site::OTHER; |
38 } | 38 } |
39 | 39 |
40 enum EventHandledRatioType { | 40 enum EventHandledRatioType { |
41 EVENT_HANDLED_NONE, | 41 EVENT_HANDLED_NONE, |
42 EVENT_HANDLED_SOME, | 42 EVENT_HANDLED_SOME, |
43 EVENT_HANDLED_ALL, | 43 EVENT_HANDLED_ALL, |
44 NUM_EVENT_HANDLED_RATIO_TYPE, | 44 NUM_EVENT_HANDLED_RATIO_TYPE, |
45 }; | 45 }; |
46 | 46 |
47 const char* const kEventTypeNames[] = {"Activate", | |
48 "Install", | |
49 "Fetch", | |
50 "Sync", | |
51 "Notification Click", | |
52 "Push", | |
53 "Geofencing", | |
54 "Service Port Connect", | |
55 "Message"}; | |
56 | |
57 static_assert(arraysize(kEventTypeNames) == | |
58 static_cast<int>(ServiceWorkerMetrics::EventType::NUM_TYPES), | |
59 "Names should match event types"); | |
60 | |
47 } // namespace | 61 } // namespace |
48 | 62 |
63 const char* ServiceWorkerMetrics::EventTypeToString(EventType event_type) { | |
64 size_t event_type_as_int = static_cast<size_t>(event_type); | |
65 DCHECK(event_type_as_int < arraysize(kEventTypeNames)); | |
66 return kEventTypeNames[event_type_as_int]; | |
nhiroki
2016/01/25 03:50:23
switch-case could be more self-contained. That can
Marijn Kruisselbrink
2016/01/25 19:17:29
Done
| |
67 } | |
68 | |
49 bool ServiceWorkerMetrics::ShouldExcludeSiteFromHistogram(Site site) { | 69 bool ServiceWorkerMetrics::ShouldExcludeSiteFromHistogram(Site site) { |
50 return site == ServiceWorkerMetrics::Site::NEW_TAB_PAGE; | 70 return site == ServiceWorkerMetrics::Site::NEW_TAB_PAGE; |
51 } | 71 } |
52 | 72 |
53 bool ServiceWorkerMetrics::ShouldExcludeURLFromHistogram(const GURL& url) { | 73 bool ServiceWorkerMetrics::ShouldExcludeURLFromHistogram(const GURL& url) { |
54 return ShouldExcludeSiteFromHistogram(SiteFromURL(url)); | 74 return ShouldExcludeSiteFromHistogram(SiteFromURL(url)); |
55 } | 75 } |
56 | 76 |
57 void ServiceWorkerMetrics::CountInitDiskCacheResult(bool result) { | 77 void ServiceWorkerMetrics::CountInitDiskCacheResult(bool result) { |
58 UMA_HISTOGRAM_BOOLEAN("ServiceWorker.DiskCache.InitResult", result); | 78 UMA_HISTOGRAM_BOOLEAN("ServiceWorker.DiskCache.InitResult", result); |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
276 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.URLRequestJob.FallbackedRequestMode", | 296 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.URLRequestJob.FallbackedRequestMode", |
277 mode, FETCH_REQUEST_MODE_LAST + 1); | 297 mode, FETCH_REQUEST_MODE_LAST + 1); |
278 } | 298 } |
279 | 299 |
280 void ServiceWorkerMetrics::RecordTimeBetweenEvents( | 300 void ServiceWorkerMetrics::RecordTimeBetweenEvents( |
281 const base::TimeDelta& time) { | 301 const base::TimeDelta& time) { |
282 UMA_HISTOGRAM_MEDIUM_TIMES("ServiceWorker.TimeBetweenEvents", time); | 302 UMA_HISTOGRAM_MEDIUM_TIMES("ServiceWorker.TimeBetweenEvents", time); |
283 } | 303 } |
284 | 304 |
285 } // namespace content | 305 } // namespace content |
OLD | NEW |