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

An app's now fragment names its Server-Timing phases: session, each read, render #3514

shipped production is serving it opened this has it
opened this

Intent: this fragment of an app's page says where its time goes, like the milestones and usage pages do (speed is first class; the sweep test #3387 will hold every GET to it).

Done:

  • [ ] appNowFragment (GET /:owner/:name/app/now) answers with a Server-Timing header naming session, one phase per data read it makes (named for what it reads), and render, using notePhase/timePhase from src/core/route_timing.ts exactly as src/web/pages/milestones.ts does.
  • [ ] test/app-now-timing.test.ts requests it and asserts each phase name appears with a duration; it fails without the change. It asserts names, never a wall-clock time.
  • [ ] Its body, status codes and caching are unchanged.

Files: src/web/studio/now.ts, test/app-now-timing.test.ts. Touch no other page or fragment. Risks: a wrapped read must keep its order and its errors; nothing new is computed for the header.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs