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

Issue 2152683004: Refactor PageLoadMetricsObserver completion callback policy (Closed)

Created:
4 years, 5 months ago by Bryan McQuade
Modified:
4 years, 5 months ago
CC:
chromium-reviews, csharrison+watch_chromium.org, loading-reviews+metrics_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@relevantloads
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Refactor PageLoadMetricsObserver completion callback policy This patch modifies PageLoadMetricsObserver to invoke OnComplete for tracked loads that committed, and OnFailedProvisionalLoad for tracked loads that did not commit. This makes it more straightforward for implementers to reason about which method to override, and encourages separation of code for the different states into methods which makes observer code more maintainable. This patch also refactors the various observers to implement these methods as needed. BUG=627585 Committed: https://crrev.com/0259d67099838b4b0f2aabcbd3108e9952d56204 Cr-Commit-Position: refs/heads/master@{#406454}

Patch Set 1 #

Patch Set 2 : rebase #

Patch Set 3 : whitespace diff cleanup #

Patch Set 4 : add empty timing test #

Patch Set 5 : add dcheck to verify state invariant #

Patch Set 6 : rebase #

Patch Set 7 : add histogram to track delay when we don't receive timing IPCs #

Patch Set 8 : add histogram to track delay when we don't receive timing IPCs #

Patch Set 9 : clean up comment #

Patch Set 10 : add tests #

Patch Set 11 : comment cleanup #

Patch Set 12 : rebase #

Patch Set 13 : rebase #

Patch Set 14 : fix metric #

Total comments: 11

Patch Set 15 : formatting #

Patch Set 16 : add tests #

Patch Set 17 : remove histogram checks that can be flaky due to immediate logging #

Unified diffs Side-by-side diffs Delta from patch set Stats (+249 lines, -147 lines) Patch
M chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h View 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc View 1 2 3 1 chunk +33 lines, -20 lines 0 comments Download
M chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.h View 1 chunk +2 lines, -12 lines 0 comments Download
M chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +15 lines, -40 lines 0 comments Download
M chrome/browser/page_load_metrics/observers/document_write_page_load_metrics_observer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer.h View 4 chunks +8 lines, -2 lines 0 comments Download
M chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer.cc View 1 2 3 4 5 6 7 8 9 10 6 chunks +47 lines, -30 lines 0 comments Download
M chrome/browser/page_load_metrics/observers/from_gws_page_load_metrics_observer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +31 lines, -24 lines 0 comments Download
M chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +44 lines, -1 line 0 comments Download
M components/page_load_metrics/browser/metrics_web_contents_observer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M components/page_load_metrics/browser/metrics_web_contents_observer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +17 lines, -5 lines 0 comments Download
M components/page_load_metrics/browser/page_load_metrics_observer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +28 lines, -12 lines 0 comments Download
M components/page_load_metrics/browser/page_load_metrics_observer.cc View 1 1 chunk +7 lines, -0 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +10 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 74 (63 generated)
Bryan McQuade
Here's the follow up to the earlier change which changes OnComplete callback policy to invoke ...
4 years, 5 months ago (2016-07-15 17:49:06 UTC) #38
Charlie Harrison
Looks good! https://codereview.chromium.org/2152683004/diff/250001/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc File chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc (right): https://codereview.chromium.org/2152683004/diff/250001/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc#newcode435 chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc:435: PAGE_LOAD_HISTOGRAM(internal::kHistogramBackgroundBeforeCommit, Since we call this twice now, ...
4 years, 5 months ago (2016-07-18 20:02:18 UTC) #45
Bryan McQuade
Thanks! I addressed comments. PTAL. https://codereview.chromium.org/2152683004/diff/250001/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc File chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc (right): https://codereview.chromium.org/2152683004/diff/250001/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc#newcode435 chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc:435: PAGE_LOAD_HISTOGRAM(internal::kHistogramBackgroundBeforeCommit, On 2016/07/18 at ...
4 years, 5 months ago (2016-07-19 12:55:39 UTC) #50
Bryan McQuade
isherman PTAL for histograms.xml, thanks!
4 years, 5 months ago (2016-07-19 12:57:39 UTC) #53
Charlie Harrison
This lgtm now. Thanks! https://codereview.chromium.org/2152683004/diff/250001/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc File chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc (right): https://codereview.chromium.org/2152683004/diff/250001/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc#newcode435 chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc:435: PAGE_LOAD_HISTOGRAM(internal::kHistogramBackgroundBeforeCommit, On 2016/07/19 12:55:38, Bryan ...
4 years, 5 months ago (2016-07-19 13:26:03 UTC) #54
Bryan McQuade
isherman PTAL for histograms.xml, thanks! (adding isherman for real this time)
4 years, 5 months ago (2016-07-19 16:38:52 UTC) #60
Ilya Sherman
histograms.xml lgtm, thanks
4 years, 5 months ago (2016-07-20 01:49:32 UTC) #67
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/2152683004/310001
4 years, 5 months ago (2016-07-20 01:50:37 UTC) #70
commit-bot: I haz the power
Committed patchset #17 (id:310001)
4 years, 5 months ago (2016-07-20 01:56:32 UTC) #71
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-07-20 01:56:36 UTC) #72
commit-bot: I haz the power
4 years, 5 months ago (2016-07-20 01:57:52 UTC) #74
Message was sent while issue was closed.
Patchset 17 (id:??) landed as
https://crrev.com/0259d67099838b4b0f2aabcbd3108e9952d56204
Cr-Commit-Position: refs/heads/master@{#406454}

Powered by Google App Engine
This is Rietveld 408576698