From 45beb18dddb218e9ad8987424e970ba269cf9fe3 Mon Sep 17 00:00:00 2001 From: mxinden-bot Date: Tue, 16 Jun 2026 14:12:09 +0000 Subject: [PATCH 1/2] Data: explain how the headline number relates to GLAM Adds a 'How these numbers relate to GLAM' note by the GLAM links: the page shows a per-connection estimate (from GLAM's non-normalized histogram, averaged over recent Nightly builds), whereas GLAM's UI defaults to a per-client, per-release proportion, so the click-through won't show the same percentage. Also fixes the stale charts.js header comment that claimed the opposite. --- css/style.css | 3 +++ index.html | 14 ++++++++++++++ js/charts.js | 6 ++++-- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/css/style.css b/css/style.css index 0793a35..feeb703 100644 --- a/css/style.css +++ b/css/style.css @@ -225,6 +225,9 @@ ul.tick li::before { .legend-dot { width: 11px; height: 11px; border-radius: 3px; display: inline-block; } .chart-cap { color: var(--fg-dim); font-size: 12.5px; margin: 2px 0 18px; } +.method { font-size: 12.5px; color: var(--fg-dim); margin-top: 8px; } +.method summary { cursor: pointer; color: var(--accent-2); } +.method p { margin: 8px 0 0; max-width: 70ch; } /* connection-start to first-paint, with one round trip highlighted (js/perf.js) */ .plviz { margin: 16px 0 4px; } diff --git a/index.html b/index.html index c1bcff1..b3db50a 100644 --- a/index.html +++ b/index.html @@ -287,6 +287,20 @@

How it is developing over time

+ +
+ How these numbers relate to GLAM +

+ Open the GLAM links and you won't see these exact percentages. GLAM's + page defaults to a per-client proportion aggregated per Firefox + release. These figures are per-connection instead: + reconstructed from GLAM's non-normalized histogram (each bucket value + times the clients reporting it), taken as each bucket's share of the four + discovery outcomes, and averaged over the most recent Nightly builds so + one heavy build can't skew them. To reconcile in GLAM, switch it to the + non-normalized histogram and read it per build ID. +

+
diff --git a/js/charts.js b/js/charts.js index b5acf77..3955724 100644 --- a/js/charts.js +++ b/js/charts.js @@ -1,8 +1,10 @@ /* Renders the real-browser numbers from data/glam.json (refreshed on CI from * GLAM; see scripts/fetch-glam.mjs). Same-origin static file, so no CORS. * - * Shares are GLAM's "By Client ID" proportion: sample_count[bucket] divided by - * the sum over buckets, per build. That matches what the GLAM UI shows. */ + * Shares are per-connection: each bucket's share of the four discovery outcomes, + * from GLAM's non-normalized histogram, averaged over recent builds. GLAM's UI + * defaults to a per-client, per-release view, so it won't show these exact + * numbers (see the "How these numbers relate to GLAM" note on the page). */ // bucket key -> [friendly label, color class] const BUCKETS = { From 428a5dee97cadb0c0bf905ddf3985af9f36fbacf Mon Sep 17 00:00:00 2001 From: mxinden-bot Date: Tue, 16 Jun 2026 14:18:10 +0000 Subject: [PATCH 2/2] Data: short inline GLAM caveat on each link instead of a collapsible Drop the details block; add a one-line 'GLAM's page defaults to per-client, so its numbers differ' note to each GLAM source link (top metric, data section, records-in-the-wild). Keep the charts.js comment fix. --- css/style.css | 3 --- index.html | 17 ++--------------- js/charts.js | 4 ++-- 3 files changed, 4 insertions(+), 20 deletions(-) diff --git a/css/style.css b/css/style.css index feeb703..0793a35 100644 --- a/css/style.css +++ b/css/style.css @@ -225,9 +225,6 @@ ul.tick li::before { .legend-dot { width: 11px; height: 11px; border-radius: 3px; display: inline-block; } .chart-cap { color: var(--fg-dim); font-size: 12.5px; margin: 2px 0 18px; } -.method { font-size: 12.5px; color: var(--fg-dim); margin-top: 8px; } -.method summary { cursor: pointer; color: var(--accent-2); } -.method p { margin: 8px 0 0; max-width: 70ch; } /* connection-start to first-paint, with one round trip highlighted (js/perf.js) */ .plviz { margin: 16px 0 4px; } diff --git a/index.html b/index.html index b3db50a..f5d39fd 100644 --- a/index.html +++ b/index.html @@ -287,20 +287,6 @@

How it is developing over time

- -
- How these numbers relate to GLAM -

- Open the GLAM links and you won't see these exact percentages. GLAM's - page defaults to a per-client proportion aggregated per Firefox - release. These figures are per-connection instead: - reconstructed from GLAM's non-normalized histogram (each bucket value - times the clients reporting it), taken as each bucket's share of the four - discovery outcomes, and averaged over the most recent Nightly builds so - one heavy build can't skew them. To reconcile in GLAM, switch it to the - non-normalized histogram and read it per build ID. -

-
@@ -338,7 +324,8 @@

what HTTPS records carry in the wild

Source: Firefox Nightly, via GLAM. - Per-connection estimate reconstructed from GLAM's histograms, so approximate. + Per-connection estimate from GLAM's histograms; GLAM's page defaults to + per-client, so its numbers differ.

diff --git a/js/charts.js b/js/charts.js index 3955724..af34a10 100644 --- a/js/charts.js +++ b/js/charts.js @@ -189,7 +189,7 @@ async function loadGlam() { if (metricSrc) { metricSrc.innerHTML = `Firefox Nightly, via GLAM, updated ${when}. ` + - `Approximate per-connection estimate, averaged over recent builds.`; + `Per-connection estimate, averaged over recent builds; GLAM's page defaults to per-client, so its numbers differ.`; } const share = d.h3_discovery.share; @@ -226,7 +226,7 @@ async function loadGlam() { src.innerHTML = `Source: Firefox Nightly, via ` + `GLAM, updated ${when}. ` + - `Per-connection estimate reconstructed from GLAM's histograms and averaged over recent builds, so approximate.`; + `Per-connection estimate from GLAM's histograms, averaged over recent builds; GLAM's page defaults to per-client, so its numbers differ.`; } }