New issue
Advanced search Search tips

Issue 661090 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Components:
EstimatedDays: ----
NextAction: 2017-01-27
OS: All
Pri: 1
Type: Feature

Blocked on:
issue 649558



Sign in to add a comment

UMA to record how ofen and for how long we end up waiting on SW for preload navigations

Project Member Reported by kenjibaheux@chromium.org, Nov 1 2016

Issue description

Preload navigation in Service worker should help mitigating the cost of starting and waiting for a SW. It would be interesting to have UMA telling us how successful this is in practice (e.g. to inform additional investment in SW speed-ups)

Proposal: a UMA to record how often and for how long we wait after SW on preload nav.

 
Labels: OS-All
Summary: UMA to record how ofen and for how long we end up waiting on SW for preload navigations (was: UMA )
Blockedon: 649558
Labels: -Type-Bug Type-Feature
NextAction: 2016-12-01
Status: Available (was: Untriaged)
Can't do this until it's implemented.

Comment 4 by falken@chromium.org, Dec 27 2016

NextAction: 2017-01-09

Comment 5 by falken@chromium.org, Jan 18 2017

Owner: falken@chromium.org
Status: Started (was: Available)
Project Member

Comment 6 by bugdroid1@chromium.org, Jan 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3d62570c946d4dcfb0a562582daa74e804b15d1e

commit 3d62570c946d4dcfb0a562582daa74e804b15d1e
Author: falken <falken@chromium.org>
Date: Thu Jan 19 04:20:26 2017

Add UMA for service worker navigation preload.

This will help understand how the experiment is going. Adds:
- ServiceWorker.ActivatedWorkerPreparationForMainFrame.Type
  This is the type of preparation that was needed for any navigation,
  regardless of if nav preload was needed. We already had the data
  based on the .Time suffixes, but it's more convenient to have
  a histogram over looking at the total counts for each suffix.

- ServiceWorker.ActivatedWorkerPreparationForMainFrame.Type_NavigationPreloadEnabled
  This is the type of preparation that was needed when navigation preload
  was enabled. It should not change much from the general histogram, but
  this will check that assumption.

- ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time_NavigationPreloadEnabled
  The time taken to prepare the worker, when nav preload was enabled.

- ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time_StartWorkerExistingProcess_NavigationPreloadEnabled
  The time taken for preparation when the worker had to start up (in the
  existing process common case), when nav preload was enabled.

BUG= 661090 

Review-Url: https://codereview.chromium.org/2641813002
Cr-Commit-Position: refs/heads/master@{#444639}

[modify] https://crrev.com/3d62570c946d4dcfb0a562582daa74e804b15d1e/content/browser/service_worker/service_worker_fetch_dispatcher.cc
[modify] https://crrev.com/3d62570c946d4dcfb0a562582daa74e804b15d1e/content/browser/service_worker/service_worker_fetch_dispatcher.h
[modify] https://crrev.com/3d62570c946d4dcfb0a562582daa74e804b15d1e/content/browser/service_worker/service_worker_metrics.cc
[modify] https://crrev.com/3d62570c946d4dcfb0a562582daa74e804b15d1e/content/browser/service_worker/service_worker_metrics.h
[add] https://crrev.com/3d62570c946d4dcfb0a562582daa74e804b15d1e/content/browser/service_worker/service_worker_metrics_unittest.cc
[modify] https://crrev.com/3d62570c946d4dcfb0a562582daa74e804b15d1e/content/browser/service_worker/service_worker_url_request_job.cc
[modify] https://crrev.com/3d62570c946d4dcfb0a562582daa74e804b15d1e/content/browser/service_worker/service_worker_url_request_job.h
[modify] https://crrev.com/3d62570c946d4dcfb0a562582daa74e804b15d1e/content/test/BUILD.gn
[modify] https://crrev.com/3d62570c946d4dcfb0a562582daa74e804b15d1e/tools/metrics/histograms/histograms.xml

Comment 7 by falken@chromium.org, Jan 25 2017

Labels: -Pri-3 M-57 Pri-1
Project Member

Comment 8 by bugdroid1@chromium.org, Jan 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/402d868859229cf42674996b82f3468922afc628

commit 402d868859229cf42674996b82f3468922afc628
Author: falken <falken@chromium.org>
Date: Wed Jan 25 06:11:13 2017

service worker: Add UMA for navigation preload response timing.

This should help understand how nav preload is doing in the wild:
whether it or sw startup is finishing first, and the timings for
concurrent startup and preload, and how long we end up waiting for one
after the other has finished.

Added are:
- ServiceWorker.NavigationPreload.ConcurrentTime: the time
when both startup and preload are happening concurrently
- ServiceWorker.NavigationPreload.FinishedBeforeStartWorker: indicates
which one finished first
- ServiceWorker.NavigationPreload.NavPreloadAfterSWStart: the
time spent waiting for nav preload to finish, after sw start finished
- ServiceWorker.NavigationPreload.SWStartAfterNavPreload: the reverse
- ServiceWorker.NavigationPreload.ResponseTime: the time it
took for the nav preload response to arrive

In addition, there are suffixed histograms of the above to break down
the timings in the two winner scenarios, and furthmore to see the
breakdowns in the interesting situation of when a SW needed to be
started up.

BUG= 661090 

Review-Url: https://codereview.chromium.org/2652603002
Cr-Commit-Position: refs/heads/master@{#445965}

[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_fetch_dispatcher.cc
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_fetch_dispatcher.h
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_metrics.cc
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_metrics.h
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_metrics_unittest.cc
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_url_request_job.cc
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_url_request_job.h
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/tools/metrics/histograms/histograms.xml

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/402d868859229cf42674996b82f3468922afc628

commit 402d868859229cf42674996b82f3468922afc628
Author: falken <falken@chromium.org>
Date: Wed Jan 25 06:11:13 2017

service worker: Add UMA for navigation preload response timing.

This should help understand how nav preload is doing in the wild:
whether it or sw startup is finishing first, and the timings for
concurrent startup and preload, and how long we end up waiting for one
after the other has finished.

Added are:
- ServiceWorker.NavigationPreload.ConcurrentTime: the time
when both startup and preload are happening concurrently
- ServiceWorker.NavigationPreload.FinishedBeforeStartWorker: indicates
which one finished first
- ServiceWorker.NavigationPreload.NavPreloadAfterSWStart: the
time spent waiting for nav preload to finish, after sw start finished
- ServiceWorker.NavigationPreload.SWStartAfterNavPreload: the reverse
- ServiceWorker.NavigationPreload.ResponseTime: the time it
took for the nav preload response to arrive

In addition, there are suffixed histograms of the above to break down
the timings in the two winner scenarios, and furthmore to see the
breakdowns in the interesting situation of when a SW needed to be
started up.

BUG= 661090 

Review-Url: https://codereview.chromium.org/2652603002
Cr-Commit-Position: refs/heads/master@{#445965}

[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_fetch_dispatcher.cc
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_fetch_dispatcher.h
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_metrics.cc
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_metrics.h
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_metrics_unittest.cc
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_url_request_job.cc
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/content/browser/service_worker/service_worker_url_request_job.h
[modify] https://crrev.com/402d868859229cf42674996b82f3468922afc628/tools/metrics/histograms/histograms.xml

NextAction: 2017-01-27
OK Google. Remind me to request a merge after this passes through Canary.
Labels: Merge-Request-57
Requesting merge to 57 for comment 8 https://crrev.com/402d868859229cf42674996b82f3468922afc628 which just missed the branch cut. This commit adds UMA for the navigation preload feature. It passed through Canary and UMA and crash dashboard look good.
Status: Fixed (was: Started)
Project Member

Comment 13 by sheriffbot@chromium.org, Jan 30 2017

Labels: -Merge-Request-57 Hotlist-Merge-Approved Merge-Approved-57
Your change meets the bar and is auto-approved for M57. Please go ahead and merge the CL to branch 2987 manually. Please contact milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), ketakid@(cros), govind@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Please merge  your change to M57 branch 2987 ASAP.If merge happens today before 5:00 PM PT, then we can take it for tomorrow's last M57 Dev release. Thank you.
Project Member

Comment 15 by bugdroid1@chromium.org, Jan 30 2017

Labels: -merge-approved-57 merge-merged-2987
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7b811195204dbfaa7b2a3028611f9fa7a678b5c3

commit 7b811195204dbfaa7b2a3028611f9fa7a678b5c3
Author: Matt Falkenhagen <falken@chromium.org>
Date: Mon Jan 30 23:35:22 2017

M57: service worker: Add UMA for navigation preload response timing.

This should help understand how nav preload is doing in the wild:
whether it or sw startup is finishing first, and the timings for
concurrent startup and preload, and how long we end up waiting for one
after the other has finished.

Added are:
- ServiceWorker.NavigationPreload.ConcurrentTime: the time
when both startup and preload are happening concurrently
- ServiceWorker.NavigationPreload.FinishedBeforeStartWorker: indicates
which one finished first
- ServiceWorker.NavigationPreload.NavPreloadAfterSWStart: the
time spent waiting for nav preload to finish, after sw start finished
- ServiceWorker.NavigationPreload.SWStartAfterNavPreload: the reverse
- ServiceWorker.NavigationPreload.ResponseTime: the time it
took for the nav preload response to arrive

In addition, there are suffixed histograms of the above to break down
the timings in the two winner scenarios, and furthmore to see the
breakdowns in the interesting situation of when a SW needed to be
started up.

BUG= 661090 

Review-Url: https://codereview.chromium.org/2652603002
Cr-Commit-Position: refs/heads/master@{#445965}
(cherry picked from commit 402d868859229cf42674996b82f3468922afc628)

Review-Url: https://codereview.chromium.org/2660423002 .
Cr-Commit-Position: refs/branch-heads/2987@{#201}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}

[modify] https://crrev.com/7b811195204dbfaa7b2a3028611f9fa7a678b5c3/content/browser/service_worker/service_worker_fetch_dispatcher.cc
[modify] https://crrev.com/7b811195204dbfaa7b2a3028611f9fa7a678b5c3/content/browser/service_worker/service_worker_fetch_dispatcher.h
[modify] https://crrev.com/7b811195204dbfaa7b2a3028611f9fa7a678b5c3/content/browser/service_worker/service_worker_metrics.cc
[modify] https://crrev.com/7b811195204dbfaa7b2a3028611f9fa7a678b5c3/content/browser/service_worker/service_worker_metrics.h
[modify] https://crrev.com/7b811195204dbfaa7b2a3028611f9fa7a678b5c3/content/browser/service_worker/service_worker_metrics_unittest.cc
[modify] https://crrev.com/7b811195204dbfaa7b2a3028611f9fa7a678b5c3/content/browser/service_worker/service_worker_url_request_job.cc
[modify] https://crrev.com/7b811195204dbfaa7b2a3028611f9fa7a678b5c3/content/browser/service_worker/service_worker_url_request_job.h
[modify] https://crrev.com/7b811195204dbfaa7b2a3028611f9fa7a678b5c3/tools/metrics/histograms/histograms.xml

Sign in to add a comment