Skip to main content

Module simulation

Module simulation 

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

SimulationConfig
Main simulation configuration.
SimulationMetrics
Real-time simulation metrics.
SimulationResult
Final simulation result.
Simulator
Main simulator engine.

Enums§

SimulationEvent
Simulation events for progress tracking.
SimulationPhase
Current phase of the simulation.