Intent: an agent or the /system page sees where a telemetry read spends its time. The four routes share telemetryRead in src/http/api.ts (near line 1487) and name no phase today.
Done:
[ ] telemetryRead notes session (notePhase(ctx.request, "session", takeSessionTime(ctx.request))) and wraps the read in timePhase(…, "read", …) and the JSON answer in timePhase(…, "render", …), as the person read near line 1326 does, so GET /api/v1/telemetry/system, flow, sources and history all name them
[ ] the answers and their refusals are unchanged
[ ] a test reads each of the four and asserts its server-timing header names session, read and render
Files: src/http/api.ts (only telemetryRead) and one new test file.
Intent: an agent or the /system page sees where a telemetry read spends its time. The four routes share
telemetryReadin src/http/api.ts (near line 1487) and name no phase today.Done:
telemetryReadnotessession(notePhase(ctx.request, "session", takeSessionTime(ctx.request))) and wraps the read intimePhase(…, "read", …)and the JSON answer intimePhase(…, "render", …), as the person read near line 1326 does, so GET /api/v1/telemetry/system, flow, sources and history all name themserver-timingheader namessession,readandrenderFiles: src/http/api.ts (only
telemetryRead) and one new test file.