Instruments HTTP requests with net/http/httptrace.ClientTrace to capture timestamps for DNS, TCP connect, TLS handshake, TTFB, and body transfer. TLS row is omitted automatically for plain http:// URLs. Output is an aligned text table with a separator before the Total row. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
33 lines
1.2 KiB
Markdown
33 lines
1.2 KiB
Markdown
# Changelog
|
|
|
|
All completed features are logged here in reverse-chronological order.
|
|
|
|
---
|
|
|
|
## 2026-07-01 00:08 — Per-phase breakdown (Go, Step 2)
|
|
|
|
- Instrumented requests with `net/http/httptrace.ClientTrace`
|
|
- DNS lookup, TCP connect, TLS handshake, Server/TTFB, Transfer, Total phases
|
|
- TLS row omitted automatically for plain `http://` URLs
|
|
- Aligned text output with separator before Total
|
|
|
|
---
|
|
|
|
## 2026-07-01 00:08 — Simple total latency (Go, Step 1)
|
|
|
|
- `probe.Measure` performs an HTTP GET and records wall-clock total time
|
|
- `main.go` prints URL, HTTP status code, and total duration for each URL
|
|
- Exits with code 1 if any URL fails
|
|
- Multiple URLs accepted as positional arguments
|
|
|
|
---
|
|
|
|
## 2026-07-01 00:08 — Project scaffold (Go, Step 0)
|
|
|
|
- Created project structure: `go/`, `python/`, `docs/plans/`, `docs/usage/`
|
|
- Initialised Go module `latprobe` (`go/go.mod`)
|
|
- Minimal `go/main.go` that prints usage and exits cleanly when no URL is given
|
|
- Stub `go/internal/probe/probe.go` defining the `Result` type and `Measure` signature
|
|
- Foundation files: `README.md`, `CLAUDE.md`, `CHANGELOG.md`
|
|
- Saved initial plan to `docs/plans/2026-07-01-00-08-go-latency-tool.md`
|