Ingest endpoint
app/api/__crust/ingest/route.ts
GET returns
405.
Never sync staging data back into git. Let CI write to the repo and keep the server’s samples on
the server.
Synthetic runs
What makes the numbers comparable
- The first iteration is discarded. A cold start measures the deployment’s morning — server compile caches, CDN misses, JIT warmup — not your code.
- The median is reported, not the mean. A mean is hostage to a single GC pause.
- Throttle and network are pinned into the run’s environment fingerprint.
- The collector and widget are off. A measurement tool competing for the main thread moves the numbers it reports.
Server spans
Deliberately minimal — your APM may already cover this.instrumentation.ts
ReadableSpan shape, so crust takes on no OpenTelemetry dependency, and it uses the supported
instrumentation.ts hook rather than patching server internals.