Contact emails
Explainer
Specification
Design docs
Summary
This feature captures the JS call stack when a web page becomes unresponsive due to JavaScript code running an infinite loop or other very long computation. This helps developers to identify the cause of the unresponsiveness and fix it more easily. The JS call
stack is included in the crash reporting API when the reason is unresponsive.
Blink component
TAG review
None
TAG review status
Risks
Interoperability and Compatibility
"The stack trace format itself is not compatible across browsers." However, "It is already exposed throughout the web platform (via the `error.stack` getter), and there is already a lot of software, both client- and server-side, which deals with parsing the
different browsers' formats."
Gecko: No signal
WebKit: No signal
Web developers: No signals
Other signals:
Security
Stack frames from cross-domain scripts that were not loaded with CORS must be omitted.
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?
None
Goals for experimentation
The primary goal of this experiment is to gain insights on the usage and effectiveness of the call stacks in crash reports from unresponsive web pages feature. We aim to understand how this feature can help developers debug unresponsive
renderers, and how it can be improved to better serve their needs.
Specifically, we are looking to gain insight on the following pieces of the API surface:
- The frequency under which the feature is used.
- The usefulness of the call stacks provided by this feature in debugging unresponsive renderers.
To validate our designs, we will be using the following metrics and feedback:
- Usage data: We will collect data on the number of execution contexts for which this feature is enabled, and the call stack is generated.
- Developer feedback: We will solicit feedback from developers on the usefulness of the call stacks provided by this feature, and any improvements they would like to see.
Ongoing technical constraints
None
Debuggability
Developers can launch DevTools, go to the "Application" Tab, then in the "Background services" section click on "Reporting API" where they can inspect reports that are queued to be sent. Application --> Reporting API
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes
No
This feature is not currently testable on WPT, since triggering it requires crashing the browser.
DevTrial instructions
Flag name on chrome://flags
Finch feature name
DocumentPolicyIncludeJSCallStacksInCrashReports
Requires code in //chrome?
False
Tracking bug
Estimated milestones
Origin trial desktop first
|
127
|
Origin trial desktop last
|
132
|
DevTrial on desktop
|
125
|
OriginTrial Android last
|
132
|
OriginTrial Android first
|
127
|
DevTrial on Android
|
125
|
OriginTrial webView last
|
132
|
OriginTrial webView first
|
127
|
Link to entry on the Chrome Platform Status
Links to previous Intent discussions