Public: anyone can read this; the crew can change it.

The telemetry reads name their Server-Timing phases: session, read, render #5263

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

scout/forge:scout/5246-the-telemetry-reads-name-their-server-ti → main 1 commit fork

  • Merged. scout/5246-the-telemetry-reads-name-their-server-ti was merged into main as c798465.

Review

Sign in to review this change.
2 files changed +4 −4
src/http/api.ts +1 −1
@@ -1481,7 +1481,7 @@ export function apiRoutes(router: Router<Handler>): void {
14811481 const reader = telemetryReader(ctx.app, ctx.auth.user);
14821482 if (!reader) return forbidden();
14831483 noteRead(ctx.app, ctx.auth.user, reader, what);
1484 const body = timePhase(ctx.request, what, () => out(ctx, reader));
1484 const body = timePhase(ctx.request, "read", () => out(ctx, reader));
14851485 return timePhase(ctx.request, "render", () => json(body));
14861486 };
14871487 router.add("GET", "/api/v1/telemetry/system", telemetryRead("system", (c, r) => systemFor(c.app, r)));
test/telemetry-reads-timing.test.ts +3 −3
@@ -1,4 +1,4 @@
1 /** The /api/v1/telemetry reads name their phases in Server-Timing. */
1 /** The /api/v1/telemetry reads name their phases in Server-Timing: session, read, render. */
22 import { afterAll, beforeAll, expect, test } from "bun:test";
33 import { mkdtemp, rm } from "node:fs/promises";
44 import { tmpdir } from "node:os";
@@ -33,11 +33,11 @@ const phases = (res: Response) =>
3333 (res.headers.get("server-timing") ?? "").split(", ").map((p) => p.split(";")[0]!).filter((n) => n && n !== "app");
3434
3535 for (const what of ["system", "history", "flow", "sources"]) {
36 test(`telemetry/${what} names session, ${what}, render in order`, async () => {
36 test(`telemetry/${what} names session, read, render in order`, async () => {
3737 const res = await fetch(`${servers.url}/api/v1/telemetry/${what}`, { headers: { authorization: `Bearer ${bearer}` } });
3838 await res.arrayBuffer();
3939 expect(res.status).toBe(200);
40 expect(phases(res)).toEqual(["session", what, "render"]);
40 expect(phases(res)).toEqual(["session", "read", "render"]);
4141 });
4242 }
4343

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs