Skip to the content.

Dashboard & Reporting

Crankfire is designed to be both human and machine friendly: you can watch tests live in your terminal and also capture detailed JSON reports for automation.

Live Dashboard

Enable the dashboard with --dashboard:

crankfire --target https://api.example.com \
  --concurrency 20 \
  --rate 100 \
  --duration 60s \
  --dashboard

The dashboard shows:

Controls:

Progress Ticker

Even without the dashboard, Crankfire prints lightweight progress updates to stderr every second, including totals, success/failure counts, and RPS.

JSON Output

Use --json-output to emit a structured report instead of human‑readable text:

crankfire --target https://api.example.com \
  --total 1000 \
  --json-output > results.json

The JSON includes:

HTML Report

Generate a standalone HTML report with interactive charts and detailed statistics using --html-output:

crankfire --target https://api.example.com \
  --total 1000 \
  --html-output report.html

The report includes:

CI/CD Integration

Combine JSON output with tools like jq to enforce performance budgets:

crankfire --target https://api.example.com \
  --total 1000 \
  --json-output > results.json

p99=$(jq -r '.p99_latency_ms' results.json)
if (( $(echo "$p99 > 200" | bc -l) )); then
  echo "P99 latency too high: ${p99}ms"
  exit 1
fi

For a complete GitHub Actions example, see Usage Examples.