pub struct PerMetric {
pub raw: f64,
pub baseline: f64,
pub dr: f64,
pub is_degenerate_baseline: bool,
pub is_volume_bounded: bool,
}Fields§
§raw: f64§baseline: f64§dr: f64§is_degenerate_baseline: boolTrue when the real-split baseline was below EPS (≈ 0), meaning this metric has no measurable noise floor on the corpus. Such metrics are excluded from the composite BF aggregation (Fix A, SP3.10).
is_volume_bounded: boolSP3.13 W3 — True for metrics whose DR scales inversely with synthetic event volume (P1 IETD, P2 ActiveLifetime, P2 BurstLen *). A high DR on these metrics may reflect the synthetic config generating fewer events than the corpus rather than a generator fidelity gap. Dashboards should contextualise: compare same-volume runs for fidelity assessment. This is annotation-only — these metrics are still included in the composite.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PerMetric
impl<'de> Deserialize<'de> for PerMetric
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
impl StructuralPartialEq for PerMetric
Auto Trait Implementations§
impl Freeze for PerMetric
impl RefUnwindSafe for PerMetric
impl Send for PerMetric
impl Sync for PerMetric
impl Unpin for PerMetric
impl UnsafeUnpin for PerMetric
impl UnwindSafe for PerMetric
Blanket Implementations§
impl<T> Allocation for T
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
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> 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>
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.