pub struct WindowExpectation {
pub outer: String,
pub contains: Vec<String>,
}Expand description
Represents a temporal window expectation
Validates that all specified child spans are temporally contained within an outer span, meaning:
- outer.start_time <= child.start_time
- child.end_time <= outer.end_time
§Example
[[expect.window]]
outer = "root_span_name"
contains = ["child_a", "child_b"]Fields§
§outer: StringName of the outer (parent) span that should contain children
contains: Vec<String>Names of child spans that must be temporally contained
Implementations§
Source§impl WindowExpectation
impl WindowExpectation
Sourcepub fn new(outer: impl Into<String>, contains: Vec<String>) -> Self
pub fn new(outer: impl Into<String>, contains: Vec<String>) -> Self
Create a new window expectation
§Arguments
outer- Name of the outer spancontains- Names of child spans that must be contained
Sourcepub fn validate(&self, spans: &[SpanData]) -> Result<()>
pub fn validate(&self, spans: &[SpanData]) -> Result<()>
Validate temporal containment across all spans
§Arguments
spans- All spans to validate against
§Returns
Ok(())if all children are temporally contained in outer spanErrwith detailed message if validation fails
§Errors
- Outer span not found
- Child span not found
- Missing timestamps on any span
- Temporal containment violation (child outside parent window)
Trait Implementations§
Source§impl Clone for WindowExpectation
impl Clone for WindowExpectation
Source§fn clone(&self) -> WindowExpectation
fn clone(&self) -> WindowExpectation
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WindowExpectation
impl Debug for WindowExpectation
Source§impl<'de> Deserialize<'de> for WindowExpectation
impl<'de> Deserialize<'de> for WindowExpectation
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 WindowExpectation
impl PartialEq for WindowExpectation
Source§impl Serialize for WindowExpectation
impl Serialize for WindowExpectation
impl StructuralPartialEq for WindowExpectation
Auto Trait Implementations§
impl Freeze for WindowExpectation
impl RefUnwindSafe for WindowExpectation
impl Send for WindowExpectation
impl Sync for WindowExpectation
impl Unpin for WindowExpectation
impl UnwindSafe for WindowExpectation
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request