pub struct RunLatency {
pub generation_ms: f64,
pub ttft_ms: Option<u64>,
}Expand description
Per-run latency a runner reports alongside token/cost accounting. Self-reported, not verified — benchmarking/observability only.
Fields§
§generation_ms: f64Sum of model GENERATION (decode) wall-clock across turns, in ms,
EXCLUDING tool execution. The honest denominator for decode tokens/sec
(output_tokens / generation_ms) — total wall-clock would conflate decode
with tool latency.
ttft_ms: Option<u64>Time-to-first-token of the FIRST generation call, in ms, when the backend
measures it (InferenceEngine::generate_tracked → time_to_first_token_ms;
None on paths that don’t surface it).
Trait Implementations§
Source§impl Clone for RunLatency
impl Clone for RunLatency
Source§impl Debug for RunLatency
impl Debug for RunLatency
Source§impl Default for RunLatency
impl Default for RunLatency
Source§impl<'de> Deserialize<'de> for RunLatency
impl<'de> Deserialize<'de> for RunLatency
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RunLatency
impl RefUnwindSafe for RunLatency
impl Send for RunLatency
impl Sync for RunLatency
impl Unpin for RunLatency
impl UnsafeUnpin for RunLatency
impl UnwindSafe for RunLatency
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
Converts
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> ⓘ
Converts
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