Goal
Make performance and failures measurable instead of relying on guesses.
Scope
- Add structured logging.
- Add metrics for bytes transferred, active workers, retries, failures, throughput and queue depth.
- Add optional debug diagnostics.
- Add benchmark suite for single-stream vs ranged downloads.
- Benchmark different chunk sizes and worker counts.
- Test memory usage on large files.
- Add race-detector CI runs.
- Document how contributors reproduce performance results.
Acceptance criteria
go test -race ./... passes.
- Benchmarks are reproducible with a local controlled HTTP server.
- Logs contain enough context to diagnose a failed job without leaking secrets.
- Performance changes can be compared before/after.
Goal
Make performance and failures measurable instead of relying on guesses.
Scope
Acceptance criteria
go test -race ./...passes.