pub enum Chaos {
Network(ChaosMode),
Storage(ChaosMode),
Attrition {
config: Attrition,
mode: ChaosMode,
},
BuggifyKnobs,
}Expand description
A chaos surface to enable, and how to sample it per seed.
Pass these to SimulationBuilder::enable_chaos. A surface absent from the
enable list is off. The two axes are orthogonal: enabling a surface
(which variant) is distinct from how it is sampled (its ChaosMode).
Variants§
Network(ChaosMode)
Network faults (clogging, partitions, bit-flips, random close, …).
Storage(ChaosMode)
Storage faults (read/write/crash/misdirect/phantom/sync).
Attrition
Process attrition (chaos reboots). Carries the base regime; requires
chaos_duration to actually run.
Fields
BuggifyKnobs
Buggify-driven knob value-perturbation. An additive modifier, not a
surface of its own: on enabled network/storage surfaces it occasionally
spikes individual knob values (latencies, IOPS, fault rates) to an
extreme within bounds, per FDB’s if (randomize && BUGGIFY) KNOB = random(lo, hi). Composes with ChaosMode::Random/ChaosMode::Swarm.