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

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

Issue 2423383002: [Prerender] first contentful paint histograms. (Closed)
Patch Set: MSVC compilation error Created 3 years, 12 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
« no previous file with comments | « chrome/browser/prerender/prerender_histograms.h ('k') | chrome/browser/prerender/prerender_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/prerender/prerender_histograms.cc
diff --git a/chrome/browser/prerender/prerender_histograms.cc b/chrome/browser/prerender/prerender_histograms.cc
index 1e892bfd37ed016703bd6c054e454e89bb9c514d..60bf8349d832644b8078a03703ef5e0a6f443f68 100644
--- a/chrome/browser/prerender/prerender_histograms.cc
+++ b/chrome/browser/prerender/prerender_histograms.cc
@@ -9,6 +9,7 @@
#include "base/format_macros.h"
#include "base/logging.h"
#include "base/metrics/histogram.h"
+#include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/stringprintf.h"
#include "chrome/browser/prerender/prerender_manager.h"
@@ -113,6 +114,10 @@ bool OriginIsOmnibox(Origin origin) {
return origin == ORIGIN_OMNIBOX;
}
+const char* FirstContentfulPaintHiddenName(bool was_hidden) {
+ return was_hidden ? ".Hidden" : ".Visible";
+}
+
} // namespace
// Helper macros for origin-based histogram reporting. All HISTOGRAM arguments
@@ -301,6 +306,16 @@ void PrerenderHistograms::RecordPerceivedPageLoadTime(
}
}
+void PrerenderHistograms::RecordPerceivedFirstContentfulPaintStatus(
+ Origin origin,
+ bool successful,
+ bool was_hidden) {
+ base::UmaHistogramBoolean(
+ GetHistogramName(origin, IsOriginWash(), "PerceivedTTFCPRecorded") +
+ FirstContentfulPaintHiddenName(was_hidden),
+ successful);
+}
+
void PrerenderHistograms::RecordPageLoadTimeNotSwappedIn(
Origin origin,
base::TimeDelta page_load_time,
@@ -443,51 +458,45 @@ void PrerenderHistograms::RecordPrefetchRedirectCount(
RecordHistogramEnum(histogram_name, redirect_count, kMaxRedirectCount);
}
-void PrerenderHistograms::RecordFirstContentfulPaint(
+void PrerenderHistograms::RecordPrefetchFirstContentfulPaintTime(
Origin origin,
bool is_no_store,
+ bool was_hidden,
base::TimeDelta time,
base::TimeDelta prefetch_age) {
DCHECK(thread_checker_.CalledOnValidThread());
if (!prefetch_age.is_zero()) {
DCHECK_NE(origin, ORIGIN_NONE);
- RecordHistogramTime(GetHistogramName(origin, IsOriginWash(),
- "Prerender.NoStatePrefetchAge"),
- base::TimeDelta::FromMilliseconds(10),
- base::TimeDelta::FromMinutes(30), prefetch_age, 50);
+ RecordHistogramTime(
+ GetHistogramName(origin, IsOriginWash(), "Prerender.PrefetchAge"),
+ base::TimeDelta::FromMilliseconds(10), base::TimeDelta::FromMinutes(30),
+ prefetch_age, 50);
}
- RecordHistogramTime(GetFirstContentfulPaintHistogramName(
- origin, IsOriginWash(), is_no_store, prefetch_age),
- base::TimeDelta::FromMilliseconds(10),
- base::TimeDelta::FromMinutes(2), time, 50);
-}
-
-bool PrerenderHistograms::IsOriginWash() const {
- if (!WithinWindow())
- return false;
- return origin_wash_;
-}
-
-// static
-std::string PrerenderHistograms::GetFirstContentfulPaintHistogramName(
- Origin origin,
- bool is_wash,
- bool is_no_store,
- base::TimeDelta prefetch_age) {
std::string histogram_base_name;
if (prefetch_age.is_zero()) {
- histogram_base_name = "NoStatePrefetchTTFCP.Reference";
+ histogram_base_name = "PrefetchTTFCP.Reference";
} else {
histogram_base_name = prefetch_age < base::TimeDelta::FromMinutes(
net::HttpCache::kPrefetchReuseMins)
- ? "NoStatePrefetchTTFCP.Warm"
- : "NoStatePrefetchTTFCP.Cold";
+ ? "PrefetchTTFCP.Warm"
+ : "PrefetchTTFCP.Cold";
}
histogram_base_name += is_no_store ? ".NoStore" : ".Cacheable";
- return GetHistogramName(origin, is_wash, histogram_base_name);
+ histogram_base_name += FirstContentfulPaintHiddenName(was_hidden);
+ std::string histogram_name =
+ GetHistogramName(origin, IsOriginWash(), histogram_base_name);
+
+ RecordHistogramTime(histogram_name, base::TimeDelta::FromMilliseconds(10),
+ base::TimeDelta::FromMinutes(2), time, 50);
+}
+
+bool PrerenderHistograms::IsOriginWash() const {
+ if (!WithinWindow())
+ return false;
+ return origin_wash_;
}
} // namespace prerender
« no previous file with comments | « chrome/browser/prerender/prerender_histograms.h ('k') | chrome/browser/prerender/prerender_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698