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

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

Issue 9270018: Make a separate histogram for MatchComplete Final Status'es and (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 8 years, 11 months 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) 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/metrics/field_trial.h" 9 #include "base/metrics/field_trial.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 PREFIXED_HISTOGRAM( \ 162 PREFIXED_HISTOGRAM( \
163 base::FieldTrial::MakeName(tag, "Prerender"), \ 163 base::FieldTrial::MakeName(tag, "Prerender"), \
164 UMA_HISTOGRAM_CUSTOM_TIMES( \ 164 UMA_HISTOGRAM_CUSTOM_TIMES( \
165 name, \ 165 name, \
166 perceived_page_load_time, \ 166 perceived_page_load_time, \
167 base::TimeDelta::FromMilliseconds(10), \ 167 base::TimeDelta::FromMilliseconds(10), \
168 base::TimeDelta::FromSeconds(60), \ 168 base::TimeDelta::FromSeconds(60), \
169 100)); \ 169 100)); \
170 } 170 }
171 171
172 // Summary of all histograms Perceived PLT histograms:
cbentzel 2012/01/24 14:55:46 Thanks for adding this description, it's very help
tburkard 2012/01/24 19:15:54 Done.
173 // (all prefixed PerceivedPLT)
174 // PerceivedPLT -- Perceived Pageloadtimes (PPLT) for all pages in the group.
175 // ...Windowed -- PPLT for pages in the 30s after a prerender.
cbentzel 2012/01/24 14:55:46 Nit: after a prerender is created?
tburkard 2012/01/24 19:15:54 Done.
176 // ...Matched -- A prerendered page that was swapped in.
cbentzel 2012/01/24 14:55:46 Nit: perhaps this should discuss how this is recor
tburkard 2012/01/24 19:15:54 Done.
177 // ...MatchedComplete -- A prerendered page that was swapped in + a few
178 // that were not swapped in so that the set of pages lines up more closely with
179 // the control group.
180 // ...FirstAfterMiss -- First page to finish loading after a prerender, which
181 // is different from the page that was prerendered.
182 // ...FirstAfterMissNonOverlapping -- Same as FirstAfterMiss, but only
183 // triggering for the first page to finish after the prerender that also started
184 // after the prerender started.
185 // ...FirstAfterMissBoth -- pages meeting
186 // FirstAfterMiss AND FirstAfterMissNonOverlapping
187 // ...FirstAfterMissAnyOnly -- pages meeting
188 // FirstAfterMiss but NOT FirstAfterMissNonOverlapping
189 // ..FirstAfterMissNonOverlappingOnly -- pages meeting
190 // FirstAfterMissNonOverlapping but NOT FirstAfterMiss
191
172 void PrerenderHistograms::RecordPerceivedPageLoadTime( 192 void PrerenderHistograms::RecordPerceivedPageLoadTime(
173 base::TimeDelta perceived_page_load_time, bool was_prerender, 193 base::TimeDelta perceived_page_load_time, bool was_prerender,
174 bool was_complete_prerender, const GURL& url) { 194 bool was_complete_prerender, const GURL& url) {
175 if (!IsWebURL(url)) 195 if (!IsWebURL(url))
176 return; 196 return;
177 bool within_window = WithinWindow(); 197 bool within_window = WithinWindow();
178 bool is_google_url = IsGoogleDomain(url); 198 bool is_google_url = IsGoogleDomain(url);
179 RECORD_PLT("PerceivedPLT", perceived_page_load_time); 199 RECORD_PLT("PerceivedPLT", perceived_page_load_time);
180 if (within_window) 200 if (within_window)
181 RECORD_PLT("PerceivedPLTWindowed", perceived_page_load_time); 201 RECORD_PLT("PerceivedPLTWindowed", perceived_page_load_time);
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 UMA_HISTOGRAM_COUNTS(name, count)); 269 UMA_HISTOGRAM_COUNTS(name, count));
250 } 270 }
251 271
252 void PrerenderHistograms::RecordTimeBetweenPrerenderRequests( 272 void PrerenderHistograms::RecordTimeBetweenPrerenderRequests(
253 base::TimeDelta time) const { 273 base::TimeDelta time) const {
254 PREFIXED_HISTOGRAM( 274 PREFIXED_HISTOGRAM(
255 "TimeBetweenPrerenderRequests", 275 "TimeBetweenPrerenderRequests",
256 UMA_HISTOGRAM_TIMES(name, time)); 276 UMA_HISTOGRAM_TIMES(name, time));
257 } 277 }
258 278
259 void PrerenderHistograms::RecordFinalStatus(Origin origin, 279 void PrerenderHistograms::RecordFinalStatus(
260 uint8 experiment_id, 280 Origin origin,
261 FinalStatus final_status) const { 281 uint8 experiment_id,
282 PrerenderContents::MatchCompleteStatus mc_status,
283 FinalStatus final_status) const {
262 DCHECK(final_status != FINAL_STATUS_MAX); 284 DCHECK(final_status != FINAL_STATUS_MAX);
263 PREFIXED_HISTOGRAM_ORIGIN_EXPERIMENT( 285 if (mc_status != PrerenderContents::MATCH_COMPLETE_REPLACEMENT) {
cbentzel 2012/01/24 14:55:46 Do you want this to get triggered when mc_status =
tburkard 2012/01/24 19:15:54 No, also in the MATCH_COMPLETE_DEFAULT case. The M
264 base::FieldTrial::MakeName("FinalStatus", "Prerender"), 286 PREFIXED_HISTOGRAM_ORIGIN_EXPERIMENT(
265 origin, experiment_id, 287 base::FieldTrial::MakeName("FinalStatus", "Prerender"),
266 UMA_HISTOGRAM_ENUMERATION(name, final_status, FINAL_STATUS_MAX)); 288 origin, experiment_id,
289 UMA_HISTOGRAM_ENUMERATION(name, final_status, FINAL_STATUS_MAX));
290 }
291 if (mc_status != PrerenderContents::MATCH_COMPLETE_REPLACED) {
292 PREFIXED_HISTOGRAM_ORIGIN_EXPERIMENT(
293 base::FieldTrial::MakeName("FinalStatusMatchComplete", "Prerender"),
294 origin, experiment_id,
295 UMA_HISTOGRAM_ENUMERATION(name, final_status, FINAL_STATUS_MAX));
296 }
267 } 297 }
268 298
269 uint8 PrerenderHistograms::GetCurrentExperimentId() const { 299 uint8 PrerenderHistograms::GetCurrentExperimentId() const {
270 if (!WithinWindow()) 300 if (!WithinWindow())
271 return kNoExperiment; 301 return kNoExperiment;
272 return last_experiment_id_; 302 return last_experiment_id_;
273 } 303 }
274 304
275 Origin PrerenderHistograms::GetCurrentOrigin() const { 305 Origin PrerenderHistograms::GetCurrentOrigin() const {
276 if (!WithinWindow()) 306 if (!WithinWindow())
277 return ORIGIN_LINK_REL_PRERENDER; 307 return ORIGIN_LINK_REL_PRERENDER;
278 return last_origin_; 308 return last_origin_;
279 } 309 }
280 310
281 bool PrerenderHistograms::IsOriginExperimentWash() const { 311 bool PrerenderHistograms::IsOriginExperimentWash() const {
282 if (!WithinWindow()) 312 if (!WithinWindow())
283 return false; 313 return false;
284 return origin_experiment_wash_; 314 return origin_experiment_wash_;
285 } 315 }
286 316
287 } // namespace prerender 317 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698