strest 0.1.9

Blazing-fast async HTTP load tester in Rust - lock-free design, real-time stats, distributed runs, and optional chart exports for high-load API testing.
Documentation
# strest

> [!WARNING]
> Only use strest for testing infrastructure you own or have explicit permission to test. Unauthorized use may be illegal.

strest is a command-line tool for stress testing web servers with real-time stats, deterministic replay, and built-in memory diagnostics.

## Why strest

- Deterministic replay without re-hitting prod.
- Built-in memory growth investigation (RSS logging + heap profiling).
- All-vs-ok latency separation so failures don’t hide tail pain.
- Config-first workflows with no JS runtime tax.
- Controller/agent distributed mode with streaming aggregation.

## Quick Start

```bash
cargo install strest
```

```bash
strest -u http://localhost:3000 -t 30
```

Scenario quickstart:

```toml
# strest.toml
[scenario]
base_url = "http://localhost:3000"

[[scenario.steps]]
method = "get"
path = "/health"
assert_status = 200
```

```bash
strest --config strest.toml -t 30 --no-tui --summary --no-charts
```

## Screenshots

<div style="text-align: center;">
  <img src="docs/assets/images/screenshot.png" alt="CLI Screenshot" width="1000" />
</div>

Charts focus on signal:

- All vs ok latency percentiles show tail impact from failures.
- Throughput + inflight reveal saturation and ramp behavior.
- Error breakdown separates timeouts, transport errors, and non-expected status codes.

Full gallery: `docs/guides/USAGE.md#charts`.

## Docs

- `docs/README.md` for documentation index and structure.
- `docs/guides/USAGE.md` for CLI, flags, configs, and charts.
- `docs/guides/ADVANCED.md` for replay, WASM, profiling, distributed mode, and sinks.

## Contributions

If you'd like to contribute, start with `CONTRIBUTING.md` for the workflow and checks.

This project is dual-licensed under MIT OR Apache-2.0.
See `LICENSE-MIT` and `LICENSE-APACHE` for details.