pub struct FieldCoverage<'a> {
pub unknown: Vec<&'a FieldObservationEntry>,
pub intersection_count: usize,
pub missing: Vec<(&'a str, &'a FieldOrigin)>,
}Expand description
Borrowed view over a FieldObservation joined against a
RuleFieldSet. Produced by FieldObservation::coverage.
Consumers (the daemon HTTP handlers, the eval report writer) own the JSON shape; this struct only provides the partitioned data.
Fields§
§unknown: Vec<&'a FieldObservationEntry>Observed fields not referenced by any loaded rule (gap signal).
Ordered the same way as FieldObservation::entries: by
descending count, then ascending name.
intersection_count: usizeCount of observed fields that are rule-referenced.
missing: Vec<(&'a str, &'a FieldOrigin)>Rule field names that have not appeared in any observed event
(broken-coverage signal), paired with their FieldOrigin so
consumers can render rule titles and source kinds.
Auto Trait Implementations§
impl<'a> Freeze for FieldCoverage<'a>
impl<'a> RefUnwindSafe for FieldCoverage<'a>
impl<'a> Send for FieldCoverage<'a>
impl<'a> Sync for FieldCoverage<'a>
impl<'a> Unpin for FieldCoverage<'a>
impl<'a> UnsafeUnpin for FieldCoverage<'a>
impl<'a> UnwindSafe for FieldCoverage<'a>
Blanket Implementations§
Source§impl<T> AnyExt for T
impl<T> AnyExt for T
Source§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
Attempts to downcast this to
T behind referenceSource§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
Attempts to downcast this to
T behind mutable referenceSource§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
Attempts to downcast this to
T behind Rc pointerSource§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
Attempts to downcast this to
T behind Arc pointerSource§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, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
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