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

Issue 1476503004: [page_load_metrics] User Initiated Abort Tracking (Observer version) (Closed)

Created:
5 years ago by Charlie Harrison
Modified:
5 years ago
CC:
asvitkine+watch_chromium.org, blundell+watchlist_chromium.org, chromium-reviews, csharrison+watch_chromium.org, droger+watchlist_chromium.org, loading-reviews+metrics_chromium.org, Randy Smith (Not in Mondays), sdefresne+watchlist_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@new_observer
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[page_load_metrics] User Initiated Abort Tracking (Observer version) Brief implementation design document here: https://docs.google.com/a/chromium.org/document/d/18qyICfGXWyBzl40B2Ky_qSlSRJLufrnZoaLUz6bEUQA/edit?usp=sharing BUG=517209 Committed: https://crrev.com/a50c920204e0053a0bdb356d0783a5191a3bb8f3 Cr-Commit-Position: refs/heads/master@{#365617}

Patch Set 1 #

Patch Set 2 : fixes #

Patch Set 3 : add design doc link #

Patch Set 4 : Fix rebase #

Patch Set 5 : #

Patch Set 6 : #

Total comments: 4

Patch Set 7 : ScopedVector => std::vector #

Total comments: 13

Patch Set 8 : Bryan review + fix #

Patch Set 9 : switch case #

Patch Set 10 : Update for EventOccurredInForeground #

Total comments: 20

Patch Set 11 : Bryan review #

Total comments: 11

Patch Set 12 : bryan review #

Patch Set 13 : Don't clear provisional loads on RenderProcessGone #

Total comments: 21

Patch Set 14 : kinuko review #

Total comments: 1

Patch Set 15 : Only eagerly log on renderer crash #

Total comments: 1

Patch Set 16 : Quick early return fix #

Patch Set 17 : DCHECK(status != still running) #

Patch Set 18 : rebase on #365097 #

Total comments: 14

Patch Set 19 : Alexei review #

Total comments: 4

Patch Set 20 : Alexei nits #

Total comments: 1

Patch Set 21 : const methods #

Patch Set 22 : Remove dcheck for STILL_RUNNING #

Unified diffs Side-by-side diffs Delta from patch set Stats (+546 lines, -58 lines) Patch
A chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +40 lines, -0 lines 0 comments Download
A chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +128 lines, -0 lines 0 comments Download
M chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3 chunks +64 lines, -0 lines 0 comments Download
M chrome/browser/page_load_metrics/page_load_metrics_initialize.cc View 1 2 3 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +2 lines, -0 lines 0 comments Download
M components/page_load_metrics/browser/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M components/page_load_metrics/browser/DEPS View 1 chunk +1 line, -0 lines 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 15 16 17 18 19 20 6 chunks +36 lines, -6 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 15 16 17 18 19 20 21 19 chunks +143 lines, -49 lines 0 comments Download
M components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc View 1 2 3 1 chunk +19 lines, -0 lines 0 comments Download
M components/page_load_metrics/browser/page_load_metrics_observer.h View 1 2 3 2 chunks +43 lines, -1 line 0 comments Download
M components/page_load_metrics/browser/page_load_metrics_observer.cc View 1 2 3 1 chunk +6 lines, -2 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 15 16 17 18 19 20 21 2 chunks +61 lines, -0 lines 0 comments Download

Messages

Total messages: 60 (14 generated)
Charlie Harrison
This is based on the new observer API. This can sit on this until that ...
5 years ago (2015-11-25 20:20:00 UTC) #3
Charlie Harrison
Adding kinuko@ to give rdsmith@ a break.
5 years ago (2015-12-07 18:10:56 UTC) #6
Charlie Harrison
Adding kinuko@ to give rdsmith@ a break.
5 years ago (2015-12-07 18:11:01 UTC) #7
kinuko
looking good https://codereview.chromium.org/1476503004/diff/100001/components/page_load_metrics/browser/metrics_web_contents_observer.h File components/page_load_metrics/browser/metrics_web_contents_observer.h (right): https://codereview.chromium.org/1476503004/diff/100001/components/page_load_metrics/browser/metrics_web_contents_observer.h#newcode336 components/page_load_metrics/browser/metrics_web_contents_observer.h:336: ScopedVector<PageLoadTracker> aborted_provisional_loads_; nit: vector<scoped_ptr<>> should work now ...
5 years ago (2015-12-09 04:57:51 UTC) #8
Bryan McQuade
https://codereview.chromium.org/1476503004/diff/120001/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc File chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc (right): https://codereview.chromium.org/1476503004/diff/120001/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc#newcode35 chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc:35: if (abort_type == UserAbortType::ABORT_RELOAD) { nit: should we do ...
5 years ago (2015-12-09 20:35:24 UTC) #9
Charlie Harrison
On 2015/12/09 20:35:24, Bryan McQuade wrote: > https://codereview.chromium.org/1476503004/diff/120001/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc > File > chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc > (right): > ...
5 years ago (2015-12-09 20:40:56 UTC) #10
Charlie Harrison
Adam's patch is ready to go, so I'll merge with that asap. https://codereview.chromium.org/1476503004/diff/100001/components/page_load_metrics/browser/metrics_web_contents_observer.h File components/page_load_metrics/browser/metrics_web_contents_observer.h ...
5 years ago (2015-12-09 22:46:44 UTC) #11
kinuko
(Let me do one more review after this one's rebased on top of adam's one) ...
5 years ago (2015-12-10 08:39:35 UTC) #12
Charlie Harrison
Updated switch case and also migrated away from GetBackgroundDelta to EventOccurredInForeground. Randy would be happy ...
5 years ago (2015-12-10 16:01:54 UTC) #13
Bryan McQuade
https://codereview.chromium.org/1476503004/diff/180001/chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc File chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc (right): https://codereview.chromium.org/1476503004/diff/180001/chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc#newcode53 chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc:53: tracker->AddObserver( I'd like to have a separate aborts_page_load_metrics_observer_unittest.cc for ...
5 years ago (2015-12-10 17:04:23 UTC) #14
Charlie Harrison
Adding Alexei now that this has settled a little. https://codereview.chromium.org/1476503004/diff/180001/chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc File chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc (right): https://codereview.chromium.org/1476503004/diff/180001/chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc#newcode53 chrome/browser/page_load_metrics/observers/page_load_metrics_observers_unittest.cc:53: ...
5 years ago (2015-12-10 17:59:31 UTC) #16
Randy Smith (Not in Mondays)
> Randy would be happy :) You seem to have mistaken me for someone who ...
5 years ago (2015-12-10 18:13:02 UTC) #18
Charlie Harrison
On 2015/12/10 18:13:02, rdsmith wrote: > > Randy would be happy :) > > You ...
5 years ago (2015-12-10 19:03:57 UTC) #19
Bryan McQuade
On 2015/12/10 19:03:57, csharrison wrote: > On 2015/12/10 18:13:02, rdsmith wrote: > > > Randy ...
5 years ago (2015-12-10 20:20:55 UTC) #20
Bryan McQuade
this looks really good. let's rename EventOccurredInForeground as you suggested and then i think we ...
5 years ago (2015-12-10 21:21:14 UTC) #21
Charlie Harrison
Let me know what you think. https://codereview.chromium.org/1476503004/diff/200001/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/1476503004/diff/200001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode91 components/page_load_metrics/browser/metrics_web_contents_observer.cc:91: return ABORT_NEW_NAVIGATION; On ...
5 years ago (2015-12-10 22:00:55 UTC) #22
Charlie Harrison
Let me know what you think.
5 years ago (2015-12-10 22:00:55 UTC) #23
Bryan McQuade
https://codereview.chromium.org/1476503004/diff/200001/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/1476503004/diff/200001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode560 components/page_load_metrics/browser/metrics_web_contents_observer.cc:560: NotifyAbortAllLoads(ABORT_CLOSE); On 2015/12/10 22:00:54, csharrison wrote: > On 2015/12/10 ...
5 years ago (2015-12-10 23:02:58 UTC) #24
Charlie Harrison
I wrote a small comment on my previous patch above the implementation of RenderProcessGone. https://codereview.chromium.org/1476503004/diff/200001/components/page_load_metrics/browser/metrics_web_contents_observer.cc ...
5 years ago (2015-12-10 23:07:36 UTC) #25
Bryan McQuade
LGTM - just one question. Really nice change! https://codereview.chromium.org/1476503004/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/1476503004/diff/240001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode567 components/page_load_metrics/browser/metrics_web_contents_observer.cc:567: aborted_provisional_loads_.clear(); ...
5 years ago (2015-12-11 01:33:39 UTC) #26
Charlie Harrison
https://codereview.chromium.org/1476503004/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/1476503004/diff/240001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode567 components/page_load_metrics/browser/metrics_web_contents_observer.cc:567: aborted_provisional_loads_.clear(); On 2015/12/11 01:33:39, Bryan McQuade wrote: > I'm ...
5 years ago (2015-12-11 01:43:55 UTC) #27
kinuko
lgtm % nits below I defer the detailed abort logic review to Bryan. https://codereview.chromium.org/1476503004/diff/240001/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc File ...
5 years ago (2015-12-11 12:24:27 UTC) #28
kinuko
https://codereview.chromium.org/1476503004/diff/240001/components/page_load_metrics/browser/page_load_metrics_util.h File components/page_load_metrics/browser/page_load_metrics_util.h (right): https://codereview.chromium.org/1476503004/diff/240001/components/page_load_metrics/browser/page_load_metrics_util.h#newcode32 components/page_load_metrics/browser/page_load_metrics_util.h:32: bool DurationOccurredInForeground(const base::TimeDelta& event, On 2015/12/11 12:24:27, kinuko wrote: ...
5 years ago (2015-12-11 13:16:45 UTC) #29
Bryan McQuade
On 2015/12/11 01:43:55, csharrison wrote: > https://codereview.chromium.org/1476503004/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/1476503004/diff/240001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode567 ...
5 years ago (2015-12-11 14:08:05 UTC) #30
Charlie Harrison
Bryan: I'm not sure this is possible, but if a cross-site navigation crashed the renderer ...
5 years ago (2015-12-11 14:12:20 UTC) #31
Bryan McQuade
https://codereview.chromium.org/1476503004/diff/240001/components/page_load_metrics/browser/page_load_metrics_util.h File components/page_load_metrics/browser/page_load_metrics_util.h (right): https://codereview.chromium.org/1476503004/diff/240001/components/page_load_metrics/browser/page_load_metrics_util.h#newcode32 components/page_load_metrics/browser/page_load_metrics_util.h:32: bool DurationOccurredInForeground(const base::TimeDelta& event, On 2015/12/11 12:24:27, kinuko wrote: ...
5 years ago (2015-12-11 14:13:42 UTC) #32
Charlie Harrison
https://codereview.chromium.org/1476503004/diff/240001/components/page_load_metrics/browser/page_load_metrics_util.h File components/page_load_metrics/browser/page_load_metrics_util.h (right): https://codereview.chromium.org/1476503004/diff/240001/components/page_load_metrics/browser/page_load_metrics_util.h#newcode32 components/page_load_metrics/browser/page_load_metrics_util.h:32: bool DurationOccurredInForeground(const base::TimeDelta& event, On 2015/12/11 14:13:42, Bryan McQuade ...
5 years ago (2015-12-11 14:49:11 UTC) #33
Bryan McQuade
https://codereview.chromium.org/1476503004/diff/260001/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/1476503004/diff/260001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode562 components/page_load_metrics/browser/metrics_web_contents_observer.cc:562: void MetricsWebContentsObserver::RenderProcessGone( just following on our discussion here, it ...
5 years ago (2015-12-11 15:59:34 UTC) #34
Charlie Harrison
Bryan: I made the change. Now we only eagerly log in the case of a ...
5 years ago (2015-12-11 16:44:31 UTC) #35
Bryan McQuade
LGTM https://codereview.chromium.org/1476503004/diff/280001/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/1476503004/diff/280001/components/page_load_metrics/browser/metrics_web_contents_observer.cc#newcode566 components/page_load_metrics/browser/metrics_web_contents_observer.cc:566: status == base::TERMINATION_STATUS_STILL_RUNNING) { I wonder if it's ...
5 years ago (2015-12-11 17:00:22 UTC) #36
Bryan McQuade
On 2015/12/11 17:00:22, Bryan McQuade wrote: > LGTM > > https://codereview.chromium.org/1476503004/diff/280001/components/page_load_metrics/browser/metrics_web_contents_observer.cc > File components/page_load_metrics/browser/metrics_web_contents_observer.cc > ...
5 years ago (2015-12-11 19:08:53 UTC) #37
Alexei Svitkine (slow)
https://codereview.chromium.org/1476503004/diff/340001/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h File chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h (right): https://codereview.chromium.org/1476503004/diff/340001/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h#newcode11 chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h:11: "PageLoad.AbortTiming.ForwardBackNavigation.BeforeCommit"; Don't define constants in header files. Instead, if ...
5 years ago (2015-12-14 22:14:40 UTC) #38
Charlie Harrison
Thanks for the review! https://codereview.chromium.org/1476503004/diff/340001/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h File chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h (right): https://codereview.chromium.org/1476503004/diff/340001/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h#newcode11 chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h:11: "PageLoad.AbortTiming.ForwardBackNavigation.BeforeCommit"; On 2015/12/14 at 22:14:40, ...
5 years ago (2015-12-14 23:16:31 UTC) #39
Alexei Svitkine (slow)
lgtm https://codereview.chromium.org/1476503004/diff/340001/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h File chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h (right): https://codereview.chromium.org/1476503004/diff/340001/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h#newcode11 chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.h:11: "PageLoad.AbortTiming.ForwardBackNavigation.BeforeCommit"; On 2015/12/14 23:16:30, csharrison wrote: > On ...
5 years ago (2015-12-15 16:42:34 UTC) #40
Charlie Harrison
I'm a bit confused what you meant with your nits. Do you want me to ...
5 years ago (2015-12-15 19:35:45 UTC) #41
Alexei Svitkine (slow)
https://codereview.chromium.org/1476503004/diff/380001/components/page_load_metrics/browser/metrics_web_contents_observer.h File components/page_load_metrics/browser/metrics_web_contents_observer.h (right): https://codereview.chromium.org/1476503004/diff/380001/components/page_load_metrics/browser/metrics_web_contents_observer.h#newcode229 components/page_load_metrics/browser/metrics_web_contents_observer.h:229: const UserAbortType abort_type() { return abort_type_; } I meant: ...
5 years ago (2015-12-15 19:40:16 UTC) #42
Charlie Harrison
Updated. Thanks for the clarification. Sorry about that!
5 years ago (2015-12-15 20:32:37 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1476503004/370014 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1476503004/370014
5 years ago (2015-12-15 20:38:21 UTC) #46
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/129180)
5 years ago (2015-12-15 21:00:32 UTC) #48
Charlie Harrison
+sadrul for ui/base/page_transition_types.h added to DEPS
5 years ago (2015-12-15 21:09:17 UTC) #50
sadrul
On 2015/12/15 21:09:17, csharrison wrote: > +sadrul for ui/base/page_transition_types.h added to DEPS lgtm
5 years ago (2015-12-16 18:55:52 UTC) #51
Charlie Harrison
On 2015/12/16 at 18:55:52, sadrul wrote: > On 2015/12/15 21:09:17, csharrison wrote: > > +sadrul ...
5 years ago (2015-12-16 18:57:28 UTC) #52
Bryan McQuade
lgtm
5 years ago (2015-12-16 19:49:53 UTC) #55
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1476503004/410001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1476503004/410001
5 years ago (2015-12-16 19:50:19 UTC) #56
commit-bot: I haz the power
Committed patchset #22 (id:410001)
5 years ago (2015-12-16 21:08:35 UTC) #58
commit-bot: I haz the power
5 years ago (2015-12-16 21:09:30 UTC) #60
Message was sent while issue was closed.
Patchset 22 (id:??) landed as
https://crrev.com/a50c920204e0053a0bdb356d0783a5191a3bb8f3
Cr-Commit-Position: refs/heads/master@{#365617}

Powered by Google App Engine
This is Rietveld 408576698