# api-gateway-load

Load testing framework for API Gateway with 4 scenarios: normal (1K clients), spike (10K ramp), sustained (24h), and stress (incremental to failure).

## Key Types

- `TestOrchestrator` -- scenario coordination
- `VirtualClientPool` -- authenticated HTTP client generation
- `MetricsCollector` -- HDR histogram latency tracking
- `ReportGenerator` -- HTML + SVG chart output

## Scenarios

- `normal` -- 1K concurrent clients, 60s, target <10ms P99
- `spike` -- 0 to 10K in 10s, sustain 60s
- `sustained` -- 100 clients, 24h endurance
- `stress` -- incremental increase until failure

## Usage

```bash
cargo run --release -p api-gateway-load -- normal --gateway-url http://localhost:50050
cargo run --release -p api-gateway-load -- all --gateway-url http://localhost:50050
```
