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.`;
}
}