pub struct TrimmingProcessor { /* private fields */ }Expand description
Processor for trimming EAP items (logs, V2 spans).
This primarily differs from the regular TrimmingProcessor
in the handling of [Attributes]. This processor handles attributes as follows:
- Sort them by combined key and value size, where the key size is just the string length
and the value size is given by
size::attribute_size. - Trim attributes one by one. Key lengths are counted for the attribute’s size, but keys aren’t trimmed—if a key is too long, the attribute is simply discarded.
- If we run out of space, all subsequent attributes are discarded.
This means that large attributes will be trimmed or discarded before small ones.
Implementations§
Trait Implementations§
Source§impl Default for TrimmingProcessor
impl Default for TrimmingProcessor
Source§fn default() -> TrimmingProcessor
fn default() -> TrimmingProcessor
Returns the “default value” for a type. Read more
Source§impl Processor for TrimmingProcessor
impl Processor for TrimmingProcessor
fn before_process<T: ProcessValue>( &mut self, _: Option<&T>, _: &mut Meta, state: &ProcessingState<'_>, ) -> ProcessingResult
fn after_process<T: ProcessValue>( &mut self, _value: Option<&T>, _: &mut Meta, state: &ProcessingState<'_>, ) -> ProcessingResult
fn process_u64( &mut self, _value: &mut u64, _meta: &mut Meta, state: &ProcessingState<'_>, ) -> ProcessingResult
fn process_i64( &mut self, _value: &mut i64, _meta: &mut Meta, state: &ProcessingState<'_>, ) -> ProcessingResult
fn process_f64( &mut self, _value: &mut f64, _meta: &mut Meta, state: &ProcessingState<'_>, ) -> ProcessingResult
fn process_bool( &mut self, _value: &mut bool, _meta: &mut Meta, state: &ProcessingState<'_>, ) -> ProcessingResult
fn process_string( &mut self, value: &mut String, meta: &mut Meta, state: &ProcessingState<'_>, ) -> ProcessingResult
fn process_array<T>(
&mut self,
value: &mut Array<T>,
meta: &mut Meta,
state: &ProcessingState<'_>,
) -> ProcessingResultwhere
T: ProcessValue,
fn process_object<T>(
&mut self,
value: &mut Object<T>,
meta: &mut Meta,
state: &ProcessingState<'_>,
) -> ProcessingResultwhere
T: ProcessValue,
fn process_attributes( &mut self, attributes: &mut Attributes, meta: &mut Meta, state: &ProcessingState<'_>, ) -> ProcessingResult
fn process_finite_f64( &mut self, value: &mut FiniteF64, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_value( &mut self, value: &mut Value, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
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_event( &mut self, value: &mut Event, 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_ourlog( &mut self, value: &mut OurLog, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_trace_metric( &mut self, value: &mut TraceMetric, meta: &mut Meta, state: &ProcessingState<'_>, ) -> Result<(), ProcessingAction>
fn process_span( &mut self, value: &mut Span, 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 TrimmingProcessor
impl RefUnwindSafe for TrimmingProcessor
impl Send for TrimmingProcessor
impl Sync for TrimmingProcessor
impl Unpin for TrimmingProcessor
impl UnwindSafe for TrimmingProcessor
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> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].