From 02313075f1875fa6b92451a617bd83544809a10e Mon Sep 17 00:00:00 2001 From: archandatta <35818003+archandatta@users.noreply.github.com> Date: Mon, 5 Oct 2026 19:25:54 +0000 Subject: [PATCH 1/2] Document worker_ended telemetry event Co-Authored-By: Claude Opus 5.5 --- browsers/telemetry/categories.mdx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/browsers/telemetry/categories.mdx b/browsers/telemetry/categories.mdx index fede1c6a..97c2310f 100644 --- a/browsers/telemetry/categories.mdx +++ b/browsers/telemetry/categories.mdx @@ -121,7 +121,7 @@ These categories report what's happening in the page. Capturing any of them atta | --- | --- | --- | | `console` | Console output from the page | `console_log`, `console_error` | | `network` | Network requests, responses, and failures | `network_request`, `network_response`, `network_loading_failed`, `network_idle`, `proxy_error` | -| `page` | Navigation and page lifecycle, including performance signals and renderer crashes | `page_navigation`, `page_dom_content_loaded`, `page_load`, `page_tab_opened`, `page_crashed`, `page_layout_shift`, `page_lcp`, `page_layout_settled`, `page_navigation_settled` | +| `page` | Navigation and page lifecycle, including performance signals, renderer crashes, and workers ending | `page_navigation`, `page_dom_content_loaded`, `page_load`, `page_tab_opened`, `page_crashed`, `worker_ended`, `page_layout_shift`, `page_lcp`, `page_layout_settled`, `page_navigation_settled` | | `interaction` | Browser-native input in the page (clicks, keys, scroll) | `interaction_click`, `interaction_key`, `interaction_scroll_settled` | | `screenshot` | Periodic screenshots of the session | `monitor_screenshot` | @@ -151,6 +151,12 @@ The 1 s layout window covers late-loading web fonts and deferred image reflows. Kernel computes `interaction_scroll_settled` the same way: it fires 300 ms after the last `scroll` event on a target, and only when the position moved more than 5 px on either axis, so scroll jitter doesn't emit an event. +### Renderer crashes and workers ending + +`page_crashed` reports that a page's renderer process crashed (an "Aw, Snap!" failure) while the browser stayed up. + +`worker_ended` reports that a shared worker or service worker stopped running, for example when a shared worker closes itself or the last tab using it closes, or when a newer version replaces a service worker. A worker ending isn't a crash. Chrome reports a worker that ended normally the same way as one whose process exited, so both produce `worker_ended`. When a renderer crashes, each page it hosted still reports `page_crashed`. + ### The monitor category `monitor` reports the health of the CDP collector itself: `monitor_disconnected`, `monitor_reconnected`, `monitor_reconnect_failed`, and `monitor_init_failed`. From f84d13d29e9df4a0f38a183f3d53b74e376afd5b Mon Sep 17 00:00:00 2001 From: archandatta <35818003+archandatta@users.noreply.github.com> Date: Tue, 6 Oct 2026 11:35:44 +0000 Subject: [PATCH 2/2] Rename worker_ended to page_worker_ended Co-Authored-By: Claude Opus 5.5 --- browsers/telemetry/categories.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/browsers/telemetry/categories.mdx b/browsers/telemetry/categories.mdx index 97c2310f..f955c421 100644 --- a/browsers/telemetry/categories.mdx +++ b/browsers/telemetry/categories.mdx @@ -121,7 +121,7 @@ These categories report what's happening in the page. Capturing any of them atta | --- | --- | --- | | `console` | Console output from the page | `console_log`, `console_error` | | `network` | Network requests, responses, and failures | `network_request`, `network_response`, `network_loading_failed`, `network_idle`, `proxy_error` | -| `page` | Navigation and page lifecycle, including performance signals, renderer crashes, and workers ending | `page_navigation`, `page_dom_content_loaded`, `page_load`, `page_tab_opened`, `page_crashed`, `worker_ended`, `page_layout_shift`, `page_lcp`, `page_layout_settled`, `page_navigation_settled` | +| `page` | Navigation and page lifecycle, including performance signals, renderer crashes, and workers ending | `page_navigation`, `page_dom_content_loaded`, `page_load`, `page_tab_opened`, `page_crashed`, `page_worker_ended`, `page_layout_shift`, `page_lcp`, `page_layout_settled`, `page_navigation_settled` | | `interaction` | Browser-native input in the page (clicks, keys, scroll) | `interaction_click`, `interaction_key`, `interaction_scroll_settled` | | `screenshot` | Periodic screenshots of the session | `monitor_screenshot` | @@ -153,9 +153,9 @@ Kernel computes `interaction_scroll_settled` the same way: it fires 300 ms after ### Renderer crashes and workers ending -`page_crashed` reports that a page's renderer process crashed (an "Aw, Snap!" failure) while the browser stayed up. +`page_crashed` reports that a page's renderer process crashed (an "Aw, Snap!" failure) while the browser stayed up. Data from browser images released before `page_worker_ended` can also contain `page_crashed` events for shared and service workers. -`worker_ended` reports that a shared worker or service worker stopped running, for example when a shared worker closes itself or the last tab using it closes, or when a newer version replaces a service worker. A worker ending isn't a crash. Chrome reports a worker that ended normally the same way as one whose process exited, so both produce `worker_ended`. When a renderer crashes, each page it hosted still reports `page_crashed`. +`page_worker_ended` reports that a shared worker or service worker stopped running, for example when a shared worker closes itself or the last tab using it closes, or when a newer version replaces a service worker. Chrome doesn't stop idle service workers while telemetry is attached to them, so idle timeouts don't produce this event. A worker ending isn't a crash. Chrome reports a worker that ended normally the same way as one whose process exited, so both produce `page_worker_ended`. When a renderer crashes, each page it hosted still reports `page_crashed`. ### The monitor category