1use serde::{Deserialize, Serialize};
5
6pub const METHOD_LIST_BENCHMARKS: &str = "list_benchmarks";
7pub const METHOD_ESTIMATE_ITERATIONS: &str = "estimate_iterations";
8pub const METHOD_RUN_BENCHMARK: &str = "run_benchmark";
9pub const METHOD_SHUTDOWN: &str = "shutdown";
10
11#[derive(Serialize, Deserialize)]
12pub struct ListBenchmarksResult {
13 #[serde(rename = "benchmarks")]
14 pub benchmarks: Vec<String>,
15 #[serde(rename = "aux_metrics", default)]
16 pub aux_metrics: Vec<String>,
17}
18
19#[derive(Serialize, Deserialize)]
20pub struct EstimateIterationsParams {
21 #[serde(rename = "index")]
22 pub index: usize,
23 #[serde(rename = "time_ms")]
24 pub time_ms: u32,
25 #[serde(rename = "seed")]
26 pub seed: u64,
27}
28
29#[derive(Serialize, Deserialize)]
30pub struct EstimateIterationsResult {
31 #[serde(rename = "iterations")]
32 pub iterations: usize,
33}
34
35#[derive(Serialize, Deserialize)]
36pub struct RunBenchmarkParams {
37 #[serde(rename = "index")]
38 pub index: usize,
39 #[serde(rename = "seed")]
40 pub seed: u64,
41 #[serde(rename = "iterations")]
42 pub iterations: usize,
43 #[serde(rename = "num_samples")]
44 pub num_samples: usize,
45 #[serde(rename = "aux_metrics")]
47 pub aux_metrics: Vec<String>,
48}
49
50#[derive(Serialize, Deserialize)]
51pub struct RunBenchmarkResult {
52 #[serde(rename = "samples")]
53 pub samples: Vec<u64>,
54 #[serde(rename = "aux_metrics")]
56 pub aux_metrics: Vec<u64>,
57}