pub struct StoreNormalizer {
Show 20 fields pub project_id: Option<u64>, pub client_ip: Option<IpAddr>, pub client: Option<String>, pub key_id: Option<String>, pub protocol_version: Option<String>, pub grouping_config: Option<Value>, pub user_agent: Option<String>, pub client_hints: ClientHints<String>, pub received_at: Option<DateTime<Utc>>, pub sent_at: Option<DateTime<Utc>>, pub max_secs_in_future: Option<i64>, pub max_secs_in_past: Option<i64>, pub enable_trimming: Option<bool>, pub is_renormalize: Option<bool>, pub remove_other: Option<bool>, pub normalize_user_agent: Option<bool>, pub breakdowns: Option<BreakdownsConfig>, pub client_sample_rate: Option<f64>, pub replay_id: Option<Uuid>, pub normalize_spans: bool,
}
Expand description

Configuration for the store step – validation and normalization.

Fields§

§project_id: Option<u64>

The identifier of the target project, which gets added to the payload.

§client_ip: Option<IpAddr>

The IP address of the SDK that sent the event.

When {{auto}} is specified and there is no other IP address in the payload, such as in the request context, this IP address gets added to the user context.

§client: Option<String>

The name and version of the SDK that sent the event.

§key_id: Option<String>

The internal identifier of the DSN, which gets added to the payload.

Note that this is different from the DSN’s public key. The ID is usually numeric.

§protocol_version: Option<String>

The version of the protocol.

This is a deprecated field, as there is no more versioning of Relay event payloads.

§grouping_config: Option<Value>

Configuration for issue grouping.

This configuration is persisted into the event payload to achieve idempotency in the processing pipeline and for reprocessing.

§user_agent: Option<String>

The raw user-agent string obtained from the submission request headers.

The user agent is used to infer device, operating system, and browser information should the event payload contain no such data.

Newer browsers have frozen their user agents and send client_hints instead. If both a user agent and client hints are present, normalization uses client hints.

§client_hints: ClientHints<String>

A collection of headers sent by newer browsers about the device and environment.

Client hints are the preferred way to infer device, operating system, and browser information should the event payload contain no such data. If no client hints are present, normalization falls back to the user agent.

§received_at: Option<DateTime<Utc>>

The time at which the event was received in this Relay.

This timestamp is persisted into the event payload.

§sent_at: Option<DateTime<Utc>>

The time at which the event was sent by the client.

The difference between this and the received_at timestamps is used for clock drift correction, should a significant difference be detected.

§max_secs_in_future: Option<i64>

The maximum amount of seconds an event can be predated into the future.

If the event’s timestamp lies further into the future, the received timestamp is assumed.

§max_secs_in_past: Option<i64>

The maximum amount of seconds an event can be dated in the past.

If the event’s timestamp is older, the received timestamp is assumed.

§enable_trimming: Option<bool>

When Some(true), individual parts of the event payload is trimmed to a maximum size.

See the event schema for size declarations.

§is_renormalize: Option<bool>

When Some(true), it is assumed that the event has been normalized before.

This disables certain normalizations, especially all that are not idempotent. The renormalize mode is intended for the use in the processing pipeline, so an event modified during ingestion can be validated against the schema and large data can be trimmed. However, advanced normalizations such as inferring contexts or clock drift correction are disabled.

None equals to false.

§remove_other: Option<bool>

Overrides the default flag for other removal.

§normalize_user_agent: Option<bool>

When Some(true), context information is extracted from the user agent.

§breakdowns: Option<BreakdownsConfig>

Emit breakdowns based on given configuration.

§client_sample_rate: Option<f64>

The SDK’s sample rate as communicated via envelope headers.

It is persisted into the event payload.

§replay_id: Option<Uuid>

The identifier of the Replay running while this event was created.

It is persisted into the event payload for correlation.

§normalize_spans: bool

Controls whether spans should be normalized (e.g. normalizing the exclusive time).

To normalize spans in [normalize_event], is_renormalize must be disabled and normalize_spans enabled.

Trait Implementations§

source§

impl Debug for StoreNormalizer

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for StoreNormalizer

source§

fn default() -> StoreNormalizer

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for StoreNormalizer

source§

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 Serialize for StoreNormalizer

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> Serialize for T
where T: Serialize + ?Sized,

source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,