pub struct TimestampProcessor;
Expand description
Ensures an event’s timestamps are not stale.
Stale timestamps are those that happened before January 1, 1970 UTC. The processor validates the start and end timestamps of an event and returns an error if any of these are stale. Additionally, spans and breadcrumbs with stale timestamps are removed from the event.
The processor checks the timestamps individually and it’s not responsible for decisions that relate timestamps together, including but not limited to:
- Ensuring the start timestamp is not later than the end timestamp.
- The event finished in the last X days.
Trait Implementations§
source§impl Processor for TimestampProcessor
impl Processor for TimestampProcessor
fn process_event( &mut self, event: &mut Event, _: &mut Meta, state: &ProcessingState<'_>, ) -> ProcessingResult
fn process_span( &mut self, span: &mut Span, meta: &mut Meta, _: &ProcessingState<'_>, ) -> ProcessingResult
fn before_process<T>(
&mut self,
value: Option<&T>,
meta: &mut Meta,
state: &ProcessingState<'_>,
) -> Result<(), ProcessingAction>where
T: ProcessValue,
fn after_process<T>(
&mut self,
value: Option<&T>,
meta: &mut Meta,
state: &ProcessingState<'_>,
) -> Result<(), ProcessingAction>where
T: ProcessValue,
fn process_string( &mut self, value: &mut String, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_u64( &mut self, value: &mut u64, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_i64( &mut self, value: &mut i64, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_f64( &mut self, value: &mut f64, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_bool( &mut self, value: &mut bool, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_value( &mut self, value: &mut Value, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_array<T>(
&mut self,
value: &mut Vec<Annotated<T>>,
meta: &mut Meta,
state: &ProcessingState<'_>,
) -> Result<(), ProcessingAction>where
T: ProcessValue,
fn process_object<T>(
&mut self,
value: &mut BTreeMap<String, Annotated<T>>,
meta: &mut Meta,
state: &ProcessingState<'_>,
) -> Result<(), ProcessingAction>where
T: ProcessValue,
fn process_pairlist<T>(
&mut self,
value: &mut PairList<T>,
meta: &mut Meta,
state: &ProcessingState<'_>,
) -> Result<(), ProcessingAction>where
T: ProcessValue + AsPair,
fn process_values<T>(
&mut self,
value: &mut Values<T>,
meta: &mut Meta,
state: &ProcessingState<'_>,
) -> Result<(), ProcessingAction>where
T: ProcessValue,
fn process_timestamp( &mut self, value: &mut Timestamp, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_replay( &mut self, value: &mut Replay, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_exception( &mut self, value: &mut Exception, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_raw_stacktrace( &mut self, value: &mut RawStacktrace, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_stacktrace( &mut self, value: &mut Stacktrace, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_frame( &mut self, value: &mut Frame, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_request( &mut self, value: &mut Request, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_user( &mut self, value: &mut User, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_client_sdk_info( &mut self, value: &mut ClientSdkInfo, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_debug_meta( &mut self, value: &mut DebugMeta, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_debug_image( &mut self, value: &mut DebugImage, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_geo( &mut self, value: &mut Geo, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_logentry( &mut self, value: &mut LogEntry, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_thread( &mut self, value: &mut Thread, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_context( &mut self, value: &mut Context, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_template_info( &mut self, value: &mut TemplateInfo, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_header_name( &mut self, value: &mut HeaderName, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_trace_context( &mut self, value: &mut TraceContext, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_native_image_path( &mut self, value: &mut NativeImagePath, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_contexts( &mut self, value: &mut Contexts, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_other( &mut self, other: &mut BTreeMap<String, Annotated<Value>>, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
Auto Trait Implementations§
impl Freeze for TimestampProcessor
impl RefUnwindSafe for TimestampProcessor
impl Send for TimestampProcessor
impl Sync for TimestampProcessor
impl Unpin for TimestampProcessor
impl UnwindSafe for TimestampProcessor
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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