What it does
dev-stress measures how a workload behaves when scaled up: thousands
of concurrent operations, millions of iterations, sustained pressure.
It detects:
- Throughput collapse under concurrency
- Lock contention (via thread-time variance)
- Latency cliff-falls
- Sustained-load instability
It does NOT do:
- Single-threaded micro-benchmarking (use
dev-bench) - Async-specific issue detection (use
dev-async) - Failure injection (use
dev-chaos)
Quick start
[]
= "0.1"
use ;
;
let run = new
.iterations
.threads;
let result = run.execute;
println!;
println!;
let check = result.into_check_result;
Thread-time CV
The coefficient of variation across thread elapsed times is the clearest signal that a workload is contention-bound:
- CV near 0: threads finished at nearly the same time. Healthy.
- CV > 0.2: significant variance. Some threads were waiting on locks or contended resources.
- CV > 0.5: severe contention. Investigate.
What's planned
- Latency percentile tracking (p50/p95/p99) per operation, not just per thread.
- Long-running soak tests with periodic checkpoint reports.
- Memory pressure tracking.
- CPU saturation detection.
License
Apache-2.0. See LICENSE.