@@ -3,10 +3,10 @@ use crate::benchmarks::judge;
use crate::config::AppConfig;
use crate::metrics::{LatencySummary, Metrics, MetricsSummary};
use crate::report::{
BenchmarkReport, BenchmarkSummaryReport, DatasetReport, LatencyReport, LimiterInferenceKind,
LimiterInferenceReport, PhaseSummaryReport, ProbeSecondReport, RpmModeDetailReport, RpmReport,
RpmRunReport, RpmSummaryReport, RunReport, WindowBoundaryReport, WrongCase Report,
write_benchmark_report, write_rpm_report,
BenchmarkParamsReport, Benchmark Report, BenchmarkSummaryReport, DatasetReport, LatencyReport,
LimiterInferenceKind, LimiterInference Report, PhaseSummaryReport, ProbeSecondReport,
RpmModeDetailReport, RpmParamsReport, RpmReport, RpmRunReport, RpmSummaryReport, Run Report,
WindowBoundaryReport, WrongCaseReport, write_benchmark_report, write_rpm_report,
};
use crate::rpm_modes::{
ProbePhase, RpmMode, ScheduledProbe, burst_schedule, sliding_window_schedule,
@@ -287,6 +287,7 @@ async fn run_aime_benchmark(
benchmark: "aime2026",
provider: provider_name,
model,
stream: base_request.stream,
dataset,
started_at,
duration_ms: started.elapsed().as_millis(),
@@ -372,6 +373,7 @@ async fn run_gpqa_benchmark(
benchmark: "gpqa-diamond",
provider: provider_name,
model,
stream: base_request.stream,
dataset,
started_at,
duration_ms: started.elapsed().as_millis(),
@@ -414,9 +416,11 @@ async fn run_rpm(config_path: PathBuf, options: RpmCommandOptions) -> Result<()>
let model = options
.model
.unwrap_or_else(|| provider_config.default_model.clone());
let stream_enabled = options.stream.unwrap_or(provider_config.stream);
let concurrency = options.concurrency.unwrap_or(mode_plan.default_concurrency);
let request = ModelRequest {
prompt: options.prompt,
stream: options.stream.unwrap_or(provider_config.stream) ,
prompt: options.prompt.clone() ,
stream: stream_enabled ,
..request_template(&provider_config, &model, 0.0, 1024)
};
let started_at = Utc::now();
@@ -428,7 +432,7 @@ async fn run_rpm(config_path: PathBuf, options: RpmCommandOptions) -> Result<()>
provider_config.protocol,
request,
mode_plan.probes,
options. concurrency.unwrap_or(mode_plan.default_concurrency) ,
concurrency,
)
.await;
@@ -446,6 +450,15 @@ async fn run_rpm(config_path: PathBuf, options: RpmCommandOptions) -> Result<()>
benchmark: "rpm".to_string(),
provider: provider_name,
model,
params: RpmParamsReport {
prompt: options.prompt,
stream: stream_enabled,
duration: options.duration,
burst: options.burst,
concurrency,
probe_seconds: options.probe_seconds,
window_offset_ms: options.window_offset_ms,
},
run: RpmRunReport {
started_at,
duration_ms: started.elapsed().as_millis(),
@@ -848,6 +861,7 @@ struct BenchmarkReportInput {
benchmark: &'static str,
provider: String,
model: String,
stream: bool,
dataset: DatasetReport,
started_at: chrono::DateTime<Utc>,
duration_ms: u128,
@@ -862,6 +876,9 @@ fn benchmark_report(input: BenchmarkReportInput) -> BenchmarkReport {
benchmark: input.benchmark.to_string(),
provider: input.provider,
model: input.model,
params: BenchmarkParamsReport {
stream: input.stream,
},
dataset: input.dataset,
run: RunReport {
started_at: input.started_at,