Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/metrics/field_trial.h" | 9 #include "base/metrics/field_trial.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| 11 #include "chrome/browser/prerender/prerender_util.h" | 11 #include "chrome/browser/prerender/prerender_util.h" |
| 12 #include "chrome/browser/prerender/prerender_field_trial.h" | |
| 12 | 13 |
| 13 namespace prerender { | 14 namespace prerender { |
| 14 | 15 |
| 15 namespace { | 16 namespace { |
| 16 | 17 |
| 17 // Time window for which we will record windowed PLT's from the last | 18 // Time window for which we will record windowed PLT's from the last |
| 18 // observed link rel=prefetch tag. | 19 // observed link rel=prefetch tag. |
| 19 const int kWindowDurationSeconds = 30; | 20 const int kWindowDurationSeconds = 30; |
| 20 | 21 |
| 21 std::string ComposeHistogramName(const std::string& prefix_type, | 22 std::string ComposeHistogramName(const std::string& prefix_type, |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 140 last_experiment_id_ = experiment; | 141 last_experiment_id_ = experiment; |
| 141 | 142 |
| 142 // If we observe multiple tags within the 30 second window, we will still | 143 // If we observe multiple tags within the 30 second window, we will still |
| 143 // reset the window to begin at the most recent occurrence, so that we will | 144 // reset the window to begin at the most recent occurrence, so that we will |
| 144 // always be in a window in the 30 seconds from each occurrence. | 145 // always be in a window in the 30 seconds from each occurrence. |
| 145 last_prerender_seen_time_ = GetCurrentTimeTicks(); | 146 last_prerender_seen_time_ = GetCurrentTimeTicks(); |
| 146 seen_any_pageload_ = false; | 147 seen_any_pageload_ = false; |
| 147 seen_pageload_started_after_prerender_ = false; | 148 seen_pageload_started_after_prerender_ = false; |
| 148 } | 149 } |
| 149 | 150 |
| 151 void PrerenderHistograms::RecordPrerenderFromOmnibox() const { | |
| 152 UMA_HISTOGRAM_COUNTS("Prerender.OmniboxPrerenderCount_" + | |
| 153 GetOmniboxHistogramSuffix(), 1); | |
| 154 } | |
| 155 | |
| 156 void PrerenderHistograms::RecordOmniboxUsedPrerender(Origin origin) const { | |
|
tburkard
2011/11/22 18:52:05
You should use the PREFIXED_HISTOGRAM family of ma
| |
| 157 if (origin == ORIGIN_OMNIBOX_ORIGINAL || | |
| 158 origin == ORIGIN_OMNIBOX_CONSERVATIVE || | |
| 159 origin == ORIGIN_OMNIBOX_EXACT || | |
| 160 origin == ORIGIN_OMNIBOX_EXACT_FULL) { | |
| 161 UMA_HISTOGRAM_COUNTS("Prerender.OmniboxNavigationsUsedPrerenderCount_" + | |
| 162 GetOmniboxHistogramSuffix(), 1); | |
| 163 } | |
| 164 } | |
| 165 | |
| 150 base::TimeTicks PrerenderHistograms::GetCurrentTimeTicks() const { | 166 base::TimeTicks PrerenderHistograms::GetCurrentTimeTicks() const { |
| 151 return base::TimeTicks::Now(); | 167 return base::TimeTicks::Now(); |
| 152 } | 168 } |
| 153 | 169 |
| 154 // Helper macro for histograms. | 170 // Helper macro for histograms. |
| 155 #define RECORD_PLT(tag, perceived_page_load_time) { \ | 171 #define RECORD_PLT(tag, perceived_page_load_time) { \ |
| 156 PREFIXED_HISTOGRAM( \ | 172 PREFIXED_HISTOGRAM( \ |
| 157 base::FieldTrial::MakeName(tag, "Prefetch"), \ | 173 base::FieldTrial::MakeName(tag, "Prefetch"), \ |
| 158 UMA_HISTOGRAM_CUSTOM_TIMES( \ | 174 UMA_HISTOGRAM_CUSTOM_TIMES( \ |
| 159 name, \ | 175 name, \ |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 271 return last_origin_; | 287 return last_origin_; |
| 272 } | 288 } |
| 273 | 289 |
| 274 bool PrerenderHistograms::IsOriginExperimentWash() const { | 290 bool PrerenderHistograms::IsOriginExperimentWash() const { |
| 275 if (!WithinWindow()) | 291 if (!WithinWindow()) |
| 276 return false; | 292 return false; |
| 277 return origin_experiment_wash_; | 293 return origin_experiment_wash_; |
| 278 } | 294 } |
| 279 | 295 |
| 280 } // namespace prerender | 296 } // namespace prerender |
| OLD | NEW |