perf-reporting
perf-reporting generates professional performance reports from raw JMeter, k6, and Gatling output — Apdex scores, SLA checks, percentile charts, and exportable HTML/PDF reports.
| Tier | Price |
|---|---|
| Free (CLI + web + Electron desktop, free license key) | Free |
| Pro (CLI, unlimited runs, no watermark) | £79 one-time |
| Enterprise (white-label, custom branding) | £799 one-time |
Installation
Section titled “Installation”Desktop App (Windows / macOS / Linux)
Section titled “Desktop App (Windows / macOS / Linux)”Download from martkos-it.co.uk/store/perf-reporting-dashboard. Requires a free license key (emailed on registration) entered on first launch.
npm install -g @martkos-it/perf-reportingperf-reporting --versionWeb Dashboard
Section titled “Web Dashboard”The web version runs at martkos-it.co.uk/tools/perf-reporting — upload a results file and get an interactive report in your browser.
Generating a Report
Section titled “Generating a Report”# From k6 JSON outputperf-reporting generate \ --file results.json \ --tool k6 \ --output report.html
# From JMeter JTLperf-reporting generate \ --file results.jtl \ --tool jmeter \ --output report.html
# From Gatling simulation.logperf-reporting generate \ --file simulation.log \ --tool gatling \ --output report.htmlSLA Thresholds
Section titled “SLA Thresholds”Define SLA thresholds inline or via perf-ecosystem.yml:
perf-reporting generate \ --file results.json \ --tool k6 \ --sla-p95=1500 \ --sla-p99=3000 \ --sla-error-rate=1.0 \ --sla-apdex=0.85 \ --output report.htmlThe report shows pass/fail status per threshold with a summary section at the top.
perf-ecosystem.yml
Section titled “perf-ecosystem.yml”When perf-ecosystem.yml is present, thresholds are picked up automatically:
thresholds: response_time: p95_max_ms: 1500 p99_max_ms: 3000 error_rate: max_percent: 1.0 apdex: min_score: 0.85Uploading to perf-results-db
Section titled “Uploading to perf-results-db”perf-reporting generate \ --file results.json \ --tool k6 \ --push-to-results-db \ --results-db-url http://localhost:4000 \ --results-db-api-key prdb_your_key \ --project-id your-project-uuid \ --output report.htmlReport Contents
Section titled “Report Contents”- Summary: Apdex score, pass/fail SLA status, test duration, total requests
- Response time distribution: p50, p75, p90, p95, p99, min, max
- Throughput: requests/second over time
- Error analysis: error rate, error types, failed samplers
- Per-endpoint breakdown: response times and error rates per URL/sampler
- Charts: timeline charts for response time and throughput
PDF Export
Section titled “PDF Export”perf-reporting generate --file results.json --tool k6 --format pdf --output report.pdfRequires Chromium (bundled with the Electron app; on CLI, uses puppeteer headless).
Apdex Score
Section titled “Apdex Score”Apdex is calculated using configurable satisfied (T) and frustrated (4T) thresholds:
perf-reporting generate --file results.json --tool k6 --apdex-t=500# Satisfied: ≤500ms, Tolerating: 500ms–2000ms, Frustrated: >2000msDefault T = 500ms. Apdex formula: (satisfied + tolerating/2) / total_requests