fortio server / report: Serve and Visualize
fortio server starts a web UI plus echo/debug endpoints on port 8080, and fortio report serves saved result JSON files as browsable latency graphs.
Beyond generating load, Fortio can be the target (a built-in echo server) and the report viewer. In CI you can point a load run at fortio server for a control baseline, and use fortio report to publish saved histograms.
What it does
fortio server runs an HTTP server exposing a UI (/fortio/), an echo endpoint, and a debug endpoint, useful as a stable target for calibrating a load run. fortio report starts a lightweight server that loads previously saved -json result files and renders their histograms as interactive charts.
Common usage
# run Fortio's own echo server as a baseline target
fortio server -http-port 8080 &
# generate load, saving JSON, then view the histogram
fortio load -qps 0 -t 20s -json out.json http://localhost:8080/echo
fortio report -http-port 8081Options
| Flag | What it does |
|---|---|
| server | Run the UI + echo/debug server |
| -http-port <p> | Port for the server or report UI |
| -ui-path <path> | URL path for the UI (default /fortio/) |
| report | Serve saved JSON result files as graphs |
| -data-dir <dir> | Directory report reads result JSON from |
In CI
Use fortio server as a known-good echo target to prove your load tooling and thresholds are wired correctly before pointing them at the real service. Save load results with -json into a directory and archive them; a later job or a developer can run fortio report -data-dir ./results to inspect them. Start the server in the background and wait for the port before loading.
Common errors in CI
listen tcp :8080: bind: address already in use means another process (or a prior step) holds the port; pick a different -http-port. If fortio report shows no data, the -data-dir has no matching *.json result files or they were written by an incompatible version. Backgrounding fortio server without waiting for readiness makes the first load requests fail with connection refused.