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

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

Issue 8602005: Adding histograms for better Omnibox prerender performance tracking. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move prerender histogram access to prerender_histogram.cc Created 9 years, 1 month 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) 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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_histograms.h ('k') | chrome/browser/prerender/prerender_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698