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

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

Issue 7289020: Updating histograms to allow for experiments & log origin-based histograms. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 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) 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_final_status.h" 5 #include "chrome/browser/prerender/prerender_final_status.h"
6 6
7 #include "base/metrics/histogram.h"
8 #include "chrome/browser/prerender/prerender_manager.h" 7 #include "chrome/browser/prerender/prerender_manager.h"
9 8
10 namespace prerender { 9 namespace prerender {
11 10
12 namespace { 11 namespace {
13 12
14 const char* kFinalStatusNames[] = { 13 const char* kFinalStatusNames[] = {
15 "Used", 14 "Used",
16 "Timed Out", 15 "Timed Out",
17 "Evicted", 16 "Evicted",
(...skipping 26 matching lines...) Expand all
44 "Fragment Mismatch", 43 "Fragment Mismatch",
45 "SSL Client Certificate Requested", 44 "SSL Client Certificate Requested",
46 "Cache or History Cleared", 45 "Cache or History Cleared",
47 "Max", 46 "Max",
48 }; 47 };
49 COMPILE_ASSERT(arraysize(kFinalStatusNames) == FINAL_STATUS_MAX + 1, 48 COMPILE_ASSERT(arraysize(kFinalStatusNames) == FINAL_STATUS_MAX + 1,
50 PrerenderFinalStatus_name_count_mismatch); 49 PrerenderFinalStatus_name_count_mismatch);
51 50
52 } 51 }
53 52
54 void RecordFinalStatus(Origin origin, FinalStatus final_status) {
55 DCHECK(final_status != FINAL_STATUS_MAX);
56 // FINAL_STATUS_CONTROL_GROUP indicates that the PrerenderContents
57 // was created only to measure "would-have-been-prerendered" for
58 // control group measurements. Don't pollute data with it.
59 if (PrerenderManager::IsControlGroup() ||
60 final_status == FINAL_STATUS_CONTROL_GROUP)
61 return;
62 UMA_HISTOGRAM_ENUMERATION("Prerender.FinalStatus",
63 final_status,
64 FINAL_STATUS_MAX);
65 switch (origin) {
66 case ORIGIN_LINK_REL_PRERENDER:
67 UMA_HISTOGRAM_ENUMERATION("Prerender.FinalStatus_LinkRelPrerender",
68 final_status,
69 FINAL_STATUS_MAX);
70 break;
71 case ORIGIN_OMNIBOX:
72 UMA_HISTOGRAM_ENUMERATION("Prerender.FinalStatus_Omnibox",
73 final_status,
74 FINAL_STATUS_MAX);
75 break;
76 default:
77 NOTREACHED();
78 break;
79 };
80 }
81
82 const char* NameFromFinalStatus(FinalStatus final_status) { 53 const char* NameFromFinalStatus(FinalStatus final_status) {
83 DCHECK(static_cast<int>(final_status) >= 0 && 54 DCHECK(static_cast<int>(final_status) >= 0 &&
84 static_cast<int>(final_status) <= FINAL_STATUS_MAX); 55 static_cast<int>(final_status) <= FINAL_STATUS_MAX);
85 return kFinalStatusNames[final_status]; 56 return kFinalStatusNames[final_status];
86 } 57 }
87 58
88 } // namespace prerender 59 } // namespace prerender
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_final_status.h ('k') | chrome/browser/prerender/prerender_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698