Expand description
The sustained-load contract: what a soak declares before it runs.
A contract is a YAML file under bench/soak/. It fixes every number the
verdict is judged against – host resources, disk capacity, seed, client
settings, throughput targets, latency budgets, recovery deadlines and the
fault plan – so that a run cannot be judged against limits chosen after
its results were seen. Contract::validate refuses a contract that could
not be run safely or judged honestly, and lists every reason at once.
Every size, extent and rate carries its unit, as a benchmark scenario does:
64KiB, 15s, 2000/s.
Structs§
- Client
Settings - Client settings, shared by every path of their kind.
- Cluster
Shape - The cluster under test.
- Consumer
Settings - Contract
- A sustained-load and failure contract.
- Contract
Error - One reason a contract cannot be run or judged.
- Fault
Plan - A fault, once or on a period.
- Host
Resources - The machine a run is entitled to. Recorded so that a result names the resources it was measured on, and so a disk fill is bounded by them.
- Latency
Budget - Latency percentiles a path must stay under outside its fault windows.
- Load
Path - One load path: a producer, its topic, and the consumers that read it.
- Missed
Deadline - A recovery deadline the self-check sets below anything a cluster can meet, so the deadline checker must report it missed.
- Producer
Settings - Recovery
Deadlines - How long the cluster has to recover from a fault.
- Recovery
Objectives - What a disaster-recovery drill must achieve, declared before it runs.
- Self
Check - What a self-check injects, so that it can prove each is detected.
- Transaction
Settings
Enums§
- Fault
Kind - What a fault does.
- Isolation
- A consumer’s isolation level.
- Profile
- Whether a contract is a soak or the short self-check of the soak machinery.
- Recovery
Check - A recovery the harness measures after a fault.
- Semantics
- What a path’s producer promises about its records.
- Slowdown
- How a slow follower is slowed.
- Storage
- Where a path’s topic keeps its data.
- Target
- Which broker a fault lands on. All but
brokerare resolved when the fault starts, against the cluster as it is then, and the resolved broker is recorded with the fault.
Constants§
- MAX_
DISK_ WATERMARK - The highest fraction of a data volume a disk-pressure fault may fill.