mcai_benchmark/benchmark/
mod.rs

1use 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}