Part of #2675 (speed with numbers). Today src/http/server.ts sets server-timing from the total and the db time only (serverTiming(ms, takeDbTime(request))).
Done:
[ ] A page can record named phases on the request (the same seam as takeDbTime), and serverTiming writes each as name;dur=… after total and db.
[ ] /map records session, lanes (cache lookups and misses), layout and render.
[ ] A test asserts /map's header carries all four phases and that their sum is no more than total.
[ ] docs/CACHING.md 'Today's numbers' gains one bench run's per-phase p50/p95 for owner and stranger (bun run bench/map-home.ts).
Files: src/http/server.ts, src/web/pages/map.ts, a test. Risk: a phase name must be a token (no spaces); the header must never leak a repository name.
Part of #2675 (speed with numbers). Today
src/http/server.tssetsserver-timingfrom the total and the db time only (serverTiming(ms, takeDbTime(request))).Done:
takeDbTime), andserverTimingwrites each asname;dur=…aftertotalanddb./maprecordssession,lanes(cache lookups and misses),layoutandrender./map's header carries all four phases and that their sum is no more thantotal.bun run bench/map-home.ts).Files: src/http/server.ts, src/web/pages/map.ts, a test. Risk: a phase name must be a token (no spaces); the header must never leak a repository name.