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

Issue 1357403003: Separate page load metrics for backgrounded pages (Closed)

Created:
5 years, 3 months ago by Charlie Harrison
Modified:
5 years, 2 months ago
CC:
chromium-reviews, asvitkine+watch_chromium.org, clamy
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Separate page load metrics for backgrounded pages BUG=382542 Committed: https://crrev.com/1fb23d444bce951a4c169e0e06589fc2c147ec2d Cr-Commit-Position: refs/heads/master@{#351587}

Patch Set 1 #

Patch Set 2 : Used DidFinishLoad instead of DidStopLoading #

Total comments: 4

Patch Set 3 : Keep track of all provisional navigation handles + general refactor #

Total comments: 20

Patch Set 4 : Bryan review notes: change provisional vector to map #

Total comments: 18

Patch Set 5 : Update for Navigation API changes #

Patch Set 6 : minor changes per Bryan review #

Total comments: 3

Patch Set 7 : Histogram BG suffix and updated bg logic + test #

Patch Set 8 : Only log first background time #

Total comments: 4

Patch Set 9 : Alexei review #

Patch Set 10 : Can't record raw delta before we have nav_start. Be more lazy. #

Total comments: 21

Patch Set 11 : Bryan review, added csharrison to histogram OWNERS #

Patch Set 12 : Added a started_in_foreground boolean to PageLoadTracker for clarity #

Total comments: 1

Patch Set 13 : Added new histograms to replace the corrupted old ones #

Total comments: 2

Patch Set 14 : DCHECK nit #

Unified diffs Side-by-side diffs Delta from patch set Stats (+365 lines, -57 lines) Patch
M components/page_load_metrics/browser/metrics_web_contents_observer.h View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +43 lines, -4 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 3 chunks +144 lines, -48 lines 0 comments Download
M components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +127 lines, -4 lines 0 comments Download
M components/page_load_metrics/renderer/metrics_render_frame_observer.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +50 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 36 (4 generated)
Charlie Harrison
The change should accurately keep track of whether a web contents had a page load ...
5 years, 3 months ago (2015-09-22 19:02:08 UTC) #2
Charlie Harrison
@clamy, I was originally using DidFinishNavigation for tracking when the document load finishes. I noticed ...
5 years, 3 months ago (2015-09-22 19:54:11 UTC) #3
Bryan McQuade
https://codereview.chromium.org/1357403003/diff/20001/components/page_load_metrics/browser/metrics_web_contents_observer.cc File components/page_load_metrics/browser/metrics_web_contents_observer.cc (right): https://codereview.chromium.org/1357403003/diff/20001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode57 components/page_load_metrics/browser/metrics_web_contents_observer.cc:57: in_foreground_(false) {} can webcontents ever start foregrounded (such that ...
5 years, 3 months ago (2015-09-22 23:27:47 UTC) #4
clamy
@csharrison: DidStopLoading will only be called when the entire page has stopped loading. In a ...
5 years, 3 months ago (2015-09-22 23:54:31 UTC) #6
clamy
https://codereview.chromium.org/1357403003/diff/20001/components/page_load_metrics/browser/metrics_web_contents_observer.cc File components/page_load_metrics/browser/metrics_web_contents_observer.cc (right): https://codereview.chromium.org/1357403003/diff/20001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode96 components/page_load_metrics/browser/metrics_web_contents_observer.cc:96: current_navigation_stayed_in_foreground_ = in_foreground_; On 2015/09/22 23:54:31, clamy wrote: > ...
5 years, 3 months ago (2015-09-23 00:06:18 UTC) #7
Charlie Harrison
On 2015/09/23 00:06:18, clamy wrote: > https://codereview.chromium.org/1357403003/diff/20001/components/page_load_metrics/browser/metrics_web_contents_observer.cc > File components/page_load_metrics/browser/metrics_web_contents_observer.cc > (right): > > https://codereview.chromium.org/1357403003/diff/20001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode96 ...
5 years, 3 months ago (2015-09-23 13:07:14 UTC) #8
Charlie Harrison
@clamy does DidFinishLoad wait until all subframes are loaded? I thought it corresponded to the ...
5 years, 3 months ago (2015-09-23 22:02:04 UTC) #9
Charlie Harrison
https://codereview.chromium.org/1357403003/diff/20001/components/page_load_metrics/browser/metrics_web_contents_observer.cc File components/page_load_metrics/browser/metrics_web_contents_observer.cc (right): https://codereview.chromium.org/1357403003/diff/20001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode57 components/page_load_metrics/browser/metrics_web_contents_observer.cc:57: in_foreground_(false) {} On 2015/09/22 23:27:47, Bryan McQuade wrote: > ...
5 years, 3 months ago (2015-09-23 22:15:24 UTC) #10
Charlie Harrison
On 2015/09/23 22:15:24, csharrison wrote: > https://codereview.chromium.org/1357403003/diff/20001/components/page_load_metrics/browser/metrics_web_contents_observer.cc > File components/page_load_metrics/browser/metrics_web_contents_observer.cc > (right): > > https://codereview.chromium.org/1357403003/diff/20001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode57 ...
5 years, 3 months ago (2015-09-23 22:36:30 UTC) #11
Charlie Harrison
On 2015/09/23 22:36:30, csharrison wrote: > On 2015/09/23 22:15:24, csharrison wrote: > > > https://codereview.chromium.org/1357403003/diff/20001/components/page_load_metrics/browser/metrics_web_contents_observer.cc ...
5 years, 3 months ago (2015-09-24 13:36:18 UTC) #12
Bryan McQuade
https://codereview.chromium.org/1357403003/diff/40001/components/page_load_metrics/browser/metrics_web_contents_observer.cc File components/page_load_metrics/browser/metrics_web_contents_observer.cc (left): https://codereview.chromium.org/1357403003/diff/40001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#oldcode76 components/page_load_metrics/browser/metrics_web_contents_observer.cc:76: if (navigation_handle->IsInMainFrame() && !navigation_handle->IsSamePage()) why did the IsSamePage test ...
5 years, 3 months ago (2015-09-24 15:14:12 UTC) #13
Charlie Harrison
DidFinishLoad is also called when all subframes have finished loading. I'm not sure there is ...
5 years, 3 months ago (2015-09-24 15:48:22 UTC) #14
Bryan McQuade
https://codereview.chromium.org/1357403003/diff/40001/components/page_load_metrics/browser/metrics_web_contents_observer.cc File components/page_load_metrics/browser/metrics_web_contents_observer.cc (right): https://codereview.chromium.org/1357403003/diff/40001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode156 components/page_load_metrics/browser/metrics_web_contents_observer.cc:156: for (auto iter = provisional_loads_.begin(); On 2015/09/24 15:48:21, csharrison ...
5 years, 3 months ago (2015-09-24 15:55:54 UTC) #15
Bryan McQuade
https://codereview.chromium.org/1357403003/diff/60001/components/page_load_metrics/browser/metrics_web_contents_observer.cc File components/page_load_metrics/browser/metrics_web_contents_observer.cc (left): https://codereview.chromium.org/1357403003/diff/60001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#oldcode97 components/page_load_metrics/browser/metrics_web_contents_observer.cc:97: if (!current_timing_) should we still continue to return if ...
5 years, 3 months ago (2015-09-24 18:21:52 UTC) #16
clamy
Thanks! A few drop-by comments. The 3 provisional load you are seeing is likely due ...
5 years, 3 months ago (2015-09-24 18:35:59 UTC) #17
Charlie Harrison
On 2015/09/24 18:35:59, clamy wrote: > Thanks! A few drop-by comments. > > The 3 ...
5 years, 3 months ago (2015-09-24 18:48:57 UTC) #18
Charlie Harrison
https://codereview.chromium.org/1357403003/diff/60001/components/page_load_metrics/browser/metrics_web_contents_observer.cc File components/page_load_metrics/browser/metrics_web_contents_observer.cc (right): https://codereview.chromium.org/1357403003/diff/60001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode68 components/page_load_metrics/browser/metrics_web_contents_observer.cc:68: if (!has_finished_) On 2015/09/24 18:21:52, Bryan McQuade wrote: > ...
5 years, 3 months ago (2015-09-24 18:49:07 UTC) #19
Alexei Svitkine (slow)
https://codereview.chromium.org/1357403003/diff/100001/components/page_load_metrics/browser/metrics_web_contents_observer.cc File components/page_load_metrics/browser/metrics_web_contents_observer.cc (right): https://codereview.chromium.org/1357403003/diff/100001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode55 components/page_load_metrics/browser/metrics_web_contents_observer.cc:55: base::TimeDelta::FromMinutes(10), 100); Nit: No ; The caller will supply ...
5 years, 2 months ago (2015-09-28 18:27:22 UTC) #20
Charlie Harrison
Here's the updated CL. We log a timestamp when a page is backgrounded for the ...
5 years, 2 months ago (2015-09-28 21:30:43 UTC) #21
Alexei Svitkine (slow)
https://codereview.chromium.org/1357403003/diff/140001/components/page_load_metrics/browser/metrics_web_contents_observer.cc File components/page_load_metrics/browser/metrics_web_contents_observer.cc (right): https://codereview.chromium.org/1357403003/diff/140001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode58 components/page_load_metrics/browser/metrics_web_contents_observer.cc:58: background_time = in_foreground ? base::TimeDelta::Max() : base::TimeDelta(); Nit: Make ...
5 years, 2 months ago (2015-09-28 21:40:35 UTC) #22
Charlie Harrison
On 2015/09/28 21:40:35, Alexei Svitkine wrote: > https://codereview.chromium.org/1357403003/diff/140001/components/page_load_metrics/browser/metrics_web_contents_observer.cc > File components/page_load_metrics/browser/metrics_web_contents_observer.cc > (right): > > ...
5 years, 2 months ago (2015-09-28 21:47:38 UTC) #23
Alexei Svitkine (slow)
lgtm
5 years, 2 months ago (2015-09-28 21:54:58 UTC) #24
Bryan McQuade
https://codereview.chromium.org/1357403003/diff/180001/components/page_load_metrics/browser/metrics_web_contents_observer.cc File components/page_load_metrics/browser/metrics_web_contents_observer.cc (left): https://codereview.chromium.org/1357403003/diff/180001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#oldcode86 components/page_load_metrics/browser/metrics_web_contents_observer.cc:86: void MetricsWebContentsObserver::RenderProcessGone( if removing this causes us to log ...
5 years, 2 months ago (2015-09-29 00:32:20 UTC) #25
Bryan McQuade
https://codereview.chromium.org/1357403003/diff/60001/components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc File components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc (right): https://codereview.chromium.org/1357403003/diff/60001/components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc#newcode89 components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc:89: observer_->DidFinishLoad(web_contents()->GetMainFrame(), we probably no longer need these calls to ...
5 years, 2 months ago (2015-09-29 00:43:01 UTC) #26
Bryan McQuade
https://codereview.chromium.org/1357403003/diff/180001/components/page_load_metrics/browser/metrics_web_contents_observer.cc File components/page_load_metrics/browser/metrics_web_contents_observer.cc (right): https://codereview.chromium.org/1357403003/diff/180001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode102 components/page_load_metrics/browser/metrics_web_contents_observer.cc:102: base::TimeDelta background_delta = On 2015/09/29 00:32:19, Bryan McQuade wrote: ...
5 years, 2 months ago (2015-09-29 12:38:52 UTC) #27
Charlie Harrison
Unfortunately TimeTicks has no Max(), so I changed the logic slightly so that no background ...
5 years, 2 months ago (2015-09-29 14:13:07 UTC) #28
Bryan McQuade
LGTM https://codereview.chromium.org/1357403003/diff/220001/components/page_load_metrics/browser/metrics_web_contents_observer.cc File components/page_load_metrics/browser/metrics_web_contents_observer.cc (right): https://codereview.chromium.org/1357403003/diff/220001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode224 components/page_load_metrics/browser/metrics_web_contents_observer.cc:224: if (!committed_load_) re: your previous comment, if you ...
5 years, 2 months ago (2015-09-29 18:05:57 UTC) #29
Charlie Harrison
On 2015/09/29 18:05:57, Bryan McQuade wrote: > LGTM > > https://codereview.chromium.org/1357403003/diff/220001/components/page_load_metrics/browser/metrics_web_contents_observer.cc > File components/page_load_metrics/browser/metrics_web_contents_observer.cc > ...
5 years, 2 months ago (2015-09-29 18:31:04 UTC) #30
Deprecated (see juliatuttle)
LGTM with one nit. https://codereview.chromium.org/1357403003/diff/240001/components/page_load_metrics/browser/metrics_web_contents_observer.cc File components/page_load_metrics/browser/metrics_web_contents_observer.cc (right): https://codereview.chromium.org/1357403003/diff/240001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode36 components/page_load_metrics/browser/metrics_web_contents_observer.cc:36: DCHECK_IMPLIES( Whoa, I didn't know ...
5 years, 2 months ago (2015-09-30 15:47:30 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1357403003/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1357403003/260001
5 years, 2 months ago (2015-09-30 16:12:50 UTC) #34
commit-bot: I haz the power
Committed patchset #14 (id:260001)
5 years, 2 months ago (2015-09-30 17:29:33 UTC) #35
commit-bot: I haz the power
5 years, 2 months ago (2015-09-30 17:30:50 UTC) #36
Message was sent while issue was closed.
Patchset 14 (id:??) landed as
https://crrev.com/1fb23d444bce951a4c169e0e06589fc2c147ec2d
Cr-Commit-Position: refs/heads/master@{#351587}

Powered by Google App Engine
This is Rietveld 408576698