Share a Gatling report
Gatling produces one of the better load-test artifacts and one of the
least shareable. The run directory holds index.html, js/, style/,
and a set of per-request pages; the index loads its statistics from js/
at view time. Zip it and the reviewer must unzip it. Upload only the
index and the page renders empty. So the report gets screenshotted, and
the percentile that mattered becomes a PNG.
Publish the index, upload the siblings
mvn gatling:test || true
RUN_DIR=$(ls -dt target/gatling/*/ | head -1)
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 "$RUN_DIR/index.html" \
--arg title "Gatling — $(date +%F)" \
'{title: $title, html: $html}')"
find "$RUN_DIR" -type f ! -name index.html | while read -r f; do
curl -fsS -X POST \
"https://commareports.com/api/v1/reports/$COMMA_REPORT_ID/assets" \
-H "Authorization: Bearer $COMMA_API_TOKEN" -F "file=@$f"
done
Relative references from the index into js/ and style/ are rewritten
to the uploaded assets, so the charts draw at the shared URL.
Budget: 25 MB per file, 250 MB per report — a Gatling run directory is
comfortably inside that.
|| true keeps a failed assertion from skipping the publish, and PATCH
on a saved report id gives one URL with a revision per run rather than a
new link every night.
What the URL adds
- Run-over-run diffs. The comparison the test exists to make, at one address. See revisions and diffs.
- Comments on a percentile. Highlight the p99 row, pin the context. See commenting on HTML.
- Readers outside CI. Sharing is per report.
- Nightly soaks. A routine refreshes on a cron.
Try it
Comma is free — unlimited reports, unlimited commenters, unlimited revision history.
Related
- k6 · JMeter · Locust
- Allure — the other big multi-file report
- Publish from CI