OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_UTIL_H_ | 5 #ifndef COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_UTIL_H_ |
6 #define COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_UTIL_H_ | 6 #define COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_UTIL_H_ |
7 | 7 |
8 #include "base/metrics/histogram_macros.h" | 8 #include "base/metrics/histogram_macros.h" |
9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
10 | 10 |
11 #define PAGE_LOAD_HISTOGRAM(name, sample) \ | 11 #define PAGE_LOAD_HISTOGRAM(name, sample) \ |
12 UMA_HISTOGRAM_CUSTOM_TIMES(name, sample, \ | 12 UMA_HISTOGRAM_CUSTOM_TIMES(name, sample, \ |
13 base::TimeDelta::FromMilliseconds(10), \ | 13 base::TimeDelta::FromMilliseconds(10), \ |
14 base::TimeDelta::FromMinutes(10), 100) | 14 base::TimeDelta::FromMinutes(10), 100) |
15 | 15 |
16 namespace page_load_metrics { | 16 namespace page_load_metrics { |
17 | 17 |
| 18 struct PageLoadExtraInfo; |
18 struct PageLoadTiming; | 19 struct PageLoadTiming; |
19 | 20 |
20 // Get the time of the first 'contentful' paint. A contentful paint is a paint | 21 // Get the time of the first 'contentful' paint. A contentful paint is a paint |
21 // that includes content of some kind (for example, text or image content). | 22 // that includes content of some kind (for example, text or image content). |
22 // Painting of a background color is not considered 'contentful'. | 23 // Painting of a background color is not considered 'contentful'. |
23 base::TimeDelta GetFirstContentfulPaint(const PageLoadTiming& timing); | 24 base::TimeDelta GetFirstContentfulPaint(const PageLoadTiming& timing); |
24 | 25 |
| 26 // Returns false for events for which we have no timing information, and events |
| 27 // that happened on a page that had been in the background. When a page is |
| 28 // backgrounded, some events (e.g. paint) are delayed. Since these data points |
| 29 // can skew the mean, they should not be mixed with timing events that occurred |
| 30 // in the foreground. |
| 31 bool EventOccurredInForeground(const base::TimeDelta& event, |
| 32 const PageLoadExtraInfo& info); |
| 33 |
25 } // namespace page_load_metrics | 34 } // namespace page_load_metrics |
26 | 35 |
27 #endif // COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_UTIL_H_ | 36 #endif // COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_UTIL_H_ |
OLD | NEW |