____ _ _
| _ \| | ___ __ _ __| |
| |_) | |/ _ \ / _` |/ _` |
| _ <| | (_) | (_| | (_| |
|_| \_\_|\___/ \__,_|\__,_|
deterministic load engineK6-like load testing engine/CLI written in Rust.
Pipeline: Generate scenario → Setup → Validate → Run
Includes dry-run (plan preview / deterministic sampling) and mock run (no network) for fast testing.
Status: MVP / work in progress. The core architecture is the focus.
- Tick-based scheduler: workload stages (
duration_sec + rps) → stream of ticks - VU runtime executing journeys/steps
- Deterministic planning (seed) for reproducible runs
- JSON schema + scenario validation
bin/rload— CLI binarycrates/libprotocol— scenario schema + parsing/validationcrates/libruntime— scheduler, VU runtime, metrics, run enginecrates/libcli— CLI helpers / UI (WIP)crates/test_support— test utils / fixtures helpers
cargo build --release
./target/release/rload --helpBuild from source:
cargo build --releaseRun help:
./target/release/rload --helpRun a scenario (real run):
./target/release/rload run --scenario examples/api-gw.jsonRun mock (no network):
./target/release/rload run-mock --scenario examples/demo-scenario.jsonDry-run (plan preview / deterministic):
./target/release/rload dry-run --scenario examples/demo-scenario.json --iterations 1000Useful dry-run options: --seed (default: 1000) --print-plan --limit-steps --output json --is-simulated
Validate scenario:
./target/release/rload validate --scenario examples/demo-scenario.jsonExport JSON schema:
./target/release/rload schema --path docs/schema.json --version 1Generate scenario template:
./target/release/rload generate --path examples/generated.json --version 1After run or run-mock, the engine produces a structured JSON report.
Example:
{
"scenario": {
"name": "default_scenario",
"version": "1"
},
"run": {
"total_ticks": 1000,
"duration_sec_planned": 10
},
"rps": {
"planned_avg": 100,
"achieved_avg": 111
},
"requests": {
"total": 1000,
"ok": 1000,
"error": 0
},
"latency_overall_summary": {
"count": 1000,
"p50": 0,
"p95": 0,
"p99": 0
},
"error_and_quality": {
"http_error_rate": 0.0
}
}- tick arrival stats
- per-stage metrics
- per-endpoint metrics
- per-journey stats
- latency percentiles
- VU behavior metrics
- time model metrics
- CI validation
- dashboards
- regression testing
- threshold evaluation (planned)
See ROADMAP.md
MIT
