New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2015
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Feature



Sign in to add a comment

Implement workerStart attribute for Resource timing

Project Member Reported by kenjibaheux@chromium.org, Mar 10 2015

Issue description

End goal:
 To allow developers to instrument and measure ServiceWorker startup (via Nav/Res Timing), and get detailed fetch (via Resource Timing) and script execution (via User Timing) timing data within the ServiceWorker.

Relevancy:
 Provides insights into startup/page load time which developers would use to achieve the midnight train's 1s startup goal.

Navigation timing and resource timing spec are being updated to take into account workers.


1. RT: https://github.com/w3c/resource-timing/issues/11 (not closed yet but converging)
 
 Concretely, adds a "workerStart attribute (DOMHighResTimeStamp) with the time immediately before the user agent starts the Worker required to service the request. If the worker process is already available, then this attribute must return the same value as fetchStart".


2. NR: https://github.com/w3c/navigation-timing/issues/7 (not closed yet)


Spec: 
 1. resource timing: https://w3c.github.io/resource-timing/
 2. navigation timing: https://w3c.github.io/navigation-timing/
 
Labels: -Type-Bug Type-Feature Release-notes
Cc: igrigo...@chromium.org

Comment 3 by falken@chromium.org, Apr 21 2015

Owner: ksakamoto@chromium.org
Status: Assigned
Assign to ksakamoto for now as he's doing  issue 465638 .
This one is for window.performance, thus doable independently from  Issue 465638 .

1. resource timing: This is easy. ResourceLoadTiming already has the timing data, so we just need to expose it.

2. navigation timing: Blink implements the Navigation Timing API [1], but the workerStart attribute is spec'd in Navigation Timing 2 [2]. We have to implement PerformanceNavigationTiming first.

[1] https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html
[2] https://w3c.github.io/navigation-timing/

Labels: Cr-Blink-Performance-APIs
Project Member

Comment 6 by bugdroid1@chromium.org, May 25 2015

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

commit a14b3794ee2e759cae74a48d8554fad69396577c
Author: ksakamoto <ksakamoto@chromium.org>
Date: Mon May 25 09:45:41 2015

Record send_start timing info after starting ServiceWorker

The send_start field of LoadTimingInfo, which corresponds to the
requestStart attribute of Resource Timing [1], was recorded before
starting ServiceWorker. Since that point should be represented as the
workerStart attribute [2], this patch moves send_start to
DidPrepareFetchEvent, that is just before dispatching fetch event.

[1] https://w3c.github.io/resource-timing/#widl-PerformanceResourceTiming-requestStart
[2] https://w3c.github.io/resource-timing/#widl-PerformanceResourceTiming-workerStart

BUG= 465640 
TEST=n/a

Review URL: https://codereview.chromium.org/1155043002

Cr-Commit-Position: refs/heads/master@{#331271}

[modify] http://crrev.com/a14b3794ee2e759cae74a48d8554fad69396577c/content/browser/service_worker/service_worker_url_request_job.cc

Status: Started
Project Member

Comment 8 by bugdroid1@chromium.org, May 26 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=195894

------------------------------------------------------------------
r195894 | ksakamoto@chromium.org | 2015-05-26T07:08:17.087481Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/devtools/protocol.json?r1=195894&r2=195893&pathrev=195894
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/inspector/InspectorResourceAgent.cpp?r1=195894&r2=195893&pathrev=195894
   M http://src.chromium.org/viewvc/blink/trunk/Source/devtools/front_end/network/RequestTimingView.js?r1=195894&r2=195893&pathrev=195894
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/WebURLLoadTiming.h?r1=195894&r2=195893&pathrev=195894
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/network/ResourceLoadTiming.h?r1=195894&r2=195893&pathrev=195894
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/exported/WebURLLoadTiming.cpp?r1=195894&r2=195893&pathrev=195894

Refactoring timing info for ServiceWorker controlled requests [1/3]

Currently, three timings are collected for ServiceWorker controlled
requests: serviceWorkerFetchStart, serviceWorkerFetchReady, and
serviceWorkerFetchEnd. However serviceWorkerFetchReady and
serviceWorkerFetchEnd are always the same value as sendStart and
sendEnd, respectively.

This three sided patch removes serviceWorkerFetchReady and
serviceWorkerFetchEnd, and renames serviceWorkerFetchStart to
workerStart, which is the name used in Navigation Timing and Resource
Timing.

[1/3] THIS
[2/3] https://codereview.chromium.org/1157823003/
[3/3] https://codereview.chromium.org/1151263003/

BUG= 465640 
TEST=no functional change; all existing tests should pass.

Review URL: https://codereview.chromium.org/1159663002
-----------------------------------------------------------------
Project Member

Comment 9 by bugdroid1@chromium.org, May 28 2015

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

commit 07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c
Author: ksakamoto <ksakamoto@chromium.org>
Date: Thu May 28 02:55:07 2015

Refactoring timing info for ServiceWorker controlled requests [2/3]

Currently, three timings are collected for ServiceWorker controlled
requests: serviceWorkerFetchStart, serviceWorkerFetchReady, and
serviceWorkerFetchEnd. However serviceWorkerFetchReady and
serviceWorkerFetchEnd are always the same value as sendStart and
sendEnd, respectively.

This three sided patch removes serviceWorkerFetchReady and
serviceWorkerFetchEnd, and renames serviceWorkerFetchStart to
workerStart, which is the name used in Navigation Timing and Resource
Timing.

[1/3] https://codereview.chromium.org/1159663002/
[2/3] THIS
[3/3] https://codereview.chromium.org/1151263003/

BUG= 465640 
TEST=no functional change; all existing tests should pass.

Review URL: https://codereview.chromium.org/1157823003

Cr-Commit-Position: refs/heads/master@{#331732}

[modify] http://crrev.com/07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c/content/browser/loader/resource_loader.cc
[modify] http://crrev.com/07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c/content/browser/service_worker/service_worker_context_request_handler.cc
[modify] http://crrev.com/07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c/content/browser/service_worker/service_worker_context_request_handler.h
[modify] http://crrev.com/07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c/content/browser/service_worker/service_worker_controllee_request_handler.cc
[modify] http://crrev.com/07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c/content/browser/service_worker/service_worker_controllee_request_handler.h
[modify] http://crrev.com/07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c/content/browser/service_worker/service_worker_request_handler.h
[modify] http://crrev.com/07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c/content/browser/service_worker/service_worker_url_request_job.cc
[modify] http://crrev.com/07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c/content/browser/service_worker/service_worker_url_request_job.h
[modify] http://crrev.com/07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c/content/child/resource_dispatcher.cc
[modify] http://crrev.com/07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c/content/child/web_url_loader_impl.cc
[modify] http://crrev.com/07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c/content/common/resource_messages.h
[modify] http://crrev.com/07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c/content/public/common/resource_response.cc
[modify] http://crrev.com/07794af3ab8783f8f0acf6ccb2b6f35aa9b8d48c/content/public/common/resource_response_info.h

Project Member

Comment 10 by bugdroid1@chromium.org, May 28 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=196034

------------------------------------------------------------------
r196034 | ksakamoto@chromium.org | 2015-05-28T05:50:48.471720Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/WebURLLoadTiming.h?r1=196034&r2=196033&pathrev=196034
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/exported/WebURLLoadTiming.cpp?r1=196034&r2=196033&pathrev=196034

Refactoring timing info for ServiceWorker controlled requests [3/3]

Currently, three timings are collected for ServiceWorker controlled
requests: serviceWorkerFetchStart, serviceWorkerFetchReady, and
serviceWorkerFetchEnd. However serviceWorkerFetchReady and
serviceWorkerFetchEnd are always the same value as sendStart and
sendEnd, respectively.

This three sided patch removes serviceWorkerFetchReady and
serviceWorkerFetchEnd, and renames serviceWorkerFetchStart to
workerStart, which is the name used in Navigation Timing and Resource
Timing.

[1/3] https://codereview.chromium.org/1159663002/
[2/3] https://codereview.chromium.org/1157823003/
[3/3] THIS

BUG= 465640 
TEST=no functional change; all existing tests should pass.

Review URL: https://codereview.chromium.org/1151263003
-----------------------------------------------------------------
Project Member

Comment 11 by bugdroid1@chromium.org, May 28 2015

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

commit 9c6eec3e56dd43ec87bc486e17f6b9dfcb957af0
Author: ksakamoto <ksakamoto@chromium.org>
Date: Thu May 28 11:47:51 2015

Keep workerStart timing info over request job restarts

In ServiceWorkerControlleeRequestHandler, job_ may be created multiple
times, or cleared (for example, when the request falls back to network).
In those cases, the workerStart timing info should hold the first time
SW started for the request.

This patch makes ServiceWorkerControlleeRequestHandler remember the
workerStart time from the first job.

BUG= 465640 
TEST=Will be added in https://codereview.chromium.org/1152673004/

Review URL: https://codereview.chromium.org/1160883004

Cr-Commit-Position: refs/heads/master@{#331766}

[modify] http://crrev.com/9c6eec3e56dd43ec87bc486e17f6b9dfcb957af0/content/browser/service_worker/service_worker_controllee_request_handler.cc
[modify] http://crrev.com/9c6eec3e56dd43ec87bc486e17f6b9dfcb957af0/content/browser/service_worker/service_worker_controllee_request_handler.h
[modify] http://crrev.com/9c6eec3e56dd43ec87bc486e17f6b9dfcb957af0/content/browser/service_worker/service_worker_url_request_job.h

Project Member

Comment 12 by bugdroid1@chromium.org, May 29 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=196110

------------------------------------------------------------------
r196110 | ksakamoto@chromium.org | 2015-05-29T02:11:32.333016Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/timing/PerformanceResourceTiming.h?r1=196110&r2=196109&pathrev=196110
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/RuntimeEnabledFeatures.in?r1=196110&r2=196109&pathrev=196110
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/timing/PerformanceResourceTiming.idl?r1=196110&r2=196109&pathrev=196110
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/serviceworker/resource-timing.html?r1=196110&r2=196109&pathrev=196110
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/timing/PerformanceResourceTiming.cpp?r1=196110&r2=196109&pathrev=196110
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/serviceworker/resources/resource-timing-worker.js?r1=196110&r2=196109&pathrev=196110
   A http://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/serviceworker/resources/resource-timing-iframe.html?r1=196110&r2=196109&pathrev=196110

Add workerStart attribute to ResourceTiming

This patch adds workerStart attribute to PerformanceResourceTiming
behind the experimental feature flag. This attribute allows developers
to measure ServiceWorker startup time within the resource request,
when the request is routed to a ServiceWorker.

To enforce the attribute ordering, redirectStart and fetchStart now fall
back to workerStart (if available) instead of startTime.

spec: https://w3c.github.io/resource-timing/#widl-PerformanceResourceTiming-workerStart

BUG= 465640 
TEST=http/tests/serviceworker/resource-timing.html

Review URL: https://codereview.chromium.org/1152673004
-----------------------------------------------------------------
Resource Timing implementation is done. But I think workerStart in Navigation Timing is more important, because for most cases SW wakes up on navigation.

As I mentioned at comment #4, Blink does not have Navigation Timing 2 implemented yet, that is blocking workerStart support. (It might be possible to add workerStart to current NT1 implementation, but I don't think it's a good idea.)

Ilya and Kenji, what do you think about priority of this?

> To enforce the attribute ordering, redirectStart and fetchStart now fall back to workerStart (if available) instead of startTime.

Could you elaborate on this a bit more.. not sure I understand the issue.

> Ilya and Kenji, what do you think about priority of this?

I think you're right that workerStart is *far* more important in context of Navigation Timing, since that's where you're most likely to take the initial hit of spooling up the worker. I think this is a high priority issue. Can we scope the work and get an estimate for what it would take to make this happen? Updating to NT2 would be a big win.




> > To enforce the attribute ordering, redirectStart and fetchStart now fall back to workerStart (if available) instead of startTime.

> Could you elaborate on this a bit more.. not sure I understand the issue.

This is about the second and the third part of this patch:
https://codereview.chromium.org/1152673004/diff/40001/Source/core/timing/PerformanceResourceTiming.cpp

According to the Processing Model of RT (https://w3c.github.io/resource-timing/#processing-model), among the attributes this ordering should hold:

  startTime (step 3.2) <= workerStart (step 3.4) <= fetchStart (step 3.5)

My patch added workerStart timing which is strictly greater than startTime, but Blink didn't distinguish fetchStart and startTime (for non-redirected fetches). So, without this change, fetchStart can be less than workerStart.

...Hm, just realized that falling back to workerStart is obviously wrong, as it doesn't make worker startup time measureable. :p
We should have something like "workerReady" time internally, and set fetchStart to it. I will do that.

I researched a bit about NT2:

- MSIE already supports NT2
- Mozilla has a tracking bug, seems no one is working on it now
  https://bugzilla.mozilla.org/show_bug.cgi?id=1043083
- NT1 and NT2 can coexist; we can add NT2 support without deprecating NT1

Main differences from NT1 are:
- Support for Performance Timeline and High Resolution Time
  => This would be easy, RT already uses high resolution time
- New attributes (link negotiation, number of redirects, protocol, transfer/encoded/decoded size, prerender information)
  => This would be the major part of the work, might need some help from loader gurus.

For M45, I don't think I have bandwidth to do this as I'm focusing on worker-side Performance API support ( Issue 465638 ).

Cc: pmeenan@chromium.org
> We should have something like "workerReady" time internally, and set fetchStart to it. I will do that. 

Makes sense, thanks! 

Re, NT2: I'd love to see all the new attributes implemented, but I also think that we can make incremental progress on them -- some will be much easier than others. I'm wondering if we can prioritize the list and tackle it across several releases?
Cc: kenjibaheux@chromium.org
Project Member

Comment 19 by bugdroid1@chromium.org, Jun 5 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=196562

------------------------------------------------------------------
r196562 | ksakamoto@chromium.org | 2015-06-05T07:59:53.708152Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/WebURLLoadTiming.h?r1=196562&r2=196561&pathrev=196562
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/network/ResourceLoadTiming.h?r1=196562&r2=196561&pathrev=196562
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/exported/WebURLLoadTiming.cpp?r1=196562&r2=196561&pathrev=196562

Add workerReady timing for ServiceWorker controlled requests [1/3]

To make ServiceWorker startup time measureable, in addition to
workerStart, we need another timing "workerReady" which is the point
ServiceWorker finished starting and is ready to handle events.

This essentially re-adds the "serviceWorkerFetchReady" value removed in
crrev.com/1159663002.

[1/3] THIS
[2/3] https://codereview.chromium.org/1146253004/
[3/3] https://codereview.chromium.org/1166953007/

BUG= 465640 
TEST=all existing tests should pass

Review URL: https://codereview.chromium.org/1149273003
-----------------------------------------------------------------
Project Member

Comment 20 by bugdroid1@chromium.org, Jun 8 2015

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

commit 3c1792243ab063896e26640658959f164d38c14f
Author: ksakamoto <ksakamoto@chromium.org>
Date: Mon Jun 08 04:33:21 2015

Add workerReady timing for ServiceWorker controlled requests [2/3]

To make ServiceWorker startup time measureable, in addition to
workerStart, we need another timing "workerReady" which is the point
ServiceWorker finished starting and is ready to handle events.

This timing is marked in DidPrepareFetchEvent, as well as send_start,
but unlike send_start, it's not cleared by request job restarts.

[1/3] https://codereview.chromium.org/1149273003/
[2/3] THIS
[3/3] https://codereview.chromium.org/1166953007/

BUG= 465640 
TEST=all existing tests should pass

Review URL: https://codereview.chromium.org/1146253004

Cr-Commit-Position: refs/heads/master@{#333240}

[modify] http://crrev.com/3c1792243ab063896e26640658959f164d38c14f/content/browser/loader/resource_loader.cc
[modify] http://crrev.com/3c1792243ab063896e26640658959f164d38c14f/content/browser/service_worker/service_worker_context_request_handler.cc
[modify] http://crrev.com/3c1792243ab063896e26640658959f164d38c14f/content/browser/service_worker/service_worker_context_request_handler.h
[modify] http://crrev.com/3c1792243ab063896e26640658959f164d38c14f/content/browser/service_worker/service_worker_controllee_request_handler.cc
[modify] http://crrev.com/3c1792243ab063896e26640658959f164d38c14f/content/browser/service_worker/service_worker_controllee_request_handler.h
[modify] http://crrev.com/3c1792243ab063896e26640658959f164d38c14f/content/browser/service_worker/service_worker_request_handler.h
[modify] http://crrev.com/3c1792243ab063896e26640658959f164d38c14f/content/browser/service_worker/service_worker_url_request_job.cc
[modify] http://crrev.com/3c1792243ab063896e26640658959f164d38c14f/content/browser/service_worker/service_worker_url_request_job.h
[modify] http://crrev.com/3c1792243ab063896e26640658959f164d38c14f/content/child/resource_dispatcher.cc
[modify] http://crrev.com/3c1792243ab063896e26640658959f164d38c14f/content/child/web_url_loader_impl.cc
[modify] http://crrev.com/3c1792243ab063896e26640658959f164d38c14f/content/common/resource_messages.h
[modify] http://crrev.com/3c1792243ab063896e26640658959f164d38c14f/content/public/common/resource_response.cc
[modify] http://crrev.com/3c1792243ab063896e26640658959f164d38c14f/content/public/common/resource_response_info.h

DevPlat, here. Any thoughts on which milestone will get this?
Project Member

Comment 22 by bugdroid1@chromium.org, Jun 9 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=196720

------------------------------------------------------------------
r196720 | ksakamoto@chromium.org | 2015-06-09T00:58:17.236390Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/timing/PerformanceResourceTiming.cpp?r1=196720&r2=196719&pathrev=196720
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/timing/PerformanceResourceTiming.h?r1=196720&r2=196719&pathrev=196720
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/serviceworker/resource-timing.html?r1=196720&r2=196719&pathrev=196720

Add workerReady timing for ServiceWorker controlled requests [3/3]

To make ServiceWorker startup time measureable, in addition to
workerStart, we need another timing "workerReady" which is the point
ServiceWorker finished starting and is ready to handle events.

This patch makes ResourceTiming's redirectStart (for redirected fetches)
or fetchStart (for non-redirected fetches) return workerReady time,
instead of workerStart.

[1/3] https://codereview.chromium.org/1149273003/
[2/3] https://codereview.chromium.org/1146253004/
[3/3] THIS

BUG= 465640 
TEST=http/tests/serviceworker/resource-timing.html

Review URL: https://codereview.chromium.org/1166953007
-----------------------------------------------------------------
Labels: M-45
#21: some aspects will probably make it into M45.

Any particular items that you fancy?
I think Navigation Timing 2 and by consequence its workerStart attribute won't happen in M45 (ksakamoto@ correct me if I'm wrong).
Project Member

Comment 24 by bugdroid1@chromium.org, Jun 24 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=197722

------------------------------------------------------------------
r197722 | ksakamoto@chromium.org | 2015-06-24T09:34:43.800560Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/RuntimeEnabledFeatures.in?r1=197722&r2=197721&pathrev=197722

Enable ServiceWorkerPerformanceTimeline flag for stable

This ships User Timing and Resource Timing in Workers, and workerStart
attribute of Resource Timing.

I think it's safe to enable it now; User Timing and workerStart have
landed over 2 weeks ago. Resource Timing part is new, but I only added
main thread to worker plumbing on the existing stable implementation.

Intent to Implement and Ship:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/htsW078UcFA

BUG= 465640 , 465641 , 465643 

Review URL: https://codereview.chromium.org/1203953002
-----------------------------------------------------------------
Status: Fixed
WorkerStart for Resource Timing is now enabled by default.
For Navigation Timing 2, I have filed a new bug:  Issue 504237 .

Summary: Implement workerStart attribute for Resource timing (was: Implement workerStart attribute for Navigation timing and Resource timing)
(Changing the summary to reflect current status)

Comment 27 by pkin...@gmail.com, Jul 16 2015

I am just writing up a developer guide for the changes and there are somethings that are not clear to me in the thread or the summary.

Right now I see performance.timing.fetchStart and also on the PerforamnceResourceTiming objects.  I don't see workerStart on performance.timing (which I think is correct for 45.)

Side note, in the latest 46 Chrome Canary, in the ServiceWorker I am now only seeing a basic WorkerPerformance object that only has access to performance.now() I could swear that it had getEntries on last time I checked.
> Right now I see performance.timing.fetchStart and also on the PerforamnceResourceTiming objects.  I don't see workerStart on performance.timing (which I think is correct for 45.)

That is correct, workerStart is added only to PerforamnceResourceTiming in M45. fetchStart has been there since before.

> Side note, in the latest 46 Chrome Canary, in the ServiceWorker I am now only seeing a basic WorkerPerformance object that only has access to performance.now() I could swear that it had getEntries on last time I checked.

Hmm. I can see performance.getEntries in SW in Chrome Canary 46.0.2457.0 (experimental-web-platform-features flag off).
45.0.2439.4 without experimental features: performance in SW context only has now()
45.0.2439.4 is too old (Blink r197621).
The flag flip was r197722, and M45 branch point was r198714. M45 should have this feature enabled.
Test on:

45.0.2454.4 (Official Build) dev (64-bit)
Revision	a03b4ad0081aec67230686c854dd5b989bc31c64
Platform	7262.0.0 (Official Build) dev-channel link

much better :)
Screenshot 2015-07-16 at 20.08.43.png
110 KB View Download
Status: Verified

Comment 33 by pkin...@gmail.com, Jul 16 2015

Thanks all, I will get on with an article for this.
Project Member

Comment 34 by bugdroid1@chromium.org, Jul 27 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=199493

------------------------------------------------------------------
r199493 | ksakamoto@chromium.org | 2015-07-27T07:19:49.145929Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/RuntimeEnabledFeatures.in?r1=199493&r2=199492&pathrev=199493
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt?r1=199493&r2=199492&pathrev=199493

Revert of Enable ServiceWorkerPerformanceTimeline flag for stable (patchset #1 id:1 of https://codereview.chromium.org/1203953002/)

Reason for revert:
This shipped new prefixed APIs:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/htsW078UcFA/2cel1auAH60J

Original issue's description:
> Enable ServiceWorkerPerformanceTimeline flag for stable
>
> This ships User Timing and Resource Timing in Workers, and workerStart
> attribute of Resource Timing.
>
> I think it's safe to enable it now; User Timing and workerStart have
> landed over 2 weeks ago. Resource Timing part is new, but I only added
> main thread to worker plumbing on the existing stable implementation.
>
> Intent to Implement and Ship:
> https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/htsW078UcFA
>
> BUG= 465640 ,  465641 ,  465643 
>
> Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=197722

BUG= 465640 ,  465641 ,  465643 

Review URL: https://codereview.chromium.org/1254803002
-----------------------------------------------------------------
Labels: Merge-Request-45
Requesting merge of r199493 to M45.
Labels: -Merge-Request-45 Merge-Review-45 Hotlist-Merge-Review
[Automated comment] Reverts referenced in bugdroid comments, needs manual review.

Comment 37 by amin...@google.com, Jul 29 2015

Labels: -Merge-Review-45 Merge-Approved-45
Merge approved for M45 branch 2454.
Somehow bugdroid didn't pick up the commit, but the revert has been merged to M45.

Merge 199493 "Revert of Enable ServiceWorkerPerformanceTimeline ..."

> Revert of Enable ServiceWorkerPerformanceTimeline flag for stable (patchset #1 id:1 of https://codereview.chromium.org/1203953002/)
> 
> Reason for revert:
> This shipped new prefixed APIs:
> https://groups.google.com/a/chromium.org/d/msg/blink-dev/htsW078UcFA/2cel1auAH60J
> 
> Original issue's description:
> > Enable ServiceWorkerPerformanceTimeline flag for stable
> >
> > This ships User Timing and Resource Timing in Workers, and workerStart
> > attribute of Resource Timing.
> >
> > I think it's safe to enable it now; User Timing and workerStart have
> > landed over 2 weeks ago. Resource Timing part is new, but I only added
> > main thread to worker plumbing on the existing stable implementation.
> >
> > Intent to Implement and Ship:
> > https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/htsW078UcFA
> >
> > BUG= 465640 ,  465641 ,  465643 
> >
> > Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=197722
> 
> BUG= 465640 ,  465641 ,  465643 
> 
> Review URL: https://codereview.chromium.org/1254803002

TBR=ksakamoto@chromium.org

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=199619

https://codereview.chromium.org/1261243002/

Labels: -M-45 M-46
Re-opening for M46.
Status: Assigned
Labels: -Merge-Approved-45 -Hotlist-Merge-Review Merge-Merged-2454
Labels: -Cr-Blink-Performance-APIs Cr-Blink-PermissionsAPI
Manually move Cr-Blink-Performance-APIs to Cr-Blink-PermissionsAPI
Labels: -Cr-Blink-PermissionsAPI Cr-Blink-PerformanceAPIs
Project Member

Comment 44 by bugdroid1@chromium.org, Aug 14 2015

The following revision refers to this bug:
  http://src.chromium.org/viewvc/blink?view=rev&rev=200524

------------------------------------------------------------------
r200524 | ksakamoto@chromium.org | 2015-08-14T07:04:11.782909Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/RuntimeEnabledFeatures.in?r1=200524&r2=200523&pathrev=200524
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt?r1=200524&r2=200523&pathrev=200524

Reland: Enable ServiceWorkerPerformanceTimeline flag for stable

This ships User Timing and Resource Timing in Workers, and workerStart
attribute of Resource Timing.

This is a reland of r197722, which is reverted in r199493 to avoid
shipping prefixed Resource Timing APIs. That has been addressed in
r200301; now only unprefixed version of the APIs are available in worker
contexts.

Intent to Implement and Ship:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/htsW078UcFA

BUG= 465640 , 465641 , 465643 

Review URL: https://codereview.chromium.org/1289803002
-----------------------------------------------------------------
Status: Fixed
Project Member

Comment 46 by bugdroid1@chromium.org, Sep 23 2015

Labels: merge-merged-2490
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d9377665348aee84522828a7086ac4b8bac12972

commit d9377665348aee84522828a7086ac4b8bac12972
Author: ksakamoto@chromium.org <ksakamoto@chromium.org>
Date: Fri Aug 14 07:04:11 2015

Reland: Enable ServiceWorkerPerformanceTimeline flag for stable

This ships User Timing and Resource Timing in Workers, and workerStart
attribute of Resource Timing.

This is a reland of r197722, which is reverted in r199493 to avoid
shipping prefixed Resource Timing APIs. That has been addressed in
r200301; now only unprefixed version of the APIs are available in worker
contexts.

Intent to Implement and Ship:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/htsW078UcFA

BUG= 465640 , 465641 , 465643 

Review URL: https://codereview.chromium.org/1289803002

git-svn-id: svn://svn.chromium.org/blink/trunk@200524 bbb929c8-8fbe-4397-9dbb-9b2b20218538

[modify] http://crrev.com/d9377665348aee84522828a7086ac4b8bac12972/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] http://crrev.com/d9377665348aee84522828a7086ac4b8bac12972/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in

Sign in to add a comment