Quick Start

Download Inspect for your platform from Download, verify its archive checksum and extract it. The examples below use ./bitspeed-inspect; on Windows use bitspeed-inspect.exe.

./bitspeed-inspect --version
./bitspeed-inspect record --samples=3 --timeout=10s https://example.org/ > run.json
./bitspeed-inspect explain run.json
./bitspeed-inspect explain --format=json run.json

A failed request can still produce useful partial JSON. record exits nonzero when samples fail or the batch is cancelled. Explaining a valid failed recording can succeed. Review stderr and the saved outcome before treating a recording as complete.

To compare a change, collect a second recording of the same target with the same request settings. Replace the URL with a target you intend to access.

./bitspeed-inspect record --samples=3 --timeout=10s https://example.org/ > after.json
./bitspeed-inspect compare run.json after.json
./bitspeed-inspect compare --format=json run.json after.json

A verdict may be inconclusive. Changed payloads, failures, missing events, small groups and overlapping observed ranges can limit the conclusion. An equal median does not prove unchanged performance.

For a controlled local exercise, run ./bitspeed-inspect fixture in another terminal. It prints a loopback address. Append /headers, /body, /redirect, /empty, /disconnect or /timeout to try delayed headers, a streamed body and deliberate failures. The repository also contains a reproducible before and after demo with saved recordings. Its fixture timings are demonstrations, not a network benchmark.

Query values and fragments are redacted in saved URLs. Hostnames, paths and location labels can still be private. Review recordings before sharing them. See the Inspect guide for measurement limits. Transfer’s development status is separate.