Intent to Ship: Enabling Web Applications to understand bimodal performance timings

23 views
Skip to first unread message

Chromestatus

unread,
1:52 PM (3 hours ago) 1:52 PM
to blin...@chromium.org, mjac...@chromium.org, mjac...@microsoft.com, mmo...@google.com
Contact emails
mjac...@microsoft.com, mmo...@google.com, mjac...@chromium.org

Explainer
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/PerformanceNavigationTiming%20for%20User%20Agent%20Launch/explainer.md

Specification
https://w3c.github.io/navigation-timing/#sec-performance-timing-confidence

Design docs

https://docs.google.com/document/d/1D6DqptsCEd3wPRsZ0q1iwVBAXXmhxZuLV-KKFI0ptCg/edit#heading=h.7nki9mck5t64

Summary
Web applications may suffer from bimodal distribution in page load performance due to factors outside of the application’s control. For example, when a user agent first launches in a “cold start” scenario, it must perform many expensive initialization tasks that compete for system resources. Browser extensions can also affect performance, since some extensions run additional code on every page you visit, increasing CPU usage and slowing response times. Likewise, when a machine is already busy with intensive tasks, web pages may load more slowly as a result. In these scenarios, content the web app attempts to load will be in competition with other work happening on the system. This makes it difficult to detect if performance issues exist within web applications themselves, or because of external factors. Teams we have worked with have been surprised at the difference between real-world dashboard metrics and what they observe in page profiling tools. Without more information, it is challenging for developers to understand if (and when) their applications may be misbehaving or are simply being loaded in a contended period. A new ‘confidence’ field on the PerformanceNavigationTiming object will enable developers to discern if the navigation timings are representative for their web application.

Blink component
Blink>PerformanceAPIs>NavigationTiming

Web Feature ID
Missing feature

Motivation
When a user agent first launches (a "cold start" scenario), it must perform many expensive initialization tasks that compete for resources on the system. Consequently, web applications may suffer from bimodal distribution in page load performance. Content they attempt to load will be in competition with other initialization work. This makes it difficult to detect if performance issues exist within web applications themselves, or because of a user-agent-generated condition of high resource contention. This is particularly a pain point for pinned PWAs (Progressive Web Apps) that will often require a cold start of the user agent, and teams we have worked with have been surprised at the difference between real-world dashboard metrics and what they observe in page profiling tools. Without more information, it is challenging for developers to understand if (and when) their applications may be misbehaving or are simply being loaded in a contended period. To address this, we propose adding new information to existing Web Performance APIs.

Initial public proposal
https://discourse.wicg.io/t/proposal-user-agent-launch-type-in-performancenavigationtiming/5875

TAG review
https://github.com/w3ctag/design-reviews/issues/878

TAG review status
Issues addressed

Origin Trial Name
PerformanceNavigationTiming confidence

Chromium Trial Name
PerformanceNavigationTimingConfidence

Origin Trial documentation link
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/PerformanceNavigationTiming%20for%20User%20Agent%20Launch/explainer.md

WebFeature UseCounter name
kPerformanceNavigationTimingConfidence

Risks


Interoperability and Compatibility
None.

Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1191)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/469)

Web developers: Positive (https://issues.chromium.org/issues/40255844#comment10) Positive feedback from WebPerfWG. https://w3c.github.io/web-performance/meetings/2025/2025-11-TPAC/index.html#h.jgi0mlvusons

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

No information provided


Debuggability
No information provided

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes

Is this feature fully tested by web-platform-tests?
Yes
third_party/blink/web_tests/http/tests/misc/performance-navigation-timing-entry-confidence.tentative.html

Flag name on about://flags
No information provided

Finch feature name
PerformanceNavigationTimingConfidence

Rollout plan
Will ship enabled for all users

Requires code in //chrome?
True

Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1413848

Estimated milestones
Shipping on desktop145
Origin trial desktop first136
Origin trial desktop last139
Origin trial extension 1 end milestone142
DevTrial on desktop135
Shipping on Android145
Origin trial Android first136
Origin trial Android last139
DevTrial on Android135
Shipping on WebView145


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

No information provided

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5186950448283648?gate=6507865714458624

Links to previous Intent discussions
Intent to Prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/o0F7nBKsgg0/m/bJSp3ekfAAAJ
Intent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/FYsfp0OsMko/m/WbhUrqSqAQAJ
Intent to Extend Experiment 1: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6091e78f-7c77-4ed3-9559-eb660a14dfb7n%40chromium.org


This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages