Request Tracing
v1.0.0-CLI•April 1, 2026
See exactly where time is spent in every request. Use -t or --trace to get a detailed breakdown of where time was spent: DNS resolution, TCP connection, TLS handshake, time to first byte (TTFB), and total response time.
How It Works
Every HTTP request goes through multiple phases. tgrs measures each phase individually and displays them as a visual waterfall chart:
tgrs GET https://api.example.com/users -t
Response Time 184.93 ms
Prepare █ 8 µs
DNS Lookup ██ 15.21 ms
TCP Handshake ████████ 37.38 ms
TLS Handshake █ 8 µs
Request Send █ 18 µs
Server Response ████████████████████ 105.76 ms
Download █ 62 µs
Processing 6 µs
Timing Phases
| Phase | What It Measures |
|---|---|
| Prepare | Request building and serialization |
| DNS Lookup | Domain name resolution |
| TCP Handshake | TCP connection establishment |
| TLS Handshake | TLS/SSL negotiation |
| Request Send | Sending request bytes to server |
| Server Response | Waiting for first byte (TTFB) |
| Download | Receiving response body |
| Processing | Decompression and post-processing |
Precision
All timing values are measured with microsecond precision. Short phases display in µs, longer ones in ms or s.
Combine with Verbose
Use trace with verbose mode to see full request/response details alongside timing:
tgrs GET https://api.example.com -t -v