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

Side by Side Diff: chrome/browser/prerender/prerender_histograms.cc

Issue 10933065: Separate same domain and cross domain <link rel=...> prerenders for reporting. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: ... rebase on top of larger histogram fixes Created 8 years, 2 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/prerender/prerender_histograms.h" 5 #include "chrome/browser/prerender/prerender_histograms.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/format_macros.h" 9 #include "base/format_macros.h"
10 #include "base/metrics/field_trial.h" 10 #include "base/metrics/field_trial.h"
(...skipping 28 matching lines...) Expand all
39 return ComposeHistogramName("exp" + std::string(1, experiment_id + '0'), 39 return ComposeHistogramName("exp" + std::string(1, experiment_id + '0'),
40 name); 40 name);
41 } 41 }
42 42
43 if (experiment_id != kNoExperiment) 43 if (experiment_id != kNoExperiment)
44 return ComposeHistogramName("wash", name); 44 return ComposeHistogramName("wash", name);
45 45
46 switch (origin) { 46 switch (origin) {
47 case ORIGIN_OMNIBOX: 47 case ORIGIN_OMNIBOX:
48 return ComposeHistogramName("omnibox", name); 48 return ComposeHistogramName("omnibox", name);
49 case ORIGIN_LINK_REL_PRERENDER: 49 case ORIGIN_LINK_REL_PRERENDER_SAMEDOMAIN:
50 return ComposeHistogramName("web", name); 50 return ComposeHistogramName("websame", name);
51 case ORIGIN_LINK_REL_PRERENDER_CROSSDOMAIN:
52 return ComposeHistogramName("webcross", name);
51 case ORIGIN_LOCAL_PREDICTOR: 53 case ORIGIN_LOCAL_PREDICTOR:
52 return ComposeHistogramName("local", name); 54 return ComposeHistogramName("local", name);
53 case ORIGIN_NONE: 55 case ORIGIN_NONE:
54 return ComposeHistogramName("none", name); 56 return ComposeHistogramName("none", name);
55 case ORIGIN_GWS_PRERENDER: // Handled above. 57 case ORIGIN_GWS_PRERENDER: // Handled above.
56 default: 58 default:
57 NOTREACHED(); 59 NOTREACHED();
58 break; 60 break;
59 }; 61 };
60 62
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 std::string name = GetHistogramName(origin, experiment, wash, \ 96 std::string name = GetHistogramName(origin, experiment, wash, \
95 histogram_name); \ 97 histogram_name); \
96 static uint8 recording_experiment = kNoExperiment; \ 98 static uint8 recording_experiment = kNoExperiment; \
97 if (recording_experiment == kNoExperiment && experiment != kNoExperiment) \ 99 if (recording_experiment == kNoExperiment && experiment != kNoExperiment) \
98 recording_experiment = experiment; \ 100 recording_experiment = experiment; \
99 if (wash) { \ 101 if (wash) { \
100 HISTOGRAM; \ 102 HISTOGRAM; \
101 } else if (experiment != kNoExperiment && \ 103 } else if (experiment != kNoExperiment && \
102 (origin != ORIGIN_GWS_PRERENDER || \ 104 (origin != ORIGIN_GWS_PRERENDER || \
103 experiment != recording_experiment)) { \ 105 experiment != recording_experiment)) { \
104 } else if (origin == ORIGIN_LINK_REL_PRERENDER) { \ 106 } else if (origin == ORIGIN_OMNIBOX) { \
105 HISTOGRAM; \ 107 HISTOGRAM; \
106 } else if (origin == ORIGIN_OMNIBOX) { \ 108 } else if (origin == ORIGIN_LINK_REL_PRERENDER_SAMEDOMAIN) { \
109 HISTOGRAM; \
110 } else if (origin == ORIGIN_LINK_REL_PRERENDER_CROSSDOMAIN) { \
107 HISTOGRAM; \ 111 HISTOGRAM; \
108 } else if (experiment != kNoExperiment) { \ 112 } else if (experiment != kNoExperiment) { \
109 HISTOGRAM; \ 113 HISTOGRAM; \
110 } else { \ 114 } else { \
111 HISTOGRAM; \ 115 HISTOGRAM; \
112 } \ 116 } \
113 } 117 }
114 118
115 PrerenderHistograms::PrerenderHistograms(base::TimeDelta prerender_ttl) 119 PrerenderHistograms::PrerenderHistograms(base::TimeDelta prerender_ttl)
116 : last_experiment_id_(kNoExperiment), 120 : last_experiment_id_(kNoExperiment),
117 last_origin_(ORIGIN_LINK_REL_PRERENDER), 121 last_origin_(ORIGIN_LINK_REL_PRERENDER_CROSSDOMAIN),
118 origin_experiment_wash_(false), 122 origin_experiment_wash_(false),
119 prerender_ttl_(prerender_ttl), 123 prerender_ttl_(prerender_ttl),
120 seen_any_pageload_(true), 124 seen_any_pageload_(true),
121 seen_pageload_started_after_prerender_(true) { 125 seen_pageload_started_after_prerender_(true) {
122 } 126 }
123 127
124 void PrerenderHistograms::RecordPrerender(Origin origin, const GURL& url) { 128 void PrerenderHistograms::RecordPrerender(Origin origin, const GURL& url) {
125 // Check if we are doing an experiment. 129 // Check if we are doing an experiment.
126 uint8 experiment = GetQueryStringBasedExperiment(url); 130 uint8 experiment = GetQueryStringBasedExperiment(url);
127 131
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 "LocalPredictorTimeUntilUsed", origin, 428 "LocalPredictorTimeUntilUsed", origin,
425 UMA_HISTOGRAM_CUSTOM_TIMES( 429 UMA_HISTOGRAM_CUSTOM_TIMES(
426 name, 430 name,
427 time_until_used, 431 time_until_used,
428 base::TimeDelta::FromMilliseconds(10), 432 base::TimeDelta::FromMilliseconds(10),
429 max_age, 433 max_age,
430 50)); 434 50));
431 } 435 }
432 436
433 } // namespace prerender 437 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698