Commit 16bdd9b8 authored by csharrison's avatar csharrison Committed by Commit bot

Bucket FirstContentfulPaint timing into High/Low res clock buckets

This will hopefully illuminate some of the problems inherent with the low resolution clock on windows.

If filtering by high resolution proves to be an effective way to de-noise UMA, we can come up with next steps and potentially migrate more histograms to use this model (or allow post-processing filtering).

For now, we will only bucket FirstContentfulPaint, as we think it's our best metric to date.

BUG=394757

Review URL: https://codereview.chromium.org/1473443002

Cr-Commit-Position: refs/heads/master@{#361241}
parent eaace2b1
...@@ -279,6 +279,15 @@ void PageLoadTracker::RecordTimingHistograms() { ...@@ -279,6 +279,15 @@ void PageLoadTracker::RecordTimingHistograms() {
if (first_contentful_paint < background_delta) { if (first_contentful_paint < background_delta) {
PAGE_LOAD_HISTOGRAM(kHistogramFirstContentfulPaint, PAGE_LOAD_HISTOGRAM(kHistogramFirstContentfulPaint,
first_contentful_paint); first_contentful_paint);
// Bucket these histograms into high/low resolution clock systems. This
// might point us to directions that will de-noise some UMA.
if (base::TimeTicks::IsHighResolution()) {
PAGE_LOAD_HISTOGRAM(kHistogramFirstContentfulPaintHigh,
first_contentful_paint);
} else {
PAGE_LOAD_HISTOGRAM(kHistogramFirstContentfulPaintLow,
first_contentful_paint);
}
} else { } else {
PAGE_LOAD_HISTOGRAM(kBackgroundHistogramFirstContentfulPaint, PAGE_LOAD_HISTOGRAM(kBackgroundHistogramFirstContentfulPaint,
first_contentful_paint); first_contentful_paint);
......
...@@ -61,6 +61,11 @@ const char kBackgroundHistogramFirstImagePaint[] = ...@@ -61,6 +61,11 @@ const char kBackgroundHistogramFirstImagePaint[] =
const char kBackgroundHistogramFirstContentfulPaint[] = const char kBackgroundHistogramFirstContentfulPaint[] =
"PageLoad.Timing2.NavigationToFirstContentfulPaint.Background"; "PageLoad.Timing2.NavigationToFirstContentfulPaint.Background";
const char kHistogramFirstContentfulPaintHigh[] =
"PageLoad.Timing2.NavigationToFirstContentfulPaint.HighResolutionClock";
const char kHistogramFirstContentfulPaintLow[] =
"PageLoad.Timing2.NavigationToFirstContentfulPaint.LowResolutionClock";
const char kHistogramFirstBackground[] = const char kHistogramFirstBackground[] =
"PageLoad.Timing2.NavigationToFirstBackground"; "PageLoad.Timing2.NavigationToFirstBackground";
const char kHistogramFirstForeground[] = const char kHistogramFirstForeground[] =
......
...@@ -78774,6 +78774,15 @@ To add a new entry, add it with any value and run test to compute valid value. ...@@ -78774,6 +78774,15 @@ To add a new entry, add it with any value and run test to compute valid value.
<affected-histogram name="ChromeOS.MachineIdRegen.AgeSeconds"/> <affected-histogram name="ChromeOS.MachineIdRegen.AgeSeconds"/>
</histogram_suffixes> </histogram_suffixes>
<histogram_suffixes name="ClockResolution" separator=".">
<suffix name="HighResolutionClock"
label="base::TimeTicks::IsHighResolution() is true for this measurement"/>
<suffix name="LowResolutionClock"
label="base::TimeTicks::IsHighResolution() is false for this
measurement"/>
<affected-histogram name="PageLoad.Timing2.NavigationToFirstContentfulPaint"/>
</histogram_suffixes>
<histogram_suffixes name="CloudPrintRequests" separator="."> <histogram_suffixes name="CloudPrintRequests" separator=".">
<suffix name="Register" label="Register request"/> <suffix name="Register" label="Register request"/>
<suffix name="UpdatePrinter" label="Update printer request"/> <suffix name="UpdatePrinter" label="Update printer request"/>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment