| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_HISTOGRAMS_H_ | 5 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_HISTOGRAMS_H_ |
| 6 #define CHROME_BROWSER_PRERENDER_PRERENDER_HISTOGRAMS_H_ | 6 #define CHROME_BROWSER_PRERENDER_PRERENDER_HISTOGRAMS_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 void RecordPerSessionCount(Origin origin, int count) const; | 79 void RecordPerSessionCount(Origin origin, int count) const; |
| 80 | 80 |
| 81 // Record time between two prerender requests. | 81 // Record time between two prerender requests. |
| 82 void RecordTimeBetweenPrerenderRequests(Origin origin, | 82 void RecordTimeBetweenPrerenderRequests(Origin origin, |
| 83 base::TimeDelta time) const; | 83 base::TimeDelta time) const; |
| 84 | 84 |
| 85 // Record a final status of a prerendered page in a histogram. | 85 // Record a final status of a prerendered page in a histogram. |
| 86 void RecordFinalStatus(Origin origin, FinalStatus final_status) const; | 86 void RecordFinalStatus(Origin origin, FinalStatus final_status) const; |
| 87 | 87 |
| 88 // To be called when a new prerender is added. | 88 // To be called when a new prerender is added. |
| 89 void RecordPrerender(Origin origin, const GURL& url); | 89 void RecordPrerender(); |
| 90 | 90 |
| 91 // To be called when a new prerender is started. | 91 // To be called when a new prerender is started. |
| 92 void RecordPrerenderStarted(Origin origin) const; | 92 void RecordPrerenderStarted(Origin origin) const; |
| 93 | 93 |
| 94 // To be called when we know how many prerenders are running after starting | 94 // To be called when we know how many prerenders are running after starting |
| 95 // a prerender. | 95 // a prerender. |
| 96 void RecordConcurrency(size_t prerender_count) const; | 96 void RecordConcurrency(size_t prerender_count) const; |
| 97 | 97 |
| 98 // Called when we swap in a prerender. | 98 // Called when we swap in a prerender. |
| 99 void RecordUsedPrerender(Origin origin) const; | 99 void RecordUsedPrerender(Origin origin) const; |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 base::TimeTicks GetCurrentTimeTicks() const; | 139 base::TimeTicks GetCurrentTimeTicks() const; |
| 140 | 140 |
| 141 // Returns the time elapsed since the last prerender happened. | 141 // Returns the time elapsed since the last prerender happened. |
| 142 base::TimeDelta GetTimeSinceLastPrerender() const; | 142 base::TimeDelta GetTimeSinceLastPrerender() const; |
| 143 | 143 |
| 144 // Returns whether the PrerenderManager is currently within the prerender | 144 // Returns whether the PrerenderManager is currently within the prerender |
| 145 // window - effectively, up to 30 seconds after a prerender tag has been | 145 // window - effectively, up to 30 seconds after a prerender tag has been |
| 146 // observed. | 146 // observed. |
| 147 bool WithinWindow() const; | 147 bool WithinWindow() const; |
| 148 | 148 |
| 149 // Returns whether or not there is currently an origin wash. | |
| 150 bool IsOriginWash() const; | |
| 151 | |
| 152 // Origin of the last prerender seen. | |
| 153 Origin last_origin_; | |
| 154 | |
| 155 // A boolean indicating that we have recently encountered a combination of | |
| 156 // different origins, making an attribution of PPLT's to origins impossible. | |
| 157 bool origin_wash_; | |
| 158 | |
| 159 // The time when we last saw a prerender request coming from a renderer. | 149 // The time when we last saw a prerender request coming from a renderer. |
| 160 // This is used to record perceived PLT's for a certain amount of time | 150 // This is used to record perceived PLT's for a certain amount of time |
| 161 // from the point that we last saw a <link rel=prerender> tag. | 151 // from the point that we last saw a <link rel=prerender> tag. |
| 162 base::TimeTicks last_prerender_seen_time_; | 152 base::TimeTicks last_prerender_seen_time_; |
| 163 | 153 |
| 164 // Indicates whether we have recorded page load events after the most | 154 // Indicates whether we have recorded page load events after the most |
| 165 // recent prerender. These must be initialized to true, so that we don't | 155 // recent prerender. These must be initialized to true, so that we don't |
| 166 // start recording events before the first prerender occurs. | 156 // start recording events before the first prerender occurs. |
| 167 bool seen_any_pageload_; | 157 bool seen_any_pageload_; |
| 168 bool seen_pageload_started_after_prerender_; | 158 bool seen_pageload_started_after_prerender_; |
| 169 | 159 |
| 170 base::ThreadChecker thread_checker_; | 160 base::ThreadChecker thread_checker_; |
| 171 | 161 |
| 172 DISALLOW_COPY_AND_ASSIGN(PrerenderHistograms); | 162 DISALLOW_COPY_AND_ASSIGN(PrerenderHistograms); |
| 173 }; | 163 }; |
| 174 | 164 |
| 175 } // namespace prerender | 165 } // namespace prerender |
| 176 | 166 |
| 177 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_HISTOGRAMS_H_ | 167 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_HISTOGRAMS_H_ |
| OLD | NEW |