OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |