Share a Locust load test report
A load test result is only useful in comparison. "p95 was 412 ms" means
nothing; "p95 was 412 ms, up from 190 ms on Tuesday" is the entire
finding. Which is why the standard workflow — download report.html out
of an artifact zip, open it locally, remember what last week looked like —
loses the one thing the test was run to produce.
Locust's own artifact is good: --html writes a single self-contained
file with the statistics tables and charts embedded. It needs a URL and a
history, not a different format.
Publish it
locust --headless -u 500 -r 50 -t 5m \
--host https://staging.example.com \
--html report.html || true
curl -fsS -X PATCH \
"https://commareports.com/api/v1/reports/$COMMA_REPORT_ID" \
-H "Authorization: Bearer $COMMA_API_TOKEN" \
-H "Content-Type: application/json" \
-d "$(jq -n --rawfile html report.html \
--arg title "Load — 500 VU — $(date +%F)" \
'{title: $title, html: $html}')"
|| true matters here: a run that trips --exit-code-on-error is exactly
the run you want published. PATCH on a saved id rather than POST gives
you one URL with a revision per run, so
diffing two runs is a click instead of an
archaeology project. Use a scoped token with
reports:write.
What you get
- Regression, visible. Revisions in one place mean the week-over-week question answers itself.
- Comments on the numbers. Highlight the endpoint row and pin the context — "this is the N+1 we shipped Thursday" — see commenting on HTML.
- Readers without the CI seat. SREs, the platform team, the vendor whose API you're hammering. Sharing is per report.
- Scheduled soak tests. A routine can refresh a report on a cron so the trend keeps building without anyone remembering.
Limits
- HTML body: 5 MB — Locust reports are far under it.
- Scripts run, sandboxed:
allow-scripts, noallow-same-origin. - 60 requests/minute per token.
Try it
Comma is free — unlimited reports, unlimited commenters, unlimited revision history.
Related
- k6 · JMeter · Gatling
- Lighthouse — the front-end half of performance
- Scheduled reports — soak tests on a cron