Expand description
Simulation framework for comprehensive testing scenarios.
This module provides a flexible framework for simulating various conditions that the TRAP simulator might encounter in production environments.
§Features
- Scale Simulation: Test with 50,000+ virtual devices
- Memory Patterns: Simulate various memory allocation patterns
- Failure Injection: Inject faults and errors for resilience testing
- Load Patterns: Various load profiles (steady, burst, ramp, spike)
- Resource Constraints: Simulate limited memory/CPU environments
§Example
ⓘ
use mabi_core::simulation::{
Simulator, SimulationConfig, ScaleConfig,
MemoryPattern, LoadPattern,
};
let config = SimulationConfig::default()
.with_scale(ScaleConfig::devices(50_000))
.with_memory_pattern(MemoryPattern::GrowthAndRelease)
.with_load_pattern(LoadPattern::Burst { peak: 100_000, duration_secs: 60 });
let simulator = Simulator::new(config);
let results = simulator.run().await?;Re-exports§
pub use scale::*;pub use memory_sim::*;pub use failure::*;pub use load::*;pub use scenarios::*;
Modules§
- failure
- Failure injection for chaos engineering.
- load
- Load patterns for simulation.
- memory_
sim - Memory simulation patterns.
- scale
- Scale configuration for simulations.
- scenarios
- Pre-built simulation scenarios.
Structs§
- Simulation
Config - Main simulation configuration.
- Simulation
Metrics - Real-time simulation metrics.
- Simulation
Result - Final simulation result.
- Simulator
- Main simulator engine.
Enums§
- Simulation
Event - Simulation events for progress tracking.
- Simulation
Phase - Current phase of the simulation.