Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(438)

Side by Side Diff: content/browser/service_worker/service_worker_metrics.cc

Issue 2250623003: Keep ServiceWorkerMetrics::Site in ServiceWorkerVersion (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 base::HistogramBase::kUmaTargetedHistogramFlag); 137 base::HistogramBase::kUmaTargetedHistogramFlag);
138 histogram_pointer->Add(status); 138 histogram_pointer->Add(status);
139 } 139 }
140 140
141 void RecordURLMetricOnUI(const GURL& url) { 141 void RecordURLMetricOnUI(const GURL& url) {
142 DCHECK_CURRENTLY_ON(BrowserThread::UI); 142 DCHECK_CURRENTLY_ON(BrowserThread::UI);
143 GetContentClient()->browser()->RecordURLMetric( 143 GetContentClient()->browser()->RecordURLMetric(
144 "ServiceWorker.ControlledPageUrl", url); 144 "ServiceWorker.ControlledPageUrl", url);
145 } 145 }
146 146
147 ServiceWorkerMetrics::Site SiteFromURL(const GURL& gurl) {
148 // UIThreadSearchTermsData::GoogleBaseURLValue() returns the google base
149 // URL, but not available in content layer.
150 static const char google_like_scope_prefix[] = "https://www.google.";
151 static const char ntp_scope_path[] = "/_/chrome/";
152 if (base::StartsWith(gurl.spec(), google_like_scope_prefix,
153 base::CompareCase::INSENSITIVE_ASCII) &&
154 base::StartsWith(gurl.path(), ntp_scope_path,
155 base::CompareCase::SENSITIVE)) {
156 return ServiceWorkerMetrics::Site::NEW_TAB_PAGE;
157 }
158
159 return ServiceWorkerMetrics::Site::OTHER;
160 }
161
162 enum EventHandledRatioType { 147 enum EventHandledRatioType {
163 EVENT_HANDLED_NONE, 148 EVENT_HANDLED_NONE,
164 EVENT_HANDLED_SOME, 149 EVENT_HANDLED_SOME,
165 EVENT_HANDLED_ALL, 150 EVENT_HANDLED_ALL,
166 NUM_EVENT_HANDLED_RATIO_TYPE, 151 NUM_EVENT_HANDLED_RATIO_TYPE,
167 }; 152 };
168 153
169 } // namespace 154 } // namespace
170 155
171 const char* ServiceWorkerMetrics::EventTypeToString(EventType event_type) { 156 const char* ServiceWorkerMetrics::EventTypeToString(EventType event_type) {
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 return "Navigation Hint Link Tap Unconfirmed"; 191 return "Navigation Hint Link Tap Unconfirmed";
207 case EventType::NAVIGATION_HINT_LINK_TAP_DOWN: 192 case EventType::NAVIGATION_HINT_LINK_TAP_DOWN:
208 return "Navigation Hint Link Tap Down"; 193 return "Navigation Hint Link Tap Down";
209 case EventType::NUM_TYPES: 194 case EventType::NUM_TYPES:
210 break; 195 break;
211 } 196 }
212 NOTREACHED() << "Got unexpected event type: " << static_cast<int>(event_type); 197 NOTREACHED() << "Got unexpected event type: " << static_cast<int>(event_type);
213 return "error"; 198 return "error";
214 } 199 }
215 200
201 ServiceWorkerMetrics::Site ServiceWorkerMetrics::SiteFromURL(const GURL& url) {
202 // UIThreadSearchTermsData::GoogleBaseURLValue() returns the google base
203 // URL, but not available in content layer.
204 static const char google_like_scope_prefix[] = "https://www.google.";
205 static const char ntp_scope_path[] = "/_/chrome/";
206 if (base::StartsWith(url.spec(), google_like_scope_prefix,
207 base::CompareCase::INSENSITIVE_ASCII) &&
208 base::StartsWith(url.path(), ntp_scope_path,
209 base::CompareCase::SENSITIVE)) {
210 return ServiceWorkerMetrics::Site::NEW_TAB_PAGE;
211 }
212
213 return ServiceWorkerMetrics::Site::OTHER;
214 }
215
216 bool ServiceWorkerMetrics::IsNavigationHintEvent(EventType event_type) { 216 bool ServiceWorkerMetrics::IsNavigationHintEvent(EventType event_type) {
217 return event_type == EventType::NAVIGATION_HINT_LINK_MOUSE_DOWN || 217 return event_type == EventType::NAVIGATION_HINT_LINK_MOUSE_DOWN ||
218 event_type == EventType::NAVIGATION_HINT_LINK_TAP_UNCONFIRMED || 218 event_type == EventType::NAVIGATION_HINT_LINK_TAP_UNCONFIRMED ||
219 event_type == EventType::NAVIGATION_HINT_LINK_TAP_DOWN; 219 event_type == EventType::NAVIGATION_HINT_LINK_TAP_DOWN;
220 } 220 }
221 221
222 bool ServiceWorkerMetrics::ShouldExcludeSiteFromHistogram(Site site) { 222 bool ServiceWorkerMetrics::ShouldExcludeSiteFromHistogram(Site site) {
223 return site == ServiceWorkerMetrics::Site::NEW_TAB_PAGE; 223 return site == ServiceWorkerMetrics::Site::NEW_TAB_PAGE;
224 } 224 }
225 225
226 bool ServiceWorkerMetrics::ShouldExcludeURLFromHistogram(const GURL& url) {
227 return ShouldExcludeSiteFromHistogram(SiteFromURL(url));
228 }
229
230 void ServiceWorkerMetrics::CountInitDiskCacheResult(bool result) { 226 void ServiceWorkerMetrics::CountInitDiskCacheResult(bool result) {
231 UMA_HISTOGRAM_BOOLEAN("ServiceWorker.DiskCache.InitResult", result); 227 UMA_HISTOGRAM_BOOLEAN("ServiceWorker.DiskCache.InitResult", result);
232 } 228 }
233 229
234 void ServiceWorkerMetrics::CountReadResponseResult( 230 void ServiceWorkerMetrics::CountReadResponseResult(
235 ServiceWorkerMetrics::ReadResponseResult result) { 231 ServiceWorkerMetrics::ReadResponseResult result) {
236 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.DiskCache.ReadResponseResult", 232 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.DiskCache.ReadResponseResult",
237 result, NUM_READ_RESPONSE_RESULT_TYPES); 233 result, NUM_READ_RESPONSE_RESULT_TYPES);
238 } 234 }
239 235
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 UMA_HISTOGRAM_SPARSE_SLOWLY("ServiceWorker.Storage.PurgeResourceResult", 267 UMA_HISTOGRAM_SPARSE_SLOWLY("ServiceWorker.Storage.PurgeResourceResult",
272 std::abs(net_error)); 268 std::abs(net_error));
273 } 269 }
274 270
275 void ServiceWorkerMetrics::RecordDeleteAndStartOverResult( 271 void ServiceWorkerMetrics::RecordDeleteAndStartOverResult(
276 DeleteAndStartOverResult result) { 272 DeleteAndStartOverResult result) {
277 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.Storage.DeleteAndStartOverResult", 273 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.Storage.DeleteAndStartOverResult",
278 result, NUM_DELETE_AND_START_OVER_RESULT_TYPES); 274 result, NUM_DELETE_AND_START_OVER_RESULT_TYPES);
279 } 275 }
280 276
281 void ServiceWorkerMetrics::CountControlledPageLoad(const GURL& url, 277 void ServiceWorkerMetrics::CountControlledPageLoad(Site site,
282 bool has_fetch_handler, 278 const GURL& url,
283 bool is_main_frame_load) { 279 bool is_main_frame_load) {
284 Site site = SiteFromURL(url); 280 DCHECK_NE(site, Site::OTHER);
285 if (site == Site::OTHER) {
286 site = (has_fetch_handler) ? Site::WITH_FETCH_HANDLER
287 : Site::WITHOUT_FETCH_HANDLER;
288 }
289 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.PageLoad", static_cast<int>(site), 281 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.PageLoad", static_cast<int>(site),
290 static_cast<int>(Site::NUM_TYPES)); 282 static_cast<int>(Site::NUM_TYPES));
291 if (is_main_frame_load) { 283 if (is_main_frame_load) {
292 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.MainFramePageLoad", 284 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.MainFramePageLoad",
293 static_cast<int>(site), 285 static_cast<int>(site),
294 static_cast<int>(Site::NUM_TYPES)); 286 static_cast<int>(Site::NUM_TYPES));
295 } 287 }
296 288
297 if (ShouldExcludeSiteFromHistogram(site)) 289 if (ShouldExcludeSiteFromHistogram(site))
298 return; 290 return;
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 } else if (failure_count == 2) { 680 } else if (failure_count == 2) {
689 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_2", 681 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_2",
690 status, SERVICE_WORKER_ERROR_MAX_VALUE); 682 status, SERVICE_WORKER_ERROR_MAX_VALUE);
691 } else if (failure_count == 3) { 683 } else if (failure_count == 3) {
692 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_3", 684 UMA_HISTOGRAM_ENUMERATION("ServiceWorker.StartWorker.AfterFailureStreak_3",
693 status, SERVICE_WORKER_ERROR_MAX_VALUE); 685 status, SERVICE_WORKER_ERROR_MAX_VALUE);
694 } 686 }
695 } 687 }
696 688
697 } // namespace content 689 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698