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

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

Issue 2738783002: Prerender: Remove PerceivedPLT histograms (Closed)
Patch Set: set the origin in prerender_tab_helper Created 3 years, 9 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 8c6c1105125af5512bc547042ec54d01582117b8..fabba4f5826023d91f540cf478726c0f1cee0798 100644
--- a/chrome/browser/prerender/prerender_histograms.cc
+++ b/chrome/browser/prerender/prerender_histograms.cc
@@ -36,12 +36,6 @@ int GetResourceType(bool is_main_resource, bool is_redirect, bool is_no_store) {
(is_main_resource * MAIN_RESOURCE);
}
-// 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
-// affected performance.
-const int kWindowDurationSeconds = 30;
-
std::string ComposeHistogramName(const std::string& prefix_type,
const std::string& name) {
if (prefix_type.empty())
@@ -127,17 +121,7 @@ const char* FirstContentfulPaintHiddenName(bool was_hidden) {
} \
} while (0)
-PrerenderHistograms::PrerenderHistograms()
- : seen_any_pageload_(true), seen_pageload_started_after_prerender_(true) {}
-
-void PrerenderHistograms::RecordPrerender() {
- // If we observe multiple tags within the 30 second window, we will still
- // reset the window to begin at the most recent occurrence, so that we will
- // always be in a window in the 30 seconds from each occurrence.
- last_prerender_seen_time_ = GetCurrentTimeTicks();
- seen_any_pageload_ = false;
- seen_pageload_started_after_prerender_ = false;
-}
+PrerenderHistograms::PrerenderHistograms() {}
void PrerenderHistograms::RecordPrerenderStarted(Origin origin) const {
if (OriginIsOmnibox(origin)) {
@@ -146,15 +130,6 @@ void PrerenderHistograms::RecordPrerenderStarted(Origin origin) const {
}
}
-void PrerenderHistograms::RecordConcurrency(size_t prerender_count) const {
- static const size_t kMaxRecordableConcurrency = 20;
- DCHECK_GE(kMaxRecordableConcurrency, Config().max_link_concurrency);
- UMA_HISTOGRAM_ENUMERATION(
- base::StringPrintf("Prerender.PrerenderCountOf%" PRIuS "Max",
- kMaxRecordableConcurrency),
- prerender_count, kMaxRecordableConcurrency + 1);
-}
-
void PrerenderHistograms::RecordUsedPrerender(Origin origin) const {
if (OriginIsOmnibox(origin)) {
UMA_HISTOGRAM_ENUMERATION(
@@ -170,110 +145,15 @@ void PrerenderHistograms::RecordTimeSinceLastRecentVisit(
UMA_HISTOGRAM_TIMES(name, delta));
}
-base::TimeTicks PrerenderHistograms::GetCurrentTimeTicks() const {
- return base::TimeTicks::Now();
-}
-
-// Helper macro for histograms.
-#define RECORD_PLT(tag, perceived_page_load_time) \
- PREFIXED_HISTOGRAM( \
- tag, origin, \
- UMA_HISTOGRAM_CUSTOM_TIMES( \
- name, \
- perceived_page_load_time, \
- base::TimeDelta::FromMilliseconds(10), \
- base::TimeDelta::FromSeconds(60), \
- 100))
-
-// Summary of all histograms Perceived PLT histograms:
-// (all prefixed PerceivedPLT)
-// PerceivedPLT -- Perceived Pageloadtimes (PPLT) for all pages in the group.
-// ...Windowed -- PPLT for pages in the 30s after a prerender is created.
-// ...FirstAfterMiss -- First page to finish loading after a prerender, which
-// is different from the page that was prerendered.
-// ...FirstAfterMissNonOverlapping -- Same as FirstAfterMiss, but only
-// triggering for the first page to finish after the prerender that also started
-// after the prerender started.
-// ...FirstAfterMissBoth -- pages meeting
-// FirstAfterMiss AND FirstAfterMissNonOverlapping
-// ...FirstAfterMissAnyOnly -- pages meeting
-// FirstAfterMiss but NOT FirstAfterMissNonOverlapping
-// ..FirstAfterMissNonOverlappingOnly -- pages meeting
-// FirstAfterMissNonOverlapping but NOT FirstAfterMiss
-
-void PrerenderHistograms::RecordPerceivedPageLoadTime(
- Origin origin,
- base::TimeDelta perceived_page_load_time,
- NavigationType navigation_type,
- const GURL& url) {
- if (!url.SchemeIsHTTPOrHTTPS())
- return;
- bool within_window = WithinWindow();
- bool is_google_url =
- google_util::IsGoogleDomainUrl(url, google_util::DISALLOW_SUBDOMAIN,
- google_util::ALLOW_NON_STANDARD_PORTS);
- RECORD_PLT("PerceivedPLT", perceived_page_load_time);
- if (within_window)
- RECORD_PLT("PerceivedPLTWindowed", perceived_page_load_time);
- if (navigation_type != NAVIGATION_TYPE_NORMAL) {
- DCHECK(navigation_type == NAVIGATION_TYPE_PRERENDERED);
- seen_any_pageload_ = true;
- seen_pageload_started_after_prerender_ = true;
- } else if (within_window) {
- if (!is_google_url) {
- bool recorded_any = false;
- bool recorded_non_overlapping = false;
- if (!seen_any_pageload_) {
- seen_any_pageload_ = true;
- RECORD_PLT("PerceivedPLTFirstAfterMiss", perceived_page_load_time);
- recorded_any = true;
- }
- if (!seen_pageload_started_after_prerender_ &&
- perceived_page_load_time <= GetTimeSinceLastPrerender()) {
- seen_pageload_started_after_prerender_ = true;
- RECORD_PLT("PerceivedPLTFirstAfterMissNonOverlapping",
- perceived_page_load_time);
- recorded_non_overlapping = true;
- }
- if (recorded_any || recorded_non_overlapping) {
- if (recorded_any && recorded_non_overlapping) {
- RECORD_PLT("PerceivedPLTFirstAfterMissBoth",
- perceived_page_load_time);
- } else if (recorded_any) {
- RECORD_PLT("PerceivedPLTFirstAfterMissAnyOnly",
- perceived_page_load_time);
- } else if (recorded_non_overlapping) {
- RECORD_PLT("PerceivedPLTFirstAfterMissNonOverlappingOnly",
- perceived_page_load_time);
- }
- }
- }
- }
-}
-
void PrerenderHistograms::RecordPerceivedFirstContentfulPaintStatus(
Origin origin,
bool successful,
- bool was_hidden) {
+ bool was_hidden) const {
base::UmaHistogramBoolean(GetHistogramName(origin, "PerceivedTTFCPRecorded") +
FirstContentfulPaintHiddenName(was_hidden),
successful);
}
-void PrerenderHistograms::RecordPageLoadTimeNotSwappedIn(
- Origin origin,
- base::TimeDelta page_load_time,
- const GURL& url) const {
- // If the URL to be prerendered is not a http[s] URL, or is a Google URL,
- // do not record.
- if (!url.SchemeIsHTTPOrHTTPS() ||
- google_util::IsGoogleDomainUrl(url, google_util::DISALLOW_SUBDOMAIN,
- google_util::ALLOW_NON_STANDARD_PORTS)) {
- return;
- }
- RECORD_PLT("PrerenderNotSwappedInPLT", page_load_time);
-}
-
void PrerenderHistograms::RecordPercentLoadDoneAtSwapin(Origin origin,
double fraction) const {
if (fraction < 0.0 || fraction > 1.0)
@@ -285,17 +165,6 @@ void PrerenderHistograms::RecordPercentLoadDoneAtSwapin(Origin origin,
origin, UMA_HISTOGRAM_PERCENTAGE(name, percentage));
}
-base::TimeDelta PrerenderHistograms::GetTimeSinceLastPrerender() const {
- return base::TimeTicks::Now() - last_prerender_seen_time_;
-}
-
-bool PrerenderHistograms::WithinWindow() const {
- if (last_prerender_seen_time_.is_null())
- return false;
- return GetTimeSinceLastPrerender() <=
- base::TimeDelta::FromSeconds(kWindowDurationSeconds);
-}
-
void PrerenderHistograms::RecordTimeUntilUsed(
Origin origin,
base::TimeDelta time_until_used) const {
@@ -410,7 +279,7 @@ void PrerenderHistograms::RecordPrefetchFirstContentfulPaintTime(
bool is_no_store,
bool was_hidden,
base::TimeDelta time,
- base::TimeDelta prefetch_age) {
+ base::TimeDelta prefetch_age) const {
DCHECK(thread_checker_.CalledOnValidThread());
if (!prefetch_age.is_zero()) {
« 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