Expand description
Relentless load testing and comparison testing tool for HTTP / GRPC.
§Usage
Main usage of relentless is comparison testing for REST API servers with relentless-http.
Other usages in More details section.
§Install
cargo install --git https://github.com/hayas1/relentless relentless-http --features clior get binary from GitHub Releases.
§Prepare Config
For example, compare.yaml
name: basic comparison test
destinations:
actual: http://localhost:3000
expect: http://localhost:3000
testcases:
- target: /
- target: /health
- target: /healthz§Run API for testing
Optional: if there is no API for testing, relentless-http-dev-server is provided.
cargo install --git https://github.com/hayas1/relentless relentless-http-dev-server
relentless-http-dev-server§Run CLI
relentless-http -f compare.yaml🚀 basic comparison test 🚀
actual🌐 http://localhost:3000/
expect🌐 http://localhost:3000/
✅ /
✅ /health
✅ /healthz
💥 summery of all requests in configs 💥
pass-rt: 3/3=100.00% rps: 6req/22.37ms=268.23req/s
latency: min=2.774ms mean=8.194ms p50=5.219ms p90=22.127ms p99=22.127ms max=22.127msIn this case the actual and expect are the same server, so the request gets the same response and the test passes. ✅
- Each request is done concurrently by default.
§More details
| HTTP | GRPC | |
|---|---|---|
| Docs | relentless-http | relentless-grpc |
§Documents
https://hayas1.github.io/relentless/relentless
§Testing
§Benchmarks
TODO
§Coverage
https://hayas1.github.io/relentless/relentless/tarpaulin-report.html
Re-exports§
pub use error::RelentlessError as Error;pub use error::RelentlessResult as Result;