Artifact a935950ef89caa6ce37fc822203669a8df616cb7c67c9764d0eaaf7f6875b00c:
- File
internal/obs/stats.go
-
2026-08-25 21:42:15
— part of check-in
[bc35cc0c45]
on branch ops-drill
— ops: tie a store call to the request that caused it
The panel could find a slow route and never say why: the render list and the subprocess list were two independent tables, so 'GET /search took 1132ms' and 'zit artifact ran 499 times' could not be connected even when one caused the other.
Every request is now tagged at the outermost middleware, and every store call records the tag. Work with no request behind it — ingest rounds, warm passes, the doc indexer — records the empty string, which is itself the useful distinction: store load with nothing to blame is background, and telling the two apart is most of what the subprocess panel is for.
Also fixes a silent hole of the same shape as the route-pattern bug: Repo was read with req.PathValue in the outermost middleware, where the router has not set it — the values live on the request the mux passes DOWN. Every render recorded until now carried an empty repo, 61 of 61 rows in the analytics store, which made the numbers unattributable on a fleet where repository size is the dominant cost. Read from the path instead. (user: dmestas, size: 4119) [annotate] [blame] [check-ins using]
- 2026-08-25 21:53:53 — part of check-in [7059271e59] on branch trunk — Accepted. It can now say which repo and which calls — which is the difference between finding a slow route and fixing one. (user: dmestas, size: 4119) [annotate] [blame] [check-ins using]
-
2026-08-25 21:42:15
— part of check-in
[bc35cc0c45]
on branch ops-drill
— ops: tie a store call to the request that caused it