pub struct StreamWitness {
pub client_ttft_over_e2e_median: f64,
pub verdict: StreamVerdict,
pub source: StreamWitnessSource,
}Expand description
PP-27 — the client-side half of the dual witness.
On a live stream the first token arrives long before the last, so
ttft / e2e is small. On a replayed one the whole answer lands at once and
the ratio approaches 1. The threshold is
stream.live_ttft_over_e2e_max in perf-matrix.yaml (PP-33).
Fields§
§client_ttft_over_e2e_median: f64Median over completed requests of ttft_ms / (settled_ms − issued_ms).
verdict: StreamVerdictThe verdict the two halves reach together.
source: StreamWitnessSourceWhich half the verdict rests on.
Trait Implementations§
Source§impl Clone for StreamWitness
impl Clone for StreamWitness
impl Copy for StreamWitness
Source§impl Debug for StreamWitness
impl Debug for StreamWitness
Source§impl<'de> Deserialize<'de> for StreamWitness
impl<'de> Deserialize<'de> for StreamWitness
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
Source§impl PartialEq for StreamWitness
impl PartialEq for StreamWitness
Source§impl Serialize for StreamWitness
impl Serialize for StreamWitness
impl StructuralPartialEq for StreamWitness
Auto Trait Implementations§
impl Freeze for StreamWitness
impl RefUnwindSafe for StreamWitness
impl Send for StreamWitness
impl Sync for StreamWitness
impl Unpin for StreamWitness
impl UnsafeUnpin for StreamWitness
impl UnwindSafe for StreamWitness
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>,
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