From c0e260712a1a506334c213d74c5436d69b9cf149 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 12 Nov 2026 15:50:04 +0600 Subject: [PATCH] [2026-11-12] eagle: work/projects/cpm-permanent-breakage-metric-tech-design-2026-11-10.md --- ...pm-permanent-breakage-metric-tech-design-2026-11-10.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/work/projects/cpm-permanent-breakage-metric-tech-design-2026-11-10.md b/work/projects/cpm-permanent-breakage-metric-tech-design-2026-11-10.md index 4a22ff39..ae487f1f 100644 --- a/work/projects/cpm-permanent-breakage-metric-tech-design-2026-11-10.md +++ b/work/projects/cpm-permanent-breakage-metric-tech-design-2026-11-10.md @@ -32,10 +32,10 @@ Rework the health monitor so that it finds the tabs whose pages never get a mess 3. **Solution.** The extension adds to each message the tab's index in its window, the id of that window and the ids of all windows, as the browser reports them. The app numbers its windows in the order it hands them to WebKit, and WebKit gives each window its id from a growing counter in that same order. So the k-th smallest of the window ids is the k-th window of the app, and the tab is the one at the index in that window. The app remembers which tab the extension's tab id belongs to until the tab closes or the extension reloads. If the app cannot tell the window (an older extension, or the app and the extension count different numbers of windows), it matches by the URL as before. 4. Two pixels: -| Pixel | When it is sent | Frequency | -|---|---|---| -| `web_extension_cpm_breakage` | A tab becomes silent. Parameter `tabs`: `one` if no other tab was silent since the extension last sent a message (the page is the likely cause), `many` if another one was (the extension is the likely cause). | Daily + count | -| `web_extension_cpm_breakage_persistent` | A second tab becomes silent and the extension sent no message in between. Once per such series. | Daily + count | +| Pixel | When it is sent | Frequency | +| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | +| `web_extension_cpm_breakage` | A tab becomes silent. Parameter `tabs`: `one` if no other tab was silent since the extension last sent a message (the page is the likely cause), `many` if another one was (the extension is the likely cause). | Daily + count | +| `web_extension_cpm_breakage_persistent` | A second tab becomes silent and the extension sent no message in between. Once per such series. | Daily + count | 5. Remove `web_extension_cpm_episode`, `web_extension_cpm_background_load_restart` and `web_extension_cpm_network_process_recovery_applied`, together with the code that only fed them. The new pixels must ship in the same release, otherwise there is no CPM breakage pixel at all. 6. The success metric is the number of installs per day with the persistent pixel, divided by DAU.