Artifact 642747f90145bf6b0d819510980e88d84a8d99b0b0290e9cfd7ce9322881f223:
- File
internal/web/web.go
-
2026-08-25 21:32:43
— part of check-in
[cf9a277e13]
on branch ops-streams
— ops: a live stream is not a slow page
The fleet recorded GET /r/{repo}/timeline.sse at a p95 of 435 SECONDS. That is not a slow render, it is a connection somebody kept open for seven minutes — chat, the timeline and the ops panel all hold one for as long as the reader keeps the tab.
Two consequences, the second worse than the first. The slowest-routes panel was headed by four streams, burying GET /{$} at 1198ms against a 13ms median — the one real finding on the page. And every stream crosses the render budget by design, so the first-crossing alert fired on connections that were working perfectly: the muted-channel failure that rule exists to prevent, defeated from inside the same feature.
Detected from the response, not the path. A handler that streams says so in its Content-Type; a rule matching '.sse' would miss the next streaming route added under another name. Prefix-matched, so a charset does not defeat it.
Found by the panel on its first look at real traffic, which is the argument for having built it. (user: dmestas, size: 654094) [annotate] [blame] [check-ins using]
- 2026-08-25 21:53:22 — part of check-in [242e2d8c1c] on branch trunk — Accepted. A connection is not a render. (user: dmestas, size: 654094) [annotate] [blame] [check-ins using]
-
2026-08-25 21:32:43
— part of check-in
[cf9a277e13]
on branch ops-streams
— ops: a live stream is not a slow page