pub struct BenchmarkResult {
pub status: RunStatus,
pub phase: String,
pub progress: Option<(u64, u64)>,
pub summary: Vec<Stat>,
pub table: Option<ResultTable>,
pub verdict: Option<Verdict>,
pub metrics: BTreeMap<String, f64>,
pub log: Vec<LogLine>,
pub elapsed: Duration,
pub hardware_state: Option<HardwareStateReport>,
pub dataset_fingerprint: Option<String>,
}Expand description
2026-09-26: One frame of a benchmark run.
Fields§
§status: RunStatus§phase: String2026-09-26: What is happening right now, e.g. "warmup".
progress: Option<(u64, u64)>2026-09-26: (done, total) for the progress bar; None when the
total is unknown.
summary: Vec<Stat>§table: Option<ResultTable>§verdict: Option<Verdict>§metrics: BTreeMap<String, f64>2026-09-26: Raw headline numbers, keyed by stable metric name. The
gate record copies them and scores them against BENCH.toml bounds, so
the gate does not parse the formatted summary strings.
log: Vec<LogLine>2026-09-26: Lines appended to the run log since the previous frame (not cumulative).
elapsed: Duration§hardware_state: Option<HardwareStateReport>2026-09-26: What state the box was in before and after this run.
The executor (crate::executor) stamps it on terminal frames, the
frame crate::RunRecord keeps and the gate record is built from.
None means unmeasured, which is not the same as a healthy box.
dataset_fingerprint: Option<String>2026-09-26: Content identity of the dataset the run scored against, when the benchmark sets one (the MLPerf agentic leg does). Carried into the gate record: the metrics map is f64-only, so without this a record could pin a draw’s size but not its content.
Implementations§
Source§impl BenchmarkResult
impl BenchmarkResult
pub fn running(phase: impl Into<String>, elapsed: Duration) -> Self
pub fn completed(phase: impl Into<String>, elapsed: Duration) -> Self
pub fn failed( phase: impl Into<String>, reason: impl Into<String>, elapsed: Duration, ) -> Self
pub fn with_progress(self, done: u64, total: u64) -> Self
pub fn with_summary(self, summary: Vec<Stat>) -> Self
pub fn with_metrics(self, metrics: BTreeMap<String, f64>) -> Self
pub fn with_table(self, table: ResultTable) -> Self
pub fn with_verdict(self, verdict: Verdict) -> Self
pub fn with_log(self, log: Vec<LogLine>) -> Self
pub fn log_line(self, line: LogLine) -> Self
pub fn with_hardware_state(self, report: HardwareStateReport) -> Self
Trait Implementations§
Source§impl Clone for BenchmarkResult
impl Clone for BenchmarkResult
Source§fn clone(&self) -> BenchmarkResult
fn clone(&self) -> BenchmarkResult
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BenchmarkResult
impl Debug for BenchmarkResult
Source§impl<'de> Deserialize<'de> for BenchmarkResult
impl<'de> Deserialize<'de> for BenchmarkResult
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for BenchmarkResult
impl RefUnwindSafe for BenchmarkResult
impl Send for BenchmarkResult
impl Sync for BenchmarkResult
impl Unpin for BenchmarkResult
impl UnwindSafe for BenchmarkResult
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more