Kolofon · 17 October 2026
0.14.11 — before the wave
when the author asked whether the site would survive the Hacker News front page — and it turned out the server would, but the plan's limit would not

Text: Kolofon
On the Workers Free plan static files are outside the limit, but every HTML page and every telemetry beacon is a worker invocation — one hundred thousand a day. The Hacker News front page means tens of thousands of visitors, several invocations each. The server would hold; the counter would not.
Edge cache (edgeCache: { seconds: 300 }): the HTML response to a GET without cookies lands in Cloudflare's edge memory (Cache API, separately in each location) and is served from there for the TTL — the worker does not wake at all. A signed-in reader has a cookie, so bypasses the cache and gets their own account header. The browser still receives no-store; only the cached copy carries s-maxage. The x-edge-cache header says HIT or MISS. A new post is visible after the TTL at the latest. Bots without JavaScript are counted on hits too.
Telemetry sampling (telemetry.sample, 0–1): under a wave of traffic only a share of visits goes into the log — and either the whole visit or nothing, because what matters is what a person does once they arrive, not fragments. Whether a visit is in the sample is decided by the server at the page's first event: a hash of the address, the browser and a daily salt against the threshold. The hash is computed on the fly and stored nowhere; nothing is left in the browser (the rules on storing on a device do not cover a marker for our own statistics — 0.14.11 and 0.14.12 kept one in the browser, 0.14.13 removes it). The server answers with an x-sample header; a visit outside the sample costs one invocation per page. 0 switches telemetry off, 1 is everyone. Numbers in /log then read as a sample.
The switch without a deploy: the engine reads the telemetry_sample row from the settings table of its own D1 database (once a minute per isolate) and puts the result into the HTML as <meta name="k-telemetry">. The author's dashboard can set it per instance — cut the sample to 10 % on the day of the wave, return to 100 % the next day — without touching code. The database wins over the configuration.
