bench_client

Function bench_client 

Source
pub fn bench_client<'a, Client, Payload>(
    clients: &Cluster<'a, Client>,
    workload_generator: impl FnOnce(&Cluster<'a, Client>, Stream<(u32, Option<Payload>), Cluster<'a, Client>, Unbounded, NoOrder>) -> Stream<(u32, Payload), Cluster<'a, Client>, Unbounded, NoOrder>,
    transaction_cycle: impl FnOnce(Stream<(u32, Payload), Cluster<'a, Client>, Unbounded>) -> Stream<(u32, Payload), Cluster<'a, Client>, Unbounded, NoOrder>,
    num_clients_per_node: usize,
    nondet_throughput_window: NonDet,
) -> BenchResult<'a, Client>
where Payload: Clone,
Expand description

Benchmarks transactional workloads by concurrently submitting workloads (up to num_clients_per_node per machine), measuring the latency of each transaction and throughput over the entire workload.

  • workload_generator - Generates a payload P for each virtual client
  • transaction_cycle - Processes the payloads and returns after processing

ยงNon-Determinism

This function uses non-deterministic wall-clock windows for measuring throughput.