What
- The end-of-request telemetry (the
api_requestevent and related completion logging) now tracks afirstContentMsvalue — time to first content — separately from time-to-first-token, and includes attft_msfield when that value is available. - The main API-call success event,
tengu_api_success, now also recordsfirstContentMs, a client-generated request ID (clientRequestId), and the UUID of the originating user message (user_message_uuid). - The API call dispatcher now generates a new
clientRequestIdfor each attempt (sent as an extra header) and tracks an attempt counter, reporting request lifecycle telemetry — success/failure, status code, error class, attempt number,clientRequestId,requestId— plus adurationMsfield ontengu_api_successthat excludes time spent on retries.
Why These fields give much finer-grained visibility into API call performance and retry behavior, making it possible to distinguish slow model responses from network/retry overhead and to trace individual attempts by their request ID.
Names in the bundlettft_ms
Documented inclaude-code/agent-sdk/typescript
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Confirmed since
Anthropic's documentation has since written up ttft_ms, on Monitoring.
| `ttft_ms` | Time to first token in milliseconds | |monitoring-usage see the edit
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agrees
Anthropic's documentation has since written up ttft_ms, on Monitoring.