artillery report: Turn JSON into HTML
artillery report report.json generates an HTML report from the JSON that artillery run -o produced, giving reviewers charts of latency and RPS.
Metrics in the log are hard to review on a PR. The two-step pattern is artillery run ... -o report.json then artillery report report.json, publishing the HTML as a CI artifact.
What it does
artillery report takes the JSON produced by a run (-o) and renders a self-contained HTML page with latency percentiles, request rates, and error breakdowns over time. By default it writes <input>.json.html; -o sets the output path.
Common usage
artillery run scenario.yml -o report.json
artillery report report.json -o report.htmlOptions
| Flag | What it does |
|---|---|
| report <json> | Input JSON produced by run -o |
| -o, --output <file> | Output HTML path |
In CI
Run the load test with -o report.json, generate report.html, and upload it with actions/upload-artifact so failures come with a visual report attached. Keep the report step even when the run failed the threshold (use if: always()), because the HTML is most useful exactly when the gate tripped.
Common errors in CI
Newer Artillery prints that artillery report is deprecated in favor of Artillery Cloud or the HTML output plugin; it still works but may warn, so pin the version if a CI step must not emit deprecation noise. ENOENT: no such file ... report.json means the run step did not write the JSON (missing -o on the run) or ran in a different working directory. An empty report usually means the run produced no completed requests.