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
Debuggability
No information provided
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes
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 desktop | 145 |
| Origin trial desktop first | 136 |
| Origin trial desktop last | 139 |
| Origin trial extension 1 end milestone | 142 |
| DevTrial on desktop | 135 |
| Shipping on Android | 145 |
| Origin trial Android first | 136 |
| Origin trial Android last | 139 |
| DevTrial on Android | 135 |
| Shipping on WebView | 145 |
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/bJSp3ekfAAAJIntent to Experiment:
https://groups.google.com/a/chromium.org/g/blink-dev/c/FYsfp0OsMko/m/WbhUrqSqAQAJIntent to Extend Experiment 1:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6091e78f-7c77-4ed3-9559-eb660a14dfb7n%40chromium.org