pub enum BenchmarkEvent {
Show 13 variants
ModelStarted {
model_id: i64,
model_name: String,
position: usize,
total: usize,
},
ModelTextDelta {
model_id: i64,
text: String,
},
ModelComplete {
model_id: i64,
result: BenchmarkModelResult,
},
ModelFailed {
model_id: i64,
model_name: String,
error: String,
},
RunComplete {
run_id: i64,
},
RunFailed {
error: String,
},
TuneCandidateStarted {
candidate_index: usize,
total: usize,
},
TuneTaskComplete {
candidate_index: usize,
task_id: String,
passed: bool,
},
TunePruned {
candidate_index: usize,
reason: String,
},
TuneCandidateComplete {
result: TuneCandidateResult,
},
AgenticArmStarted {
arm: EvalArm,
total_tasks: usize,
},
AgenticTaskComplete {
arm: EvalArm,
task_id: String,
passed: bool,
},
AgenticEvalComplete {
report: Box<AgenticEvalReport>,
},
}Expand description
Typed event emitted over the mpsc channel (and serialised as SSE to the browser) during a benchmark run.
Both the CLI renderer and the Axum SSE bridge consume this enum, giving full feature parity between CLI and web interfaces.
Variants§
ModelStarted
A model is about to start (position is 1-based).
ModelTextDelta
A chunk of generated text for one model (compare runs only).
ModelComplete
A model finished successfully.
ModelFailed
A model failed (e.g. binary not found, OOM).
RunComplete
All models finished; the run record is now Complete.
RunFailed
The entire run failed (e.g. DB error, abort).
TuneCandidateStarted
A tune candidate is about to be evaluated (index is 0-based).
TuneTaskComplete
One task finished evaluating for the current tune candidate.
TunePruned
A tune candidate was dropped after the pre-screen round and will not run the full task suite.
TuneCandidateComplete
A tune candidate finished evaluating (pre-screen or full suite).
Fields
result: TuneCandidateResultAgenticArmStarted
An agentic-eval arm is about to run its task set.
AgenticTaskComplete
One task finished under one agentic-eval arm.
AgenticEvalComplete
The agentic eval finished; the full A/B report.
Boxed because the report is by far the largest thing this enum carries — per-arm scores, a per-axis delta, and a per-task drill-down holding every seed’s result — and an enum is as large as its widest variant. Unboxed, every progress tick sent over this channel would pay for it.
Fields
report: Box<AgenticEvalReport>Trait Implementations§
Source§impl Clone for BenchmarkEvent
impl Clone for BenchmarkEvent
Source§fn clone(&self) -> BenchmarkEvent
fn clone(&self) -> BenchmarkEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more