Using Balter is straightforward, and load testing code looks like the following (note that its just normal Rust code, no DSL to learn).
use balter::prelude::*;
use std::time::Duration;
#[tokio::main]
async fn main() {
my_scenario()
.tps(500)
.duration(Duration::from_secs(30))
.await;
my_scenario()
.saturate()
.duration(Duration::from_secs(120))
.await;
}
#[scenario]
async fn my_scenario() {
my_transaction().await;
}
#[transaction]
async fn my_transaction() -> Result<u32, String> {
// Some request logic...
Ok(0)
}
The project is new, and there are some rough edges, but it is currently in a functional state. The README in the repo contains more information, including how it works under the hood. Let me know what you think!