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

Unified Diff: chrome/browser/prerender/prerender_manager.h

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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/prerender/prerender_final_status.cc ('k') | chrome/browser/prerender/prerender_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/prerender/prerender_manager.h
===================================================================
--- chrome/browser/prerender/prerender_manager.h (revision 91750)
+++ chrome/browser/prerender/prerender_manager.h (working copy)
@@ -68,6 +68,9 @@
CLEAR_MAX = 0x1 << 2
};
+ // ID indicating that no experiment is active.
+ static const uint8 kNoExperiment = 0;
+
// Owned by a Profile object for the lifetime of the profile.
PrerenderManager(Profile* profile, PrerenderTracker* prerender_tracker);
@@ -181,6 +184,11 @@
// Intended to be used when clearing the cache or history.
void ClearData(int clear_flags);
+ // Record a final status of a prerendered page in a histogram.
+ void RecordFinalStatus(Origin origin,
+ uint8 experiment_id,
+ FinalStatus final_status) const;
+
const Config& config() const { return config_; }
Config& mutable_config() { return config_; }
@@ -196,12 +204,6 @@
PendingContentsData* FindPendingEntry(const GURL& url);
- // Extracts a urlencoded URL stored in a url= query parameter from a URL
- // supplied, if available, and stores it in alias_url. Returns whether or not
- // the operation succeeded (i.e. a valid URL was found).
- static bool MaybeGetQueryStringBasedAliasURL(const GURL& url,
- GURL* alias_url);
-
private:
// Test that needs needs access to internal functions.
friend class PrerenderBrowserTest;
@@ -252,7 +254,8 @@
virtual base::TimeTicks GetCurrentTimeTicks() const;
virtual PrerenderContents* CreatePrerenderContents(const GURL& url,
const GURL& referrer,
- Origin origin);
+ Origin origin,
+ uint8 experiment_id);
// Checks if the PrerenderContents has been added to the pending delete list.
bool IsPendingDelete(PrerenderContents* entry) const;
@@ -316,6 +319,22 @@
// navigates to it. This must be called on the UI thread.
void RecordTimeUntilUsed(base::TimeDelta time_until_used);
+ // Composes a histogram name based on a histogram type.
+ std::string ComposeHistogramName(const std::string& prefix_type,
+ const std::string& name) const;
+
+ // Returns the histogram name for a given origin and experiment.
+ std::string GetHistogramName(Origin origin, uint8 experiment_id,
+ const std::string& name) const;
+ // Returns the histogram name for the current window.
+ std::string GetDefaultHistogramName(const std::string& name) const;
+ // Returns the current experiment.
+ uint8 GetCurrentExperimentId() const;
+ // Returns the current origin.
+ Origin GetCurrentOrigin() const;
+ // Returns whether or not there is currently an origin/experiment wash.
+ bool IsOriginExperimentWash() const;
+
// The configuration.
Config config_;
@@ -355,6 +374,18 @@
static PrerenderManagerMode mode_;
+ // An integer indicating a Prerendering Experiment being currently conducted.
+ // (The last experiment ID seen).
+ uint8 last_experiment_id_;
+
+ // Origin of the last prerender seen.
+ Origin last_origin_;
+
+ // A boolean indicating that we have recently encountered a combination of
+ // different experiments and origins, making an attribution of PPLT's to
+ // experiments / origins impossible.
+ bool origin_experiment_wash_;
+
// The time when we last saw a prerender request coming from a renderer.
// This is used to record perceived PLT's for a certain amount of time
// from the point that we last saw a <link rel=prerender> tag.
« no previous file with comments | « chrome/browser/prerender/prerender_final_status.cc ('k') | chrome/browser/prerender/prerender_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698