mcai_benchmark/benchmark/
mod.rs1use crate::{configuration::VolumeConfig, error::Result, stats::StatsWriter};
2use async_trait::async_trait;
3use std::{
4 collections::HashMap,
5 sync::{Arc, Mutex},
6};
7
8pub mod measurement;
9pub mod result;
10
11#[derive(Default)]
12pub(crate) struct RunConfig {
13 pub name: String,
14 pub image: String,
15 pub output_folder: Option<String>,
16 pub source_order: String,
17 pub stats_writer: Option<Arc<Mutex<dyn StatsWriter + Send + Sync>>>,
18 pub envs: HashMap<String, String>,
19 pub volumes: Vec<VolumeConfig>,
20}
21
22#[async_trait]
23trait Run {
24 async fn run(&mut self, config: &mut RunConfig) -> Result<()>;
25}