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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 return ComposeHistogramName("exp" + std::string(1, experiment_id + '0'), | 43 return ComposeHistogramName("exp" + std::string(1, experiment_id + '0'), |
44 name); | 44 name); |
45 } | 45 } |
46 | 46 |
47 if (experiment_id != kNoExperiment) | 47 if (experiment_id != kNoExperiment) |
48 return ComposeHistogramName("wash", name); | 48 return ComposeHistogramName("wash", name); |
49 | 49 |
50 switch (origin) { | 50 switch (origin) { |
51 case ORIGIN_OMNIBOX: | 51 case ORIGIN_OMNIBOX: |
52 return ComposeHistogramName("omnibox", name); | 52 return ComposeHistogramName("omnibox", name); |
53 case ORIGIN_LINK_REL_PRERENDER: | 53 case ORIGIN_LINK_REL_PRERENDER_SAMEDOMAIN: |
54 return ComposeHistogramName("web", name); | 54 return ComposeHistogramName("websame", name); |
| 55 case ORIGIN_LINK_REL_PRERENDER_CROSSDOMAIN: |
| 56 return ComposeHistogramName("webcross", 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 |
61 // Dummy return value to make the compiler happy. | 63 // Dummy return value to make the compiler happy. |
62 NOTREACHED(); | 64 NOTREACHED(); |
63 return ComposeHistogramName("wash", name); | 65 return ComposeHistogramName("wash", name); |
64 } | 66 } |
(...skipping 29 matching lines...) Expand all 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() | 119 PrerenderHistograms::PrerenderHistograms() |
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 seen_any_pageload_(true), | 123 seen_any_pageload_(true), |
120 seen_pageload_started_after_prerender_(true) { | 124 seen_pageload_started_after_prerender_(true) { |
121 } | 125 } |
122 | 126 |
123 void PrerenderHistograms::RecordPrerender(Origin origin, const GURL& url) { | 127 void PrerenderHistograms::RecordPrerender(Origin origin, const GURL& url) { |
124 // Check if we are doing an experiment. | 128 // Check if we are doing an experiment. |
125 uint8 experiment = GetQueryStringBasedExperiment(url); | 129 uint8 experiment = GetQueryStringBasedExperiment(url); |
126 | 130 |
127 // We need to update last_experiment_id_, last_origin_, and | 131 // We need to update last_experiment_id_, last_origin_, and |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
384 } | 388 } |
385 | 389 |
386 uint8 PrerenderHistograms::GetCurrentExperimentId() const { | 390 uint8 PrerenderHistograms::GetCurrentExperimentId() const { |
387 if (!WithinWindow()) | 391 if (!WithinWindow()) |
388 return kNoExperiment; | 392 return kNoExperiment; |
389 return last_experiment_id_; | 393 return last_experiment_id_; |
390 } | 394 } |
391 | 395 |
392 Origin PrerenderHistograms::GetCurrentOrigin() const { | 396 Origin PrerenderHistograms::GetCurrentOrigin() const { |
393 if (!WithinWindow()) | 397 if (!WithinWindow()) |
394 return ORIGIN_LINK_REL_PRERENDER; | 398 return ORIGIN_LINK_REL_PRERENDER_CROSSDOMAIN; |
395 return last_origin_; | 399 return last_origin_; |
396 } | 400 } |
397 | 401 |
398 bool PrerenderHistograms::IsOriginExperimentWash() const { | 402 bool PrerenderHistograms::IsOriginExperimentWash() const { |
399 if (!WithinWindow()) | 403 if (!WithinWindow()) |
400 return false; | 404 return false; |
401 return origin_experiment_wash_; | 405 return origin_experiment_wash_; |
402 } | 406 } |
403 | 407 |
404 void PrerenderHistograms::RecordLocalPredictorEvent( | 408 void PrerenderHistograms::RecordLocalPredictorEvent( |
(...skipping 11 matching lines...) Expand all Loading... |
416 "LocalPredictorTimeUntilUsed", | 420 "LocalPredictorTimeUntilUsed", |
417 UMA_HISTOGRAM_CUSTOM_TIMES( | 421 UMA_HISTOGRAM_CUSTOM_TIMES( |
418 name, | 422 name, |
419 time_until_used, | 423 time_until_used, |
420 base::TimeDelta::FromMilliseconds(10), | 424 base::TimeDelta::FromMilliseconds(10), |
421 max_age, | 425 max_age, |
422 50)); | 426 50)); |
423 } | 427 } |
424 | 428 |
425 } // namespace prerender | 429 } // namespace prerender |
OLD | NEW |