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

Issue 2711893002: Loosen FirstMeaningfulPaint UMA network-idle heuristics (Closed)

Created:
3 years, 10 months ago by Kunihiko Sakamoto
Modified:
3 years, 9 months ago
CC:
chromium-reviews, tyoshino+watch_chromium.org, dshwang, loading-reviews_chromium.org, gavinp+loader_chromium.org, blink-reviews-paint_chromium.org, blink-reviews, loading-reviews+fetch_chromium.org, kinuko+watch, Nate Chapin
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Loosen FirstMeaningfulPaint UMA network-idle heuristics Currently, FirstMeaningfulPaint (FMP) UMA is logged when page's network activity is "0-quiet" (no network requests) for 0.5 seconds. But about 23% of page loads are aborted before reaching that condition. To improve the coverage of FMP UMA, this patch changes the network idle heuristic to "2-quiet" (no more than 2 network requests) for 3 seconds window. To verify this change doesn't make FMP reported too soon, FirstMeaningfulPaintDetector continues to observe layouts until network 0-quiet, and report whether the last FMP candidate was after network 2-quiet or not. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2711893002 Cr-Commit-Position: refs/heads/master@{#457017} Committed: https://chromium.googlesource.com/chromium/src/+/4d059dcf25a256d591234eb2a7ffd1673f7c9709

Patch Set 1 #

Total comments: 1

Patch Set 2 : rebase #

Patch Set 3 : Capture 0-stable and 2-stable independently #

Total comments: 2

Patch Set 4 : add tests, rebase #

Total comments: 14

Patch Set 5 : comments addressed #

Patch Set 6 : comments addressed #

Patch Set 7 : rebase #

Patch Set 8 : bugfix #

Patch Set 9 : add a testcase #

Patch Set 10 : less hacky test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+276 lines, -31 lines) Patch
M chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/loader/FrameLoader.cpp View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetector.h View 1 2 3 4 5 6 7 8 2 chunks +12 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetector.cpp View 1 2 3 4 5 6 7 8 7 chunks +110 lines, -19 lines 0 comments Download
M third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetectorTest.cpp View 1 2 3 4 5 6 7 8 9 5 chunks +112 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.h View 1 2 3 4 5 6 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp View 1 2 3 4 5 6 1 chunk +3 lines, -3 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 3 chunks +35 lines, -0 lines 0 comments Download

Messages

Total messages: 75 (45 generated)
Kunihiko Sakamoto
3 years, 10 months ago (2017-02-24 07:39:48 UTC) #18
Charlie Harrison
Drive-by, why the jump from 0 to 2 and not 1?
3 years, 10 months ago (2017-02-24 13:07:59 UTC) #22
dproy
On 2017/02/24 13:07:59, Charlie Harrison wrote: > Drive-by, why the jump from 0 to 2 ...
3 years, 10 months ago (2017-02-24 15:25:25 UTC) #23
dproy
On 2017/02/24 13:07:59, Charlie Harrison wrote: > Drive-by, why the jump from 0 to 2 ...
3 years, 10 months ago (2017-02-24 15:25:26 UTC) #24
Kunihiko Sakamoto
On 2017/02/24 15:25:26, dproy wrote: > On 2017/02/24 13:07:59, Charlie Harrison wrote: > > Drive-by, ...
3 years, 9 months ago (2017-02-27 09:56:48 UTC) #25
kouhei (in TOK)
As discussed offline yesterday. (ksakamoto@ can skip reading this) I'm a bit worried that this ...
3 years, 9 months ago (2017-02-28 23:47:32 UTC) #26
Kunihiko Sakamoto
On 2017/02/28 23:47:32, kouhei wrote: > As discussed offline yesterday. (ksakamoto@ can skip reading this) ...
3 years, 9 months ago (2017-03-01 03:50:36 UTC) #27
tdresser
Good point. We could test this using cluster telemetry without waiting for the metric to ...
3 years, 9 months ago (2017-03-01 13:33:08 UTC) #29
Kunihiko Sakamoto
Kouhei, PTAL when you have time. Thanks! On 2017/03/01 13:33:08, tdresser wrote: > We could ...
3 years, 9 months ago (2017-03-06 09:32:18 UTC) #30
tdresser
On 2017/03/06 09:32:18, Kunihiko Sakamoto wrote: > Kouhei, PTAL when you have time. Thanks! > ...
3 years, 9 months ago (2017-03-06 13:07:19 UTC) #31
kouhei (in TOK)
lgtm sorry for the delay
3 years, 9 months ago (2017-03-07 16:33:49 UTC) #32
tdresser
LGTM with nit. https://codereview.chromium.org/2711893002/diff/100001/third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetectorTest.cpp File third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetectorTest.cpp (right): https://codereview.chromium.org/2711893002/diff/100001/third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetectorTest.cpp#newcode43 third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetectorTest.cpp:43: detector().network2QuietTimerFired(nullptr); Should we have a test ...
3 years, 9 months ago (2017-03-07 17:15:51 UTC) #33
Charlie Harrison
page_load_metrics RS LGTM
3 years, 9 months ago (2017-03-07 17:54:07 UTC) #34
Kunihiko Sakamoto
+tyoshino for platform/loader +isherman for histograms.xml https://codereview.chromium.org/2711893002/diff/100001/third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetectorTest.cpp File third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetectorTest.cpp (right): https://codereview.chromium.org/2711893002/diff/100001/third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetectorTest.cpp#newcode43 third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetectorTest.cpp:43: detector().network2QuietTimerFired(nullptr); On 2017/03/07 ...
3 years, 9 months ago (2017-03-08 04:34:51 UTC) #40
Ilya Sherman
https://codereview.chromium.org/2711893002/diff/120001/third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetector.cpp File third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetector.cpp (right): https://codereview.chromium.org/2711893002/diff/120001/third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetector.cpp#newcode172 third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetector.cpp:172: enum HadNetworkQuiet { Please document that this enum should ...
3 years, 9 months ago (2017-03-08 09:19:46 UTC) #41
Kunihiko Sakamoto
https://codereview.chromium.org/2711893002/diff/120001/third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetector.cpp File third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetector.cpp (right): https://codereview.chromium.org/2711893002/diff/120001/third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetector.cpp#newcode172 third_party/WebKit/Source/core/paint/FirstMeaningfulPaintDetector.cpp:172: enum HadNetworkQuiet { On 2017/03/08 09:19:46, Ilya Sherman wrote: ...
3 years, 9 months ago (2017-03-08 10:16:10 UTC) #42
Ilya Sherman
https://codereview.chromium.org/2711893002/diff/120001/tools/metrics/histograms/histograms.xml File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/2711893002/diff/120001/tools/metrics/histograms/histograms.xml#newcode20286 tools/metrics/histograms/histograms.xml:20286: +<histogram name="FirstMeaningfulPaintDetector.FirstMeaningfulPaintOrdering" On 2017/03/08 10:16:10, Kunihiko Sakamoto wrote: > ...
3 years, 9 months ago (2017-03-08 22:46:46 UTC) #43
Kunihiko Sakamoto
https://codereview.chromium.org/2711893002/diff/120001/tools/metrics/histograms/histograms.xml File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/2711893002/diff/120001/tools/metrics/histograms/histograms.xml#newcode20286 tools/metrics/histograms/histograms.xml:20286: +<histogram name="FirstMeaningfulPaintDetector.FirstMeaningfulPaintOrdering" On 2017/03/08 22:46:45, Ilya Sherman wrote: > ...
3 years, 9 months ago (2017-03-10 04:37:10 UTC) #44
Ilya Sherman
Metrics LGTM, thanks
3 years, 9 months ago (2017-03-10 20:45:24 UTC) #45
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/2711893002/180001
3 years, 9 months ago (2017-03-14 03:18:53 UTC) #52
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/384608)
3 years, 9 months ago (2017-03-14 03:27:15 UTC) #54
Kunihiko Sakamoto
Hirano-san, would you have a look, for platform/loader?
3 years, 9 months ago (2017-03-14 03:30:48 UTC) #56
yhirano
platform/loader lgtm
3 years, 9 months ago (2017-03-14 07:28:58 UTC) #57
Kunihiko Sakamoto
Hirano-san pointed out a bug (thanks!!) that 2-quiet timer must not restart when request count ...
3 years, 9 months ago (2017-03-14 08:57:33 UTC) #61
tdresser
On 2017/03/14 08:57:33, Kunihiko Sakamoto wrote: > Hirano-san pointed out a bug (thanks!!) that 2-quiet ...
3 years, 9 months ago (2017-03-14 12:49:31 UTC) #64
kouhei (in TOK)
still lgtm
3 years, 9 months ago (2017-03-14 22:58:33 UTC) #65
Kunihiko Sakamoto
Test case added, please take a final look. Thanks!
3 years, 9 months ago (2017-03-15 03:26:48 UTC) #68
kouhei (in TOK)
On 2017/03/15 03:26:48, Kunihiko Sakamoto wrote: > Test case added, please take a final look. ...
3 years, 9 months ago (2017-03-15 05:27:50 UTC) #69
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/2711893002/260001
3 years, 9 months ago (2017-03-15 05:29:25 UTC) #72
commit-bot: I haz the power
3 years, 9 months ago (2017-03-15 06:58:12 UTC) #75
Message was sent while issue was closed.
Committed patchset #10 (id:260001) as
https://chromium.googlesource.com/chromium/src/+/4d059dcf25a256d591234eb2a7ff...

Powered by Google App Engine
This is Rietveld 408576698