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

Issue 11028037: Fix prerender histograms for multiple prerender case. (Closed)

Created:
8 years, 2 months ago by gavinp
Modified:
8 years, 2 months ago
CC:
chromium-reviews, tburkard+watch_chromium.org, gavinp+prer_chromium.org, cbentzel+watch_chromium.org, dominich+watch_chromium.org
Visibility:
Public.

Description

Fix prerender histograms for multiple prerender case. Unfortunately, the prerender histograms mechanism for determining origin was basically a global variable; when multiple prerenders can be in flight at the same time, this doesn't work so well. To fix this, track the origin of prerenders in the PrerenderData and in the structure keeping track of prerendered web_contents, and pass explicit origins in for histogram recording. The "wash" determination still uses the window, which is the same as the TTL, and so it's passed in at initialization rather than being another constant in prerender_histograms.cc. BUG=None Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=162418

Patch Set 1 #

Patch Set 2 : whitespace fixes #

Patch Set 3 : remediate to self review... #

Patch Set 4 : ... whitespace #

Total comments: 11

Patch Set 5 : update the rite cl #

Total comments: 11

Patch Set 6 : ... partial remediation (stay tuned...) #

Total comments: 1

Patch Set 7 : ... remediation to tburkard and mmenke review #

Patch Set 8 : fix windows build #

Total comments: 2

Patch Set 9 : rebase #

Patch Set 10 : ... fix window logic #

Total comments: 15

Patch Set 11 : further remediation #

Total comments: 17

Patch Set 12 : remediate to mmenke review, add tests #

Total comments: 4

Patch Set 13 : ... rebase to trunk #

Patch Set 14 : ... new tests, indent. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+377 lines, -180 lines) Patch
M chrome/browser/chrome_content_browser_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/prerender/prerender_browsertest.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/prerender/prerender_contents.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +4 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_contents.cc View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +6 lines, -3 lines 0 comments Download
M chrome/browser/prerender/prerender_histograms.h View 1 2 3 4 5 6 7 8 9 4 chunks +14 lines, -29 lines 0 comments Download
M chrome/browser/prerender/prerender_histograms.cc View 1 2 3 4 5 6 7 8 9 10 11 14 chunks +32 lines, -61 lines 0 comments Download
M chrome/browser/prerender/prerender_local_predictor.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +22 lines, -10 lines 0 comments Download
M chrome/browser/prerender/prerender_manager.h View 1 2 3 4 5 6 7 8 9 10 11 8 chunks +64 lines, -15 lines 0 comments Download
M chrome/browser/prerender/prerender_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 16 chunks +116 lines, -49 lines 0 comments Download
A chrome/browser/prerender/prerender_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +100 lines, -0 lines 0 comments Download
M chrome/browser/prerender/prerender_origin.h View 1 2 3 4 5 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/prerender/prerender_origin.cc View 1 2 3 4 5 1 chunk +4 lines, -2 lines 0 comments Download
M chrome/browser/prerender/prerender_tab_helper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +7 lines, -7 lines 0 comments Download
M chrome/browser/task_manager/task_manager_resource_providers.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M chrome/chrome_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 24 (0 generated)
gavinp
This CL is being done up as a prerequisite of http://codereview.chromium.org/10933065/ , to make reviewing ...
8 years, 2 months ago (2012-10-05 15:20:43 UTC) #1
mmenke
This code makes my brain hurt. :( http://codereview.chromium.org/11028037/diff/10003/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/11028037/diff/10003/chrome/browser/prerender/prerender_manager.cc#newcode523 chrome/browser/prerender/prerender_manager.cc:523: const Origin* ...
8 years, 2 months ago (2012-10-05 17:01:15 UTC) #2
gavinp
Thanks for the review, Matt. Is this better? http://codereview.chromium.org/11028037/diff/10003/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/11028037/diff/10003/chrome/browser/prerender/prerender_manager.cc#newcode523 chrome/browser/prerender/prerender_manager.cc:523: const ...
8 years, 2 months ago (2012-10-05 20:43:34 UTC) #3
mmenke
On 2012/10/05 20:43:34, gavinp wrote: > Thanks for the review, Matt. > > Is this ...
8 years, 2 months ago (2012-10-05 20:47:45 UTC) #4
gavinp
On 2012/10/05 20:47:45, Matt Menke wrote: > On 2012/10/05 20:43:34, gavinp wrote: > > Thanks ...
8 years, 2 months ago (2012-10-05 21:25:13 UTC) #5
tburkard
Very subtle change. I will need to review this more, but the items mentioned below ...
8 years, 2 months ago (2012-10-05 21:54:04 UTC) #6
mmenke
http://codereview.chromium.org/11028037/diff/10003/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/11028037/diff/10003/chrome/browser/prerender/prerender_manager.cc#newcode528 chrome/browser/prerender/prerender_manager.cc:528: prerender_manager->WouldWebContentsBePrerendered(web_contents); On 2012/10/05 20:43:35, gavinp wrote: > On 2012/10/05 ...
8 years, 2 months ago (2012-10-08 18:20:07 UTC) #7
gavinp
mmenke and timo, thanks for your reviews. This code is sublte. I'm going to go ...
8 years, 2 months ago (2012-10-10 18:14:55 UTC) #8
tburkard
http://codereview.chromium.org/11028037/diff/24005/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/11028037/diff/24005/chrome/browser/prerender/prerender_manager.cc#newcode213 chrome/browser/prerender/prerender_manager.cc:213: histograms_.reset(new PrerenderHistograms(config_.time_to_live)); This value is used to determine WithinWindow ...
8 years, 2 months ago (2012-10-11 22:12:11 UTC) #9
gavinp
http://codereview.chromium.org/11028037/diff/24005/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/11028037/diff/24005/chrome/browser/prerender/prerender_manager.cc#newcode213 chrome/browser/prerender/prerender_manager.cc:213: histograms_.reset(new PrerenderHistograms(config_.time_to_live)); On 2012/10/11 22:12:12, tburkard wrote: > This ...
8 years, 2 months ago (2012-10-12 13:05:43 UTC) #10
tburkard
lgtm I guess once this is committed, you can rebase the other CL? can you ...
8 years, 2 months ago (2012-10-12 16:37:39 UTC) #11
mmenke
http://codereview.chromium.org/11028037/diff/33001/chrome/browser/prerender/prerender_local_predictor.cc File chrome/browser/prerender/prerender_local_predictor.cc (right): http://codereview.chromium.org/11028037/diff/33001/chrome/browser/prerender/prerender_local_predictor.cc#newcode410 chrome/browser/prerender/prerender_local_predictor.cc:410: event, PrerenderLocalPredictor::EVENT_MAX_VALUE); This used to call RecordLocalPredictorEvent, not RecordLocalPredictorTimeUntilUsed ...
8 years, 2 months ago (2012-10-12 17:59:03 UTC) #12
gavinp
Thanks Matt for the review. I've updated the patch. Is this closer? http://codereview.chromium.org/11028037/diff/33001/chrome/browser/prerender/prerender_local_predictor.cc File chrome/browser/prerender/prerender_local_predictor.cc ...
8 years, 2 months ago (2012-10-13 13:48:09 UTC) #13
mmenke
Not signing off on this because of the "IMPORTANT" issue. Once that's addressed, I'm good. ...
8 years, 2 months ago (2012-10-15 15:28:27 UTC) #14
mmenke
http://codereview.chromium.org/11028037/diff/45001/chrome/browser/prerender/prerender_histograms.cc File chrome/browser/prerender/prerender_histograms.cc (right): http://codereview.chromium.org/11028037/diff/45001/chrome/browser/prerender/prerender_histograms.cc#newcode111 chrome/browser/prerender/prerender_histograms.cc:111: HISTOGRAM; \ Wait...you need a NONE case in here, ...
8 years, 2 months ago (2012-10-15 15:31:30 UTC) #15
mmenke
http://codereview.chromium.org/11028037/diff/45001/chrome/browser/prerender/prerender_histograms.cc File chrome/browser/prerender/prerender_histograms.cc (right): http://codereview.chromium.org/11028037/diff/45001/chrome/browser/prerender/prerender_histograms.cc#newcode111 chrome/browser/prerender/prerender_histograms.cc:111: HISTOGRAM; \ On 2012/10/15 15:31:30, Matt Menke wrote: > ...
8 years, 2 months ago (2012-10-15 15:34:04 UTC) #16
mmenke
Last comment from me, for now...Erm...I hope. http://codereview.chromium.org/11028037/diff/45001/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/11028037/diff/45001/chrome/browser/prerender/prerender_manager.cc#newcode655 chrome/browser/prerender/prerender_manager.cc:655: return true; ...
8 years, 2 months ago (2012-10-15 15:37:15 UTC) #17
gavinp
+ben for OWNERS review Thank you for the reviews, Matt. Ben: Can you look at ...
8 years, 2 months ago (2012-10-15 18:32:39 UTC) #18
gavinp
http://codereview.chromium.org/11028037/diff/45001/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/11028037/diff/45001/chrome/browser/prerender/prerender_manager.cc#newcode655 chrome/browser/prerender/prerender_manager.cc:655: return true; On 2012/10/15 18:32:39, gavinp wrote: > On ...
8 years, 2 months ago (2012-10-15 18:43:00 UTC) #19
mmenke
LGTM http://codereview.chromium.org/11028037/diff/45001/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/11028037/diff/45001/chrome/browser/prerender/prerender_manager.cc#newcode655 chrome/browser/prerender/prerender_manager.cc:655: return true; On 2012/10/15 18:32:39, gavinp wrote: > ...
8 years, 2 months ago (2012-10-15 18:46:21 UTC) #20
gavinp
Ben: any chance of a rubber stamp today? http://codereview.chromium.org/11028037/diff/48005/chrome/browser/prerender/prerender_manager.cc File chrome/browser/prerender/prerender_manager.cc (right): http://codereview.chromium.org/11028037/diff/48005/chrome/browser/prerender/prerender_manager.cc#newcode183 chrome/browser/prerender/prerender_manager.cc:183: : ...
8 years, 2 months ago (2012-10-16 13:52:00 UTC) #21
Ben Goodger (Google)
lgtm
8 years, 2 months ago (2012-10-16 18:17:06 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/gavinp@chromium.org/11028037/43005
8 years, 2 months ago (2012-10-17 14:01:03 UTC) #23
commit-bot: I haz the power
8 years, 2 months ago (2012-10-17 16:01:03 UTC) #24
Change committed as 162418

Powered by Google App Engine
This is Rietveld 408576698