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

Issue 2917693002: Reland: Buffer cross frame paint timing updates. (Closed)

Created:
3 years, 6 months ago by Bryan McQuade
Modified:
3 years, 6 months ago
Reviewers:
Charlie Harrison
CC:
asvitkine+watch_chromium.org, cbentzel+watch_chromium.org, chromium-reviews, csharrison+watch_chromium.org, gavinp+prer_chromium.org, loading-reviews+metrics_chromium.org, speed-metrics-reviews_chromium.org, tburkard+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland: Buffer cross frame paint timing updates. This is a re-land of https://codereview.chromium.org/2901383002, which was reverted due to a timing dependency in ResourcePrefetchPredictorBrowserTest. SubresourceFcpOrder that has since been fixed (crbug.com/728176). Original change description: With the recent change to merge cross-frame paint timings, we sometimes encounter cases where these timings arrive out of order. For example, we may receive a first paint notification for frame A first, then a first paint notification for frame B, but frame B's first paint time may have happened before frame A's first paint time. In the current implementation, we dispatch a first paint notification to observers as soon as we receive a first paint notification from any frame in the page. This means we don't end up recording the true page-level first paint time on all pages. This change adds a 1s buffering period before we dispatch first paint notifications to observers. During this buffering period, we accumulate all first paint updates across all frames, and retain the minimum first paint time. We then dispatch the min observed first paint time across this window. This change should significantly reduce the frequency with which we log out of order paint timings. We have added new UMA to keep track of how often this continues to happen, even with the 1s buffering. BUG=728179 TBR=isherman,mattcary Review-Url: https://codereview.chromium.org/2917693002 Cr-Commit-Position: refs/heads/master@{#475955} Committed: https://chromium.googlesource.com/chromium/src/+/f576d151955389c1b797409da6ed19c2a5530ff5

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+650 lines, -249 lines) Patch
M chrome/browser/page_load_metrics/metrics_web_contents_observer.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/page_load_metrics/metrics_web_contents_observer.cc View 1 chunk +11 lines, -1 line 0 comments Download
M chrome/browser/page_load_metrics/metrics_web_contents_observer_unittest.cc View 7 chunks +158 lines, -8 lines 0 comments Download
M chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h View 2 chunks +4 lines, -5 lines 0 comments Download
M chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc View 3 chunks +12 lines, -70 lines 0 comments Download
M chrome/browser/page_load_metrics/page_load_metrics_embedder_interface.h View 2 chunks +7 lines, -0 lines 0 comments Download
M chrome/browser/page_load_metrics/page_load_metrics_initialize.cc View 3 chunks +6 lines, -0 lines 0 comments Download
M chrome/browser/page_load_metrics/page_load_metrics_update_dispatcher.h View 5 chunks +9 lines, -6 lines 0 comments Download
M chrome/browser/page_load_metrics/page_load_metrics_update_dispatcher.cc View 8 chunks +124 lines, -31 lines 0 comments Download
M chrome/browser/page_load_metrics/page_load_metrics_util.h View 2 chunks +1 line, -22 lines 0 comments Download
M chrome/browser/page_load_metrics/page_load_metrics_util.cc View 3 chunks +0 lines, -53 lines 0 comments Download
M chrome/browser/page_load_metrics/page_load_tracker.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_browsertest.cc View 9 chunks +8 lines, -15 lines 0 comments Download
M chrome/common/BUILD.gn View 2 chunks +4 lines, -0 lines 0 comments Download
A chrome/common/page_load_metrics/page_load_metrics_util.h View 1 chunk +40 lines, -0 lines 0 comments Download
A chrome/common/page_load_metrics/page_load_metrics_util.cc View 1 chunk +65 lines, -0 lines 0 comments Download
A chrome/common/page_load_metrics/test/page_load_metrics_test_util.h View 1 chunk +19 lines, -0 lines 0 comments Download
A chrome/common/page_load_metrics/test/page_load_metrics_test_util.cc View 1 chunk +79 lines, -0 lines 0 comments Download
A chrome/common/page_load_metrics/test/weak_mock_timer.h View 1 chunk +44 lines, -0 lines 0 comments Download
A chrome/common/page_load_metrics/test/weak_mock_timer.cc View 1 chunk +25 lines, -0 lines 0 comments Download
M chrome/renderer/page_load_metrics/metrics_render_frame_observer.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/page_load_metrics/metrics_render_frame_observer.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/renderer/page_load_metrics/metrics_render_frame_observer_unittest.cc View 11 chunks +19 lines, -33 lines 0 comments Download
M chrome/test/BUILD.gn View 2 chunks +2 lines, -2 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 chunk +7 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 16 (11 generated)
Bryan McQuade
csharrison, PTAL, thanks! This is a re-land with no code changes. isherman, mattcary, I TBR'd ...
3 years, 6 months ago (2017-05-31 15:36:09 UTC) #7
Charlie Harrison
LGTM would you add a link to the fix in the CL desc?
3 years, 6 months ago (2017-05-31 15:39:30 UTC) #8
Bryan McQuade
On 2017/05/31 at 15:39:30, csharrison wrote: > LGTM would you add a link to the ...
3 years, 6 months ago (2017-05-31 16:33:17 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2917693002/1
3 years, 6 months ago (2017-05-31 16:58:02 UTC) #12
commit-bot: I haz the power
3 years, 6 months ago (2017-05-31 17:21:37 UTC) #16
Message was sent while issue was closed.
Committed patchset #1 (id:1) as
https://chromium.googlesource.com/chromium/src/+/f576d151955389c1b797409da6ed...

Powered by Google App Engine
This is Rietveld 408576698