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 |