- Documentation
- Learning Hub
- Module 3 of 4 Establishing a baseline
When thresholds fail
Slide 7 of 9
Failure signals in the terminal
✓ passed that line; ✗ failed the threshold on that line.
When all thresholds pass:
✓ http_req_duration..............: avg=186ms p(95)=312ms
✓ http_req_failed................: 0.00%
✓ checks.........................: 100.00%When a threshold fails:
✗ http_req_duration..............: avg=743ms p(95)=1247ms
✗ { p(95)<500 }
✓ http_req_failed................: 0.42%
✓ checks.........................: 99.80%Exit codes and early stop
Add abortOnFail to end the run immediately on a critical breach:
thresholds: {
http_req_duration: [
{ threshold: 'p(95)<500', abortOnFail: true },
],
}Example: regression caught in CI
A change ships with passing unit tests; the baseline gate runs last. p(95)=683ms vs p(95)<500 → exit 99, deploy blocked.
running (2m01.3s), 00/20 VUs, 1847 complete iterations
✓ status is 200
✓ body is not empty
✗ http_req_duration..............: avg=512ms p(95)=683ms
✗ { p(95)<500 }
✓ http_req_failed................: 0.00%
✓ checks.........................: 100.00%
ERRO threshold breached: http_req_duration p(95)<500, got 683.21msLatency jumps while throughput is flat usually means per-request work got heavier (for example synchronous database work). Fix the hot path, re-run, pipeline goes green.