What it does
httpstat presents curl request timings as DNS, TCP, TLS, server processing and content-transfer stages, with terminal and structured output.
Pass the URL and the same request options used by the affected client, then compare DNS, connection, TLS, server-wait and transfer stages. httpstat wraps curl, reserving -w, -D, -o, -s and -S for its own use. JSON or JSONL supports later processing, while threshold checks return status 4 on a timing violation. The Python 3 script depends on curl, whose build also determines features such as HTTP/2. Response bodies are saved to a temporary file by default even when not displayed; that behavior can be disabled. Displayed bodies are limited to 1023 bytes. These timings describe the request from this client environment.
Strengths
- Timing stages visible together
- Structured output and thresholds
Watch out for
- Some curl options are reserved by the wrapper