swh.scheduler.simulator package#
Submodules#
- swh.scheduler.simulator.common module- SimulationReport- SimulationReport.DURATION_THRESHOLD
- SimulationReport.total_visits
- SimulationReport.visit_runtimes
- SimulationReport.scheduler_metrics
- SimulationReport.visit_metrics
- SimulationReport.latest_snapshots
- SimulationReport.record_visit()
- SimulationReport.record_metrics()
- SimulationReport.uneventful_visits
- SimulationReport.runtime_histogram()
- SimulationReport.metrics_plot()
- SimulationReport.metrics_csv()
- SimulationReport.format()
 
- Task
- TaskEvent
- Queue
- Environment
 
- swh.scheduler.simulator.origin_scheduler module
- swh.scheduler.simulator.origins module
- swh.scheduler.simulator.task_scheduler module
Module contents#
This package runs the scheduler in a simulated environment, to evaluate various metrics. See Software Heritage Scheduler Simulator.
This module orchestrates of the simulator by initializing processes and connecting them together; these processes are defined in modules in the package and simulate/call specific components.
- swh.scheduler.simulator.update_metrics_process(env: Environment, update_interval: int) Generator[Event, None, None][source]#
- Update the scheduler metrics every update_interval (simulated) seconds, and add them to the SimulationReport 
- swh.scheduler.simulator.worker_process(env: Environment, name: str, task_queue: Queue, status_queue: Queue) Generator[Event, Task, None][source]#
- A worker which consumes tasks from the input task_queue. Tasks themselves send OriginVisitStatus objects to the status_queue. 
- swh.scheduler.simulator.setup(env: Environment, scheduler_type: str, policy: str | None, workers_per_type: Dict[str, int], task_queue_capacity: int, min_batch_size: int, metrics_update_interval: int)[source]#
- swh.scheduler.simulator.fill_test_data(scheduler: SchedulerInterface, num_origins: int = 100000)[source]#
- Fills the database with mock data to test the simulator.