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

Issue 2321083002: [NoStatePrefetch] Add performance histograms. (Closed)

Created:
4 years, 3 months ago by droger
Modified:
4 years, 3 months ago
CC:
Bryan McQuade, browser-components-watch_chromium.org, cbentzel+watch_chromium.org, chili+watch_chromium.org, chromium-apps-reviews_chromium.org, chromium-reviews, csharrison+watch_chromium.org, David Black, dewittj+watch_chromium.org, dhollowa+watch_chromium.org, dimich+watch_chromium.org, donnd+watch_chromium.org, dougw+watch_chromium.org, eroman, extensions-reviews_chromium.org, felt, fgorski+watch_chromium.org, gavinp+prer_chromium.org, Jered, jfweitz+watch_chromium.org, kmadhusu+watch_chromium.org, loading-reviews+metrics_chromium.org, markusheintz_, melevin+watch_chromium.org, mmenke, msramek+watch_chromium.org, petewil+watch_chromium.org, romax+watch_chromium.org, samarth+watch_chromium.org, shishir+watch_chromium.org, skanuj+watch_chromium.org, tburkard+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[NoStatePrefetch] Add performance histograms. This CL adds histograms to record performance of NoStatePrefetch. The histograms added are: NoStatePrefetchAge: age of the prefetch when it is used NoStatePrefetchTTFCP: Time To First Contentful Paint, with variations: - Cold/Warm/Reference: * Warm: Prefetch is recent enough to skip revalidation * Cold: Prefetch is old and does not skip revalidation * Reference: there was no prefetch - Cacheable/NoStore: whether the main resource had "no-store" headers. BUG=642371 TBR=jochen Committed: https://crrev.com/c154315d263486c4ecd1cc9b1f73e82efeb2468a Cr-Commit-Position: refs/heads/master@{#419733}

Patch Set 1 #

Patch Set 2 : Implement discussion conclusions #

Total comments: 8

Patch Set 3 : Removed Profile conversions #

Patch Set 4 : Rename histograms to warm/cold #

Total comments: 17

Patch Set 5 : review comments #

Patch Set 6 : rename url_ to start_url_ #

Total comments: 17

Patch Set 7 : Review comments #

Patch Set 8 : Fun with suffixes #

Total comments: 10

Patch Set 9 : review comments #

Total comments: 2

Patch Set 10 : CreateIfNeeded #

Patch Set 11 : Added browser test #

Total comments: 5

Patch Set 12 : Review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+382 lines, -66 lines) Patch
M chrome/browser/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/android/offline_pages/prerender_adapter.cc View 1 2 2 chunks +1 line, -3 lines 0 comments Download
M chrome/browser/android/offline_pages/prerender_adapter_unittest.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/android/tab_android.cc View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/android/tab_web_contents_delegate_android.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/browsing_data/browsing_data_remover.cc View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/chrome_content_browser_client.cc View 1 2 3 4 2 chunks +4 lines, -6 lines 0 comments Download
M chrome/browser/extensions/activity_log/activity_log.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/activity_log/activity_log_browsertest.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/activity_log/activity_log_unittest.cc View 1 chunk +1 line, -2 lines 0 comments Download
M chrome/browser/history/history_tab_helper.cc View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/page_load_metrics/metrics_web_contents_observer.h View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/browser/page_load_metrics/metrics_web_contents_observer.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +5 lines, -3 lines 0 comments Download
A chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +46 lines, -0 lines 0 comments Download
A chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc View 1 2 3 4 5 6 7 8 9 1 chunk +50 lines, -0 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 2 chunks +40 lines, -0 lines 0 comments Download
M chrome/browser/page_load_metrics/page_load_metrics_initialize.cc View 1 2 3 4 5 6 7 8 9 2 chunks +6 lines, -0 lines 0 comments Download
M chrome/browser/page_load_metrics/page_load_metrics_observer.h View 1 2 3 4 5 6 2 chunks +4 lines, -0 lines 0 comments Download
M chrome/browser/page_load_metrics/page_load_metrics_observer.cc View 1 2 3 4 5 6 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/browser/predictors/autocomplete_action_predictor.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/prerender/external_prerender_handler_android.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/prerender/prerender_browsertest.cc View 1 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/prerender/prerender_contents.cc View 1 1 chunk +3 lines, -2 lines 0 comments Download
M chrome/browser/prerender/prerender_histograms.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +19 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_histograms.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +55 lines, -1 line 0 comments Download
M chrome/browser/prerender/prerender_link_manager_factory.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/prerender/prerender_manager.h View 1 2 3 4 5 6 7 8 9 3 chunks +13 lines, -1 line 0 comments Download
M chrome/browser/prerender/prerender_manager.cc View 1 2 3 4 5 6 7 8 9 6 chunks +45 lines, -13 lines 0 comments Download
M chrome/browser/prerender/prerender_manager_factory.h View 2 chunks +6 lines, -1 line 0 comments Download
M chrome/browser/prerender/prerender_manager_factory.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M chrome/browser/prerender/prerender_tab_helper.cc View 1 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/prerender/prerender_test_utils.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc View 1 2 3 4 1 chunk +2 lines, -5 lines 0 comments Download
M chrome/browser/ui/browser_navigator.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/search/instant_search_prerenderer.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/ui/search/instant_search_prerenderer_unittest.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/ui/webui/net_internals/net_internals_ui.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/webui/net_internals/net_internals_ui_browsertest.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
A chrome/test/data/nostore.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +4 lines, -0 lines 0 comments Download
A chrome/test/data/nostore.html.mock-http-headers View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -0 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +39 lines, -0 lines 0 comments Download

Messages

Total messages: 82 (53 generated)
droger
This is not completely finished, but sending early if people are interested to discuss it. ...
4 years, 3 months ago (2016-09-08 15:53:57 UTC) #2
droger
On 2016/09/08 15:53:57, droger wrote: > I'm open to discussion/brainstorming with people that are interested. ...
4 years, 3 months ago (2016-09-12 10:04:30 UTC) #3
droger
I implemented the histograms as discussed. Note that in addition to the discussed splits (per ...
4 years, 3 months ago (2016-09-12 16:15:17 UTC) #8
mattcary
https://codereview.chromium.org/2321083002/diff/100001/chrome/browser/prerender/prerender_histograms.cc File chrome/browser/prerender/prerender_histograms.cc (right): https://codereview.chromium.org/2321083002/diff/100001/chrome/browser/prerender/prerender_histograms.cc#newcode475 chrome/browser/prerender/prerender_histograms.cc:475: ? "NoStatePrefetchTTFCPWithoutRevalidation" So do we know positively that revalidation ...
4 years, 3 months ago (2016-09-14 12:33:21 UTC) #9
droger
Thanks! https://codereview.chromium.org/2321083002/diff/100001/chrome/browser/prerender/prerender_histograms.cc File chrome/browser/prerender/prerender_histograms.cc (right): https://codereview.chromium.org/2321083002/diff/100001/chrome/browser/prerender/prerender_histograms.cc#newcode475 chrome/browser/prerender/prerender_histograms.cc:475: ? "NoStatePrefetchTTFCPWithoutRevalidation" On 2016/09/14 12:33:21, mattcary wrote: > ...
4 years, 3 months ago (2016-09-14 14:15:42 UTC) #12
mattcary
lgtm https://codereview.chromium.org/2321083002/diff/100001/chrome/browser/prerender/prerender_histograms.cc File chrome/browser/prerender/prerender_histograms.cc (right): https://codereview.chromium.org/2321083002/diff/100001/chrome/browser/prerender/prerender_histograms.cc#newcode475 chrome/browser/prerender/prerender_histograms.cc:475: ? "NoStatePrefetchTTFCPWithoutRevalidation" > I assume that your concern ...
4 years, 3 months ago (2016-09-14 14:19:39 UTC) #13
droger
+mmenke for chrome/browser/prerender +asvitkine for histograms.xml Il will TBR the OWNERS for other changes (updating ...
4 years, 3 months ago (2016-09-15 10:06:02 UTC) #24
droger
And +csharrison for chrome/browser/page_load_metrics
4 years, 3 months ago (2016-09-15 10:15:46 UTC) #32
Charlie Harrison
https://codereview.chromium.org/2321083002/diff/200001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc File chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc (right): https://codereview.chromium.org/2321083002/diff/200001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc#newcode28 chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc:28: prerender_manager_ = manager->AsWeakPtr(); Be mindful that we turn off ...
4 years, 3 months ago (2016-09-15 13:41:34 UTC) #39
droger
Thanks for the review. https://codereview.chromium.org/2321083002/diff/200001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc File chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc (right): https://codereview.chromium.org/2321083002/diff/200001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc#newcode28 chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc:28: prerender_manager_ = manager->AsWeakPtr(); On 2016/09/15 ...
4 years, 3 months ago (2016-09-15 15:06:34 UTC) #41
Charlie Harrison
Thanks! Just a few more questions. https://codereview.chromium.org/2321083002/diff/200001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h File chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h (right): https://codereview.chromium.org/2321083002/diff/200001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h#newcode31 chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h:31: GURL url_; // ...
4 years, 3 months ago (2016-09-15 15:22:20 UTC) #47
Alexei Svitkine (slow)
https://codereview.chromium.org/2321083002/diff/240001/chrome/browser/prerender/prerender_histograms.cc File chrome/browser/prerender/prerender_histograms.cc (right): https://codereview.chromium.org/2321083002/diff/240001/chrome/browser/prerender/prerender_histograms.cc#newcode52 chrome/browser/prerender/prerender_histograms.cc:52: void RecordHistogramTime(std::string histogram_name, Pass by const std::string& https://codereview.chromium.org/2321083002/diff/240001/chrome/browser/prerender/prerender_histograms.cc#newcode484 chrome/browser/prerender/prerender_histograms.cc:484: ...
4 years, 3 months ago (2016-09-15 16:53:29 UTC) #50
mmenke
https://codereview.chromium.org/2321083002/diff/240001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc File chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc (right): https://codereview.chromium.org/2321083002/diff/240001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc#newcode59 chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.cc:59: DCHECK(navigation_committed_); include base/logging.h https://codereview.chromium.org/2321083002/diff/240001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h File chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h (right): https://codereview.chromium.org/2321083002/diff/240001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h#newcode48 chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h:48: ...
4 years, 3 months ago (2016-09-15 17:20:44 UTC) #51
droger
Thanks all for the reviews. Almost everything done. I have a few questions and comments ...
4 years, 3 months ago (2016-09-16 12:21:50 UTC) #54
Alexei Svitkine (slow)
https://codereview.chromium.org/2321083002/diff/240001/chrome/browser/prerender/prerender_histograms.cc File chrome/browser/prerender/prerender_histograms.cc (right): https://codereview.chromium.org/2321083002/diff/240001/chrome/browser/prerender/prerender_histograms.cc#newcode484 chrome/browser/prerender/prerender_histograms.cc:484: time, 100); On 2016/09/16 12:21:49, droger wrote: > On ...
4 years, 3 months ago (2016-09-16 14:16:21 UTC) #57
droger
https://codereview.chromium.org/2321083002/diff/240001/tools/metrics/histograms/histograms.xml File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/2321083002/diff/240001/tools/metrics/histograms/histograms.xml#newcode45956 tools/metrics/histograms/histograms.xml:45956: +<histogram name="Prerender.NoStatePrefetchTTFCPWarmCacheable" units="ms"> On 2016/09/16 14:16:21, Alexei Svitkine (very ...
4 years, 3 months ago (2016-09-16 14:51:59 UTC) #58
Alexei Svitkine (slow)
lgtm https://codereview.chromium.org/2321083002/diff/240001/tools/metrics/histograms/histograms.xml File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/2321083002/diff/240001/tools/metrics/histograms/histograms.xml#newcode45956 tools/metrics/histograms/histograms.xml:45956: +<histogram name="Prerender.NoStatePrefetchTTFCPWarmCacheable" units="ms"> On 2016/09/16 14:51:58, droger wrote: ...
4 years, 3 months ago (2016-09-16 14:59:37 UTC) #59
mmenke
https://codereview.chromium.org/2321083002/diff/240001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h File chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h (right): https://codereview.chromium.org/2321083002/diff/240001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h#newcode48 chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h:48: prerender::PrerenderManager* prerender_manager_; On 2016/09/16 12:21:49, droger wrote: > On ...
4 years, 3 months ago (2016-09-16 16:53:49 UTC) #60
droger
Thanks! https://codereview.chromium.org/2321083002/diff/240001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h File chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h (right): https://codereview.chromium.org/2321083002/diff/240001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h#newcode48 chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h:48: prerender::PrerenderManager* prerender_manager_; On 2016/09/16 16:53:48, mmenke wrote: > ...
4 years, 3 months ago (2016-09-19 09:55:23 UTC) #61
Bryan McQuade
Thanks, this looks good! One suggestion: could we add a test in page_load_metrics_browsertest.cc that loads ...
4 years, 3 months ago (2016-09-19 14:11:19 UTC) #63
mmenke
prerender/ LGTM https://codereview.chromium.org/2321083002/diff/280001/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): https://codereview.chromium.org/2321083002/diff/280001/chrome/browser/prerender/prerender_manager.cc#newcode570 chrome/browser/prerender/prerender_manager.cc:570: base::TimeDelta time) { On 2016/09/19 09:55:23, droger ...
4 years, 3 months ago (2016-09-19 15:43:46 UTC) #64
droger
Thanks. Still working on the test, and will do another pass on histogram descriptions. https://codereview.chromium.org/2321083002/diff/280001/chrome/browser/prerender/prerender_manager.cc ...
4 years, 3 months ago (2016-09-19 15:52:56 UTC) #65
droger
bmcquade: added the browser test, please take a look.
4 years, 3 months ago (2016-09-19 16:28:02 UTC) #66
Bryan McQuade
Thanks very much for the tests! LGTM once comments are addressed. Thanks again! https://codereview.chromium.org/2321083002/diff/340001/chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc File ...
4 years, 3 months ago (2016-09-19 16:35:03 UTC) #71
Charlie Harrison
LGTM w/ nit https://codereview.chromium.org/2321083002/diff/340001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h File chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h (right): https://codereview.chromium.org/2321083002/diff/340001/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h#newcode34 chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h:34: // page_load_metrics::PageLoadMetricsObserver overrides: nit: remove "overrides"
4 years, 3 months ago (2016-09-19 16:40:06 UTC) #72
droger
TBR jochen for updated callsites of PrerenderManagerFactory: chrome/browser/android/offline_pages/prerender_adapter.cc chrome/browser/android/offline_pages/prerender_adapter_unittest.cc chrome/browser/android/tab_android.cc chrome/browser/android/tab_web_contents_delegate_android.cc chrome/browser/browsing_data/browsing_data_remover.cc chrome/browser/extensions/activity_log/activity_log.cc chrome/browser/extensions/activity_log/activity_log_browsertest.cc chrome/browser/extensions/activity_log/activity_log_unittest.cc ...
4 years, 3 months ago (2016-09-20 11:58:33 UTC) #75
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/2321083002/360001
4 years, 3 months ago (2016-09-20 11:59:22 UTC) #78
commit-bot: I haz the power
Committed patchset #12 (id:360001)
4 years, 3 months ago (2016-09-20 13:03:57 UTC) #80
commit-bot: I haz the power
4 years, 3 months ago (2016-09-20 13:05:38 UTC) #82
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/c154315d263486c4ecd1cc9b1f73e82efeb2468a
Cr-Commit-Position: refs/heads/master@{#419733}

Powered by Google App Engine
This is Rietveld 408576698