Load Testing Reporting & Dashboards
TestFly automatically collects, correlates, and presents performance metrics across all supported reporting backends: the built-in HTML Report, Allure, and ReportPortal.
1. TestFly HTML Report Dashboard
When load tests run, the HTML report (target/testfly-report.html) automatically displays a dedicated ⚡ Load Testing & Performance Analysis tab.
Visual Components:
- KPI Summary Header: Global requests, aggregate throughput (req/s), overall P95 latency, and system error rate.
- Interactive Charts (Chart.js):
- Latency Distribution Bar Chart: P50, P75, P90, P95, P99, Min, and Max response times.
- Status Code Breakdown Doughnut Chart: Distribution of 2xx, 4xx, and 5xx responses.
- Scenario Cards: Shows concurrency (VUs), duration, total requests, throughput, and error rates.
- Step Breakdown Table: Detailed request count, successful/failed count, P95 latency, and error rate per scenario step.
- Direct Gatling Report Link: Clickable button (
📊 Open Gatling Report →) opening the full native Gatling report.
Standalone Load Report
If loadtest.reportEnabled: true is configured, TestFly also generates a focused target/loadtest-report.html highlighting only performance tests.
2. Allure Report Integration
TestFly automatically enriches Allure 2 JSON outputs in target/allure-results/:
- Parameters: Adds
Load Engine,Concurrent Users,Total Requests,Throughput,P95 Latency, andError Rate. - Links: Direct custom report link pointing to the native Gatling HTML report (
📊 Gatling Interactive Report). - Attachments:
⚡ Load Test Summary(text/markdown): Full Markdown table of percentiles and step breakdowns.📋 Gatling Subprocess Log(text/plain): Complete stdout/stderr logs from the Gatling execution run.
Generate and view your Allure report:
allure serve target/allure-results
3. ReportPortal Integration
When connected to ReportPortal, TestFly emits load testing data while the test item is active:
- Markdown Summary: Formatted table of user concurrency, throughput RPS, latency percentiles, and error rate logged at
INFOlevel. - Subprocess Log Attachment: Attaches
gatling-subprocess.logas a binary artifact to the ReportPortal item. - Failures: If assertions fail (e.g.
assertP95Below), the stack trace and full metrics snapshot are attached automatically.
4. Subprocess & CI Logging
To ensure clean CI outputs without console clutter:
- Gatling's high-frequency terminal redraw output is redirected to
target/loadtest/<run-id>/gatling-subprocess.logby default (loadtest.resultsDircontrols the parent directory). - High-level progress is logged to standard output:
[LoadTest] Starting Gatling engine (simulation: ..., results: ...)
[LoadTest] Gatling results parsed from target/loadtest/... - If a simulation fails or crashes, the last 25 lines of the subprocess log are automatically dumped to
System.err.