Skip to main content

Module contract

Module contract 

Source
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§

ClientSettings
Client settings, shared by every path of their kind.
ClusterShape
The cluster under test.
ConsumerSettings
Contract
A sustained-load and failure contract.
ContractError
One reason a contract cannot be run or judged.
FaultPlan
A fault, once or on a period.
HostResources
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.
LatencyBudget
Latency percentiles a path must stay under outside its fault windows.
LoadPath
One load path: a producer, its topic, and the consumers that read it.
MissedDeadline
A recovery deadline the self-check sets below anything a cluster can meet, so the deadline checker must report it missed.
ProducerSettings
RecoveryDeadlines
How long the cluster has to recover from a fault.
RecoveryObjectives
What a disaster-recovery drill must achieve, declared before it runs.
SelfCheck
What a self-check injects, so that it can prove each is detected.
TransactionSettings

Enums§

FaultKind
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.
RecoveryCheck
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 broker are 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.