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.

Create your first report →

Related