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

Unified Diff: chrome/browser/prerender/prerender_histograms.cc

Issue 2287993003: [NoStatePrefetch] Add UMA histogram to count prefetch requests (Closed)
Patch Set: comment Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/prerender/prerender_histograms.cc
diff --git a/chrome/browser/prerender/prerender_histograms.cc b/chrome/browser/prerender/prerender_histograms.cc
index 3e4b4bfa1915016af5bb4cf47d24037264b2f2f0..5b17d6bcbb10fc6dbb3f4b3cc28cbe44d2822ebc 100644
--- a/chrome/browser/prerender/prerender_histograms.cc
+++ b/chrome/browser/prerender/prerender_histograms.cc
@@ -19,6 +19,19 @@ namespace prerender {
namespace {
+// This enum is used to define the buckets for the
+// "Prerender.NoStatePrefetchResourceCount" histogram family.
+// Hence, existing enumerated constants should never be deleted or reordered,
+// and new constants should only be appended at the end of the enumeration.
+enum NoStatePrefetchResourceType {
+ kMainResourceCacheable = 0,
pasko 2016/08/30 13:41:04 I think chromium style prefers MACRO_STYLE constan
droger 2016/08/30 14:31:41 changed the naming style, however I need these to
+ kMainResourceNoStore = 1,
+ kSubResourceCacheable = 2,
+ kSubResourceNoStore = 3,
+
+ kNoStatePrefetchResourceTypeCount // Must be the last.
+};
+
// Time window for which we will record windowed PLTs from the last observed
// link rel=prefetch tag. This is not intended to be the same as the prerender
// ttl, it's just intended to be a window during which a prerender has likely
@@ -383,6 +396,27 @@ void PrerenderHistograms::RecordNetworkBytes(Origin origin,
}
}
+void PrerenderHistograms::RecordResourcePrefetch(Origin origin,
+ bool is_main_resource,
+ bool is_no_store) {
+ NoStatePrefetchResourceType type =
+ is_main_resource
+ ? (is_no_store ? kMainResourceNoStore : kMainResourceCacheable)
+ : (is_no_store ? kSubResourceNoStore : kSubResourceCacheable);
+ DCHECK_LT(type, kNoStatePrefetchResourceTypeCount);
+
+ std::string histogram_name =
+ GetHistogramName(origin, IsOriginWash(), "NoStatePrefetchResourceCount");
+
+ // Unrolls UMA_HISTOGRAM_ENUMERATION, required to support dynamic histogram
pasko 2016/08/30 13:41:04 Would it be possible to DCHECK_CURRENTLY_ON(Browse
droger 2016/08/30 14:31:41 Done (using a thread checker).
+ // name.
+ base::HistogramBase* histogram_pointer = base::LinearHistogram::FactoryGet(
+ histogram_name, 1, kNoStatePrefetchResourceTypeCount,
+ kNoStatePrefetchResourceTypeCount + 1,
+ base::HistogramBase::kUmaTargetedHistogramFlag);
+ histogram_pointer->Add(type);
+}
+
bool PrerenderHistograms::IsOriginWash() const {
if (!WithinWindow())
return false;

Powered by Google App Engine
This is Rietveld 408576698