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

Side by Side Diff: components/navigation_metrics/navigation_metrics.cc

Issue 1167403002: Add blob scheme in Navigation Histograms (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Documented that the scheme enum is append only Created 5 years, 6 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
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "components/navigation_metrics/navigation_metrics.h" 5 #include "components/navigation_metrics/navigation_metrics.h"
6 6
7 #include "base/metrics/histogram.h" 7 #include "base/metrics/histogram.h"
8 #include "url/gurl.h" 8 #include "url/gurl.h"
9 9
10 namespace { 10 namespace {
11 11
12 // This enum is used in building the histogram. So, this is append only,
13 // any new scheme should be added at the end, before SCHEME_MAX
12 enum Scheme { 14 enum Scheme {
13 SCHEME_UNKNOWN, 15 SCHEME_UNKNOWN,
14 SCHEME_HTTP, 16 SCHEME_HTTP,
15 SCHEME_HTTPS, 17 SCHEME_HTTPS,
16 SCHEME_FILE, 18 SCHEME_FILE,
17 SCHEME_FTP, 19 SCHEME_FTP,
18 SCHEME_DATA, 20 SCHEME_DATA,
19 SCHEME_JAVASCRIPT, 21 SCHEME_JAVASCRIPT,
20 SCHEME_ABOUT, 22 SCHEME_ABOUT,
21 SCHEME_CHROME, 23 SCHEME_CHROME,
24 SCHEME_BLOB,
22 SCHEME_MAX, 25 SCHEME_MAX,
23 }; 26 };
24 27
25 const char* const kSchemeNames[] = { 28 const char* const kSchemeNames[] = {
26 "unknown", 29 "unknown",
27 url::kHttpScheme, 30 url::kHttpScheme,
28 url::kHttpsScheme, 31 url::kHttpsScheme,
29 url::kFileScheme, 32 url::kFileScheme,
30 url::kFtpScheme, 33 url::kFtpScheme,
31 url::kDataScheme, 34 url::kDataScheme,
32 url::kJavaScriptScheme, 35 url::kJavaScriptScheme,
33 url::kAboutScheme, 36 url::kAboutScheme,
34 "chrome", 37 "chrome",
38 url::kBlobScheme,
35 "max", 39 "max",
36 }; 40 };
37 41
38 static_assert(arraysize(kSchemeNames) == SCHEME_MAX + 1, 42 static_assert(arraysize(kSchemeNames) == SCHEME_MAX + 1,
39 "kSchemeNames should have SCHEME_MAX + 1 elements"); 43 "kSchemeNames should have SCHEME_MAX + 1 elements");
40 44
41 } // namespace 45 } // namespace
42 46
43 namespace navigation_metrics { 47 namespace navigation_metrics {
44 48
45 void RecordMainFrameNavigation(const GURL& url, bool is_in_page) { 49 void RecordMainFrameNavigation(const GURL& url, bool is_in_page) {
46 Scheme scheme = SCHEME_UNKNOWN; 50 Scheme scheme = SCHEME_UNKNOWN;
47 for (int i = 1; i < SCHEME_MAX; ++i) { 51 for (int i = 1; i < SCHEME_MAX; ++i) {
48 if (url.SchemeIs(kSchemeNames[i])) { 52 if (url.SchemeIs(kSchemeNames[i])) {
49 scheme = static_cast<Scheme>(i); 53 scheme = static_cast<Scheme>(i);
50 break; 54 break;
51 } 55 }
52 } 56 }
53 UMA_HISTOGRAM_ENUMERATION("Navigation.MainFrameScheme", scheme, SCHEME_MAX); 57 UMA_HISTOGRAM_ENUMERATION("Navigation.MainFrameScheme", scheme, SCHEME_MAX);
54 if (!is_in_page) { 58 if (!is_in_page) {
55 UMA_HISTOGRAM_ENUMERATION( 59 UMA_HISTOGRAM_ENUMERATION(
56 "Navigation.MainFrameSchemeDifferentPage", scheme, SCHEME_MAX); 60 "Navigation.MainFrameSchemeDifferentPage", scheme, SCHEME_MAX);
57 } 61 }
58 } 62 }
59 63
60 } // namespace navigation_metrics 64 } // namespace navigation_metrics
OLDNEW
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698