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 6 users

Issue metadata

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

Blocked on:
issue 465638
issue 515344



Sign in to add a comment

Offer Resource timing in Workers

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.

The resource timing spec is being updated to take into account workers.

Spec: http://w3c.github.io/resource-timing/
 
Cc: igrigo...@chromium.org

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

Owner: ksakamoto@chromium.org
Status: Assigned
Blockedon: chromium:465638
Labels: Cr-Blink-Performance-APIs
Labels: M-45
Project Member

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

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

------------------------------------------------------------------
r197220 | ksakamoto@chromium.org | 2015-06-17T01:02:06.320145Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/timing/PerformanceBase.h?r1=197220&r2=197219&pathrev=197220
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/timing/PerformanceResourceTiming.cpp?r1=197220&r2=197219&pathrev=197220
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/timing/PerformanceResourceTiming.h?r1=197220&r2=197219&pathrev=197220
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/loader/FrameFetchContext.cpp?r1=197220&r2=197219&pathrev=197220
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/timing/PerformanceBase.cpp?r1=197220&r2=197219&pathrev=197220

ResourceTiming should not depend on Document

In preparation for enabling Resource Timing in workers, this patch
removes Document dependency from PerformanceResourceTiming and
PerformanceBase::addResourceTiming.

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

Review URL: https://codereview.chromium.org/1185553002
-----------------------------------------------------------------
Status: Started
Project Member

Comment 7 by bugdroid1@chromium.org, Jun 18 2015

Project Member

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

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

------------------------------------------------------------------
r197707 | ksakamoto@chromium.org | 2015-06-24T06:18:59.649782Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/core.gypi?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/loader/FrameFetchContext.cpp?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/loader/WorkerLoaderClientBridgeSyncHelper.cpp?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/fetch/ResourceFetcher.cpp?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/loader/WorkerLoaderClientBridge.cpp?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/loader/WorkerThreadableLoader.cpp?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/timing/PerformanceBase.cpp?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/loader/WorkerLoaderClientBridgeSyncHelper.h?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/fetch/Resource.h?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/platform/blink_platform.gypi?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/loader/WorkerLoaderClientBridge.h?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/loader/DocumentThreadableLoader.cpp?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/loader/WorkerThreadableLoader.h?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/fetch/RawResource.cpp?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/loader/DocumentThreadableLoader.h?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/loader/ThreadableLoaderClient.h?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/loader/ThreadableLoaderClientWrapper.h?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/fetch/RawResource.h?r1=197707&r2=197706&pathrev=197707
   A http://src.chromium.org/viewvc/blink/trunk/Source/platform/network/ResourceTimingInfo.cpp?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/fetch/DEPS?r1=197707&r2=197706&pathrev=197707
   A http://src.chromium.org/viewvc/blink/trunk/Source/platform/network/ResourceTimingInfo.h?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/workers/resources/performance-timeline-worker.js?r1=197707&r2=197706&pathrev=197707
   D http://src.chromium.org/viewvc/blink/trunk/Source/core/timing/ResourceTimingInfo.h?r1=197707&r2=197706&pathrev=197707
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/timing/PerformanceResourceTiming.cpp?r1=197707&r2=197706&pathrev=197707

Offer Resource Timing in workers

This patch makes worker's performance timeline populated with resource
timings. Most of the changes are plumbing for ResourceTimingInfo from
ResourceFetcher in main thread to WorkerThreadableLoader in worker
thread.

BUG= 465641 
TEST=http/tests/workers,http/tests/serviceworker

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

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

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

------------------------------------------------------------------
r197713 | ksakamoto@chromium.org | 2015-06-24T08:04:15.515227Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/http/tests/workers/resources/performance-timeline-worker.js?r1=197713&r2=197712&pathrev=197713
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/timing/WorkerPerformance.idl?r1=197713&r2=197712&pathrev=197713

Expose Resource Timing methods and attribute in workers

This patch makes the Resource Timing extensions to the Performance
interface [1] available in Workers, behind the experimental flag.
Unfortunately those are still prefixed in window.performance, so
prefixed in workers too.

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

[1] http://www.w3.org/TR/resource-timing/#extensions-performance-interface

BUG= 465641 
TEST=http/tests/workers,http/tests/serviceworker

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

Comment 10 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
Labels: Cr-Blink-Workers
Summary: Offer Resource timing in Workers (was: Offer Resource timing in Service Worker)
This is supported in all workers!
Project Member

Comment 13 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: -M-45 M-46
Status: Assigned
Re-opening for M46.
Blockedon: chromium:515344
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 19 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 21 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