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

Issue 702760 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Task
Launch-Accessibility: NA
Launch-Legal: NotReviewed
Launch-Privacy: NotReviewed
Launch-Security: NotReviewed
Launch-Test: NotReviewed
Launch-UI: NA



Sign in to add a comment

ServerTiming API

Project Member Reported by y...@yoav.ws, Mar 17 2017

Issue description

Change description:
Add the PerformanceServerTiming Interface which makes Server-Timing header timing values available to JavaScript running in the browser.

Changes to API surface:
* PerformanceServerTiming class
* Performance.clearServerTiming()
* Performance.setServerTimingBufferSize()
* Performance.onservertimingbufferfull

Links:
Public standards discussion: http://wicg.github.io/server-timing/

Support in other browsers:
Internet Explorer: No
Firefox: No
Safari: No

*Make sure to fill in any labels with a -?, including all OSes this change
affects. Feel free to leave other labels at the defaults.

 
Components: Blink>PerformanceAPIs
Project Member

Comment 2 by bugdroid1@chromium.org, May 4 2017

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

commit 9c4bf486b60e7913eff8100ca33dc0505ef421d9
Author: cvazac <cvazac@akamai.com>
Date: Thu May 04 10:14:46 2017

Server-Timing

Parse Server-Timing response headers and make the metric name(s), value(s), and
description(s) available as PerformanceServerTiming entries on the global
performance timeline and to PerformanceObservers. This feature is behind the
"ServerTiming" experimental-features flag.

To test, turn the flag on
(chrome://flags/#enable-experimental-web-platform-features) and explore to
https://server-timing.now.sh/. Execute `performance.getEntriesByType('server')`
in DevTools to inspect the 4 entries for the base page, as per the response
header:
server-timing:db=100; "Database metric", api=200; "HTTP/API metric", cache=300; "cache metric", total=0.000297322; "Total Response Time"

To inspect the 4 entries for the favicon.ico, you will need to set up a
PerformanceObserver (I use TamperMonkey to inject a content script) like this:
new PerformanceObserver(function(list, observer) {
  console.info(list.getEntries())
  observer.disconnect()
}).observe({entryTypes: ['server']})

Spec: https://w3c.github.io/server-timing/
Intent to implement:
https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/y3qwr490Fc4/boGoo41-BwAJ

BUG= 702760 

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

[add] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/common/performance-timeline-utils.js
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/resources/webperftestharness.js
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_document_open.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_navigate_within_document.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_navigation_attributes_exist.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_navigation_redirectCount_none.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_navigation_type_backforward.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_navigation_type_enums.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_navigation_type_reload.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_no_previous_document.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_performance_attributes_exist.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_performance_attributes_exist_in_object.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_readwrite.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_timing_attributes_exist.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_timing_attributes_order.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_timing_client_redirect.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_timing_reload.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_timing_server_redirect.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_timing_xserver_redirect.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/navigation-timing/test_unique_performance_objects.html
[add] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/server-timing/resources/blue.png
[add] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/server-timing/resources/blue.png.sub.headers
[add] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/server-timing/resources/green.png
[add] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/server-timing/resources/green.png.sub.headers
[add] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/server-timing/test_server_timing.html
[add] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/server-timing/test_server_timing.html.sub.headers
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/user-timing/measure.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/user-timing/measure_navigation_timing.html
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/external/wpt/user-timing/resources/webperftestharness.js
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/core/frame/LocalDOMWindow.h
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/core/loader/DocumentLoader.cpp
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/core/timing/BUILD.gn
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/core/timing/PerformanceBase.cpp
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/core/timing/PerformanceBase.h
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/core/timing/PerformanceEntry.cpp
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/core/timing/PerformanceEntry.h
[add] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/core/timing/PerformanceServerTiming.cpp
[add] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/core/timing/PerformanceServerTiming.h
[add] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/core/timing/PerformanceServerTiming.idl
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/platform/network/HTTPNames.json5
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/platform/network/HTTPParsers.cpp
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/platform/network/HTTPParsers.h
[modify] https://crrev.com/9c4bf486b60e7913eff8100ca33dc0505ef421d9/third_party/WebKit/Source/platform/network/HTTPParsersTest.cpp

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 14 2017

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

commit a8342f08488f15c766e3882ec3ce84c952a8a0de
Author: cvazac <cvazac@akamai.com>
Date: Wed Jun 14 18:17:09 2017

Better header value parsing for Server-Timing.

The parsing code now leverages the same helper methods that we use to
parse the content-type header. I also added some tests to make sure
double-quotes and other delimiters are properly handled in a quoted
description.

BUG= 702760 

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

[modify] https://crrev.com/a8342f08488f15c766e3882ec3ce84c952a8a0de/third_party/WebKit/Source/platform/network/HTTPParsers.cpp
[modify] https://crrev.com/a8342f08488f15c766e3882ec3ce84c952a8a0de/third_party/WebKit/Source/platform/network/HTTPParsers.h
[modify] https://crrev.com/a8342f08488f15c766e3882ec3ce84c952a8a0de/third_party/WebKit/Source/platform/network/HTTPParsersTest.cpp
[modify] https://crrev.com/a8342f08488f15c766e3882ec3ce84c952a8a0de/third_party/WebKit/Source/platform/network/HeaderFieldTokenizer.cpp

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 6 2017

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

commit 03ba6110113f1439b239b6142c130e60fc9b4519
Author: cvazac <cvazac@akamai.com>
Date: Thu Jul 06 10:48:59 2017

Per the new server-timing spec
(https://github.com/w3c/server-timing), there are no longer standalone
`server` entries emitted to PerformanceObservers or found in the
timeline. Server-timing data now comes down in an Array as `serverTiming` on the
corresponding PerformanceResourceTiming entry for subresources, and on
the PerformanceNavigationTiming entry for the basepage. Also,
PerformanceServerTiming no longer extends PerformanceEntry, because
half of the fields either held no value (startTime) or were redundant
(name, entryType). Lastly, we are going to name the numeric "value"
instead of "duration", because it's just a double.

BUG= 702760 

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

[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/LayoutTests/external/wpt/resource-timing/test_resource_timing.js
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/LayoutTests/external/wpt/server-timing/test_server_timing.html
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/LayoutTests/http/tests/misc/performance-entry-serializer.html
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/frame/LocalDOMWindow.h
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/loader/DocumentLoader.cpp
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/timing/Performance.cpp
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/timing/PerformanceBase.cpp
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/timing/PerformanceBase.h
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/timing/PerformanceEntry.cpp
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/timing/PerformanceEntry.h
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/timing/PerformanceNavigationTiming.cpp
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/timing/PerformanceNavigationTiming.h
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/timing/PerformanceResourceTiming.cpp
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/timing/PerformanceResourceTiming.h
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/timing/PerformanceResourceTiming.idl
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/timing/PerformanceServerTiming.cpp
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/timing/PerformanceServerTiming.h
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/core/timing/PerformanceServerTiming.idl
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/platform/network/HTTPParsers.cpp
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/platform/network/HTTPParsers.h
[modify] https://crrev.com/03ba6110113f1439b239b6142c130e60fc9b4519/third_party/WebKit/Source/platform/network/HTTPParsersTest.cpp

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 11 2017

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

commit 7462d5bda51bba1aadbfa38617f3cd44251fbf96
Author: Charles Vazac <cvazac@akamai.com>
Date: Fri Aug 11 22:29:05 2017

Updates to Server-Timing in accordance with with spec changes

Per spec update (https://w3c.github.io/server-timing/), rename "metric"
to "name", and "value" to "duration".

Bug:  702760 
Change-Id: I99733ee9b2935dafce91939126584315bbc6a6f0
Reviewed-on: https://chromium-review.googlesource.com/596147
Reviewed-by: Yoav Weiss <yoav@yoav.ws>
Reviewed-by: Mike West <mkwst@chromium.org>
Commit-Queue: Yoav Weiss <yoav@yoav.ws>
Cr-Commit-Position: refs/heads/master@{#493869}
[modify] https://crrev.com/7462d5bda51bba1aadbfa38617f3cd44251fbf96/third_party/WebKit/LayoutTests/external/wpt/server-timing/test_server_timing.html
[modify] https://crrev.com/7462d5bda51bba1aadbfa38617f3cd44251fbf96/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/7462d5bda51bba1aadbfa38617f3cd44251fbf96/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/7462d5bda51bba1aadbfa38617f3cd44251fbf96/third_party/WebKit/Source/core/timing/PerformanceServerTiming.cpp
[modify] https://crrev.com/7462d5bda51bba1aadbfa38617f3cd44251fbf96/third_party/WebKit/Source/core/timing/PerformanceServerTiming.h
[modify] https://crrev.com/7462d5bda51bba1aadbfa38617f3cd44251fbf96/third_party/WebKit/Source/core/timing/PerformanceServerTiming.idl
[modify] https://crrev.com/7462d5bda51bba1aadbfa38617f3cd44251fbf96/third_party/WebKit/Source/platform/network/HTTPParsers.cpp
[modify] https://crrev.com/7462d5bda51bba1aadbfa38617f3cd44251fbf96/third_party/WebKit/Source/platform/network/HTTPParsers.h
[modify] https://crrev.com/7462d5bda51bba1aadbfa38617f3cd44251fbf96/third_party/WebKit/Source/platform/network/HTTPParsersTest.cpp

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 25 2017

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

commit 396a91c1768588c5d6f49c75a8fdf0c84950f017
Author: Charles Vazac <cvazac@akamai.com>
Date: Fri Aug 25 20:40:17 2017

Server Timing - duplicate names WPT

Update WPT to assert that all server timing entries of the same name
for the same resource come down to javascript-land. No de-duping.

Bug:  702760 
Change-Id: I6050096bb8c2600c07a4651bafebad5d43b9a18d
Reviewed-on: https://chromium-review.googlesource.com/634632
Reviewed-by: Yoav Weiss <yoav@yoav.ws>
Reviewed-by: Mike West <mkwst@chromium.org>
Commit-Queue: Yoav Weiss <yoav@yoav.ws>
Cr-Commit-Position: refs/heads/master@{#497526}
[modify] https://crrev.com/396a91c1768588c5d6f49c75a8fdf0c84950f017/third_party/WebKit/LayoutTests/external/wpt/server-timing/resources/blue.png.sub.headers
[modify] https://crrev.com/396a91c1768588c5d6f49c75a8fdf0c84950f017/third_party/WebKit/LayoutTests/external/wpt/server-timing/resources/green.png.sub.headers
[modify] https://crrev.com/396a91c1768588c5d6f49c75a8fdf0c84950f017/third_party/WebKit/LayoutTests/external/wpt/server-timing/test_server_timing.html
[modify] https://crrev.com/396a91c1768588c5d6f49c75a8fdf0c84950f017/third_party/WebKit/LayoutTests/external/wpt/server-timing/test_server_timing.html.sub.headers

Comment 9 by owe...@chromium.org, Sep 12 2017

Labels: migrated-launch-owp Type-Task
This issue has been automatically relabelled type=task because type=launch-owp issues are now officially deprecated. The deprecation is because they were creating confusion about how to get launch approvals, which should be instead done via type=launch issues.

We recommend this issue be used for implementation tracking (for public visibility), but if you already have an issue for that, you may mark this as duplicate.

For more details see here: https://docs.google.com/document/d/1JA6RohjtZQc26bTrGoIE_bSXGXUDQz8vc6G0n_sZJ2o/edit

For any questions, please contact owencm, sshruthi, larforge
Project Member

Comment 10 by bugdroid1@chromium.org, Sep 19 2017

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 23 2017

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

commit b27f2d6b7e420254f1f262d4775b483ec37fae66
Author: Charles Vazac <cvazac@akamai.com>
Date: Thu Nov 23 12:29:10 2017

Update Server Timing header parsing in accordance with spec change

See https://w3c.github.io/server-timing/#the-server-timing-header-field
Parameters for a metric in the Server-Timing header are now be named.
Old:
Server-Timing: db = 123; "database access"

New:
Server-Timing: db; dur=123; desc="database access"

Bug:  702760 
Change-Id: Ic544448898a72f9762ba054b69e68f63bb5c76b0
Reviewed-on: https://chromium-review.googlesource.com/741465
Commit-Queue: Yoav Weiss <yoav@yoav.ws>
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Yoav Weiss <yoav@yoav.ws>
Cr-Commit-Position: refs/heads/master@{#518905}
[modify] https://crrev.com/b27f2d6b7e420254f1f262d4775b483ec37fae66/third_party/WebKit/LayoutTests/external/wpt/common/performance-timeline-utils.js
[modify] https://crrev.com/b27f2d6b7e420254f1f262d4775b483ec37fae66/third_party/WebKit/LayoutTests/external/wpt/server-timing/resources/blue.png.sub.headers
[modify] https://crrev.com/b27f2d6b7e420254f1f262d4775b483ec37fae66/third_party/WebKit/LayoutTests/external/wpt/server-timing/resources/green.png.sub.headers
[modify] https://crrev.com/b27f2d6b7e420254f1f262d4775b483ec37fae66/third_party/WebKit/LayoutTests/external/wpt/server-timing/test_server_timing.html.sub.headers
[modify] https://crrev.com/b27f2d6b7e420254f1f262d4775b483ec37fae66/third_party/WebKit/Source/core/timing/PerformanceServerTiming.cpp
[modify] https://crrev.com/b27f2d6b7e420254f1f262d4775b483ec37fae66/third_party/WebKit/Source/platform/network/BUILD.gn
[modify] https://crrev.com/b27f2d6b7e420254f1f262d4775b483ec37fae66/third_party/WebKit/Source/platform/network/HTTPParsers.cpp
[modify] https://crrev.com/b27f2d6b7e420254f1f262d4775b483ec37fae66/third_party/WebKit/Source/platform/network/HTTPParsers.h
[modify] https://crrev.com/b27f2d6b7e420254f1f262d4775b483ec37fae66/third_party/WebKit/Source/platform/network/HTTPParsersTest.cpp
[modify] https://crrev.com/b27f2d6b7e420254f1f262d4775b483ec37fae66/third_party/WebKit/Source/platform/network/HeaderFieldTokenizer.cpp
[add] https://crrev.com/b27f2d6b7e420254f1f262d4775b483ec37fae66/third_party/WebKit/Source/platform/network/ServerTimingHeader.cpp
[add] https://crrev.com/b27f2d6b7e420254f1f262d4775b483ec37fae66/third_party/WebKit/Source/platform/network/ServerTimingHeader.h

Project Member

Comment 12 by bugdroid1@chromium.org, Jan 5 2018

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

commit 264a10e3371a8f5e167563385cb438728fbe3f1d
Author: Charles Vazac <cvazac@akamai.com>
Date: Fri Jan 05 21:39:50 2018

Update Server Timing header parsing in accordance with spec change

See https://www.w3.org/TR/server-timing/#the-server-timing-header-field
Parameters for a metric in the Server-Timing header are now be named.
Old:
Server-Timing: db = 123; "database access"

New:
Server-Timing: db; dur=123; desc="database access"

Bug:  702760 
Change-Id: I3f3060dc685ba699475e8c55ba46ec5a55849d8e
Reviewed-on: https://chromium-review.googlesource.com/767207
Commit-Queue: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527391}
[add] https://crrev.com/264a10e3371a8f5e167563385cb438728fbe3f1d/third_party/WebKit/LayoutTests/http/tests/devtools/network/server-timing-expected.txt
[add] https://crrev.com/264a10e3371a8f5e167563385cb438728fbe3f1d/third_party/WebKit/LayoutTests/http/tests/devtools/network/server-timing.js
[modify] https://crrev.com/264a10e3371a8f5e167563385cb438728fbe3f1d/third_party/WebKit/Source/devtools/front_end/sdk/ServerTiming.js

Project Member

Comment 13 by bugdroid1@chromium.org, Jan 8 2018

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

commit 10ebb133e5aebf3085153b288060aacf38cccb62
Author: Charles Vazac <cvazac@akamai.com>
Date: Mon Jan 08 09:54:22 2018

Update Server-Timing response header parsing algorithm.


Per spec, only the first instance of a param name will be considered,
even if it is invalid or incomplete.

https://www.w3.org/TR/server-timing/#the-server-timing-header-field
(see part about "incomplete")

In the following examples, the duration will be returned as 0, not 123.
Server-Timing: metric; dur=foo; dur=123
Server-Timing: metric; dur=; dur=123
Server-Timing: metric; dur; dur=123

Bug:  702760 
Change-Id: I114e91031113f999b8deb439feff7f327802986a
Reviewed-on: https://chromium-review.googlesource.com/840458
Commit-Queue: Yoav Weiss <yoav@yoav.ws>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Yoav Weiss <yoav@yoav.ws>
Cr-Commit-Position: refs/heads/master@{#527593}
[modify] https://crrev.com/10ebb133e5aebf3085153b288060aacf38cccb62/third_party/WebKit/Source/platform/network/HTTPParsers.cpp
[modify] https://crrev.com/10ebb133e5aebf3085153b288060aacf38cccb62/third_party/WebKit/Source/platform/network/HTTPParsersTest.cpp
[modify] https://crrev.com/10ebb133e5aebf3085153b288060aacf38cccb62/third_party/WebKit/Source/platform/network/HeaderFieldTokenizer.cpp
[modify] https://crrev.com/10ebb133e5aebf3085153b288060aacf38cccb62/third_party/WebKit/Source/platform/network/HeaderFieldTokenizer.h

Project Member

Comment 14 by bugdroid1@chromium.org, Jan 8 2018

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

commit 342377337b75a5bd6178bb4b2189e06c6e0f999e
Author: Charles Vazac <cvazac@akamai.com>
Date: Mon Jan 08 18:09:32 2018

Switch ServerTiming from 'experimental' to 'stable'

3 LGTMs here:
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/ivub1L2UQzQ/discussion

Bug:  702760 
Change-Id: Id00e20574c8c743f9d86c3ade4493717096713a3
Reviewed-on: https://chromium-review.googlesource.com/656303
Commit-Queue: Yoav Weiss <yoav@yoav.ws>
Reviewed-by: Yoav Weiss <yoav@yoav.ws>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527670}
[modify] https://crrev.com/342377337b75a5bd6178bb4b2189e06c6e0f999e/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/342377337b75a5bd6178bb4b2189e06c6e0f999e/third_party/WebKit/LayoutTests/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/342377337b75a5bd6178bb4b2189e06c6e0f999e/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/342377337b75a5bd6178bb4b2189e06c6e0f999e/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/342377337b75a5bd6178bb4b2189e06c6e0f999e/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/342377337b75a5bd6178bb4b2189e06c6e0f999e/third_party/WebKit/Source/platform/runtime_enabled_features.json5

Comment 15 by cva...@gmail.com, Jan 8 2018

Status: Fixed (was: Assigned)

Sign in to add a comment