pub struct NormalizationConfig<'a> {Show 28 fields
pub project_id: Option<u64>,
pub client: Option<String>,
pub key_id: Option<String>,
pub protocol_version: Option<String>,
pub grouping_config: Option<Value>,
pub client_ip: Option<&'a IpAddr>,
pub client_sample_rate: Option<f64>,
pub user_agent: RawUserAgentInfo<&'a str>,
pub max_name_and_unit_len: Option<usize>,
pub measurements: Option<CombinedMeasurementsConfig<'a>>,
pub breakdowns_config: Option<&'a BreakdownsConfig>,
pub normalize_user_agent: Option<bool>,
pub transaction_name_config: TransactionNameConfig<'a>,
pub is_renormalize: bool,
pub remove_other: bool,
pub emit_event_errors: bool,
pub device_class_synthesis_config: bool,
pub enrich_spans: bool,
pub max_tag_value_length: usize,
pub span_description_rules: Option<&'a Vec<SpanDescriptionRule>>,
pub performance_score: Option<&'a PerformanceScoreConfig>,
pub ai_model_costs: Option<&'a ModelCosts>,
pub geoip_lookup: Option<&'a GeoIpLookup>,
pub enable_trimming: bool,
pub normalize_spans: bool,
pub replay_id: Option<Uuid>,
pub span_allowed_hosts: &'a [String],
pub span_op_defaults: BorrowedSpanOpDefaults<'a>,
}
Expand description
Configuration for normalize_event
.
Fields§
§project_id: Option<u64>
The identifier of the target project, which gets added to the payload.
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.
client_ip: Option<&'a 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_sample_rate: Option<f64>
The SDK’s sample rate as communicated via envelope headers.
It is persisted into the event payload.
user_agent: RawUserAgentInfo<&'a str>
The user-agent and client hints obtained from the submission request headers.
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.
max_name_and_unit_len: Option<usize>
The maximum length for names of custom measurements.
Measurements with longer names are removed from the transaction event and replaced with a metadata entry.
measurements: Option<CombinedMeasurementsConfig<'a>>
Configuration for measurement normalization in transaction events.
Has an optional crate::MeasurementsConfig
from both the project and the global level.
If at least one is provided, then normalization will truncate custom measurements
and add units of known built-in measurements.
breakdowns_config: Option<&'a BreakdownsConfig>
Emit breakdowns based on given configuration.
normalize_user_agent: Option<bool>
When Some(true)
, context information is extracted from the user agent.
transaction_name_config: TransactionNameConfig<'a>
Configuration to apply to transaction names, especially around sanitizing.
is_renormalize: bool
When 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.
remove_other: bool
Overrides the default flag for other removal.
emit_event_errors: bool
When enabled, adds errors in the meta to the event’s errors.
device_class_synthesis_config: bool
When true
, infers the device class from CPU and model.
enrich_spans: bool
When true
, extracts tags from event and spans and materializes them into span.data
.
max_tag_value_length: usize
The maximum allowed size of tag values in bytes. Longer values will be cropped.
span_description_rules: Option<&'a Vec<SpanDescriptionRule>>
Configuration for replacing identifiers in the span description with placeholders.
This is similar to transaction_name_config
, but applies to span descriptions.
performance_score: Option<&'a PerformanceScoreConfig>
Configuration for generating performance score measurements for web vitals
ai_model_costs: Option<&'a ModelCosts>
Configuration for calculating the cost of AI model runs
geoip_lookup: Option<&'a GeoIpLookup>
An initialized GeoIP lookup.
enable_trimming: bool
When Some(true)
, individual parts of the event payload is trimmed to a maximum size.
See the event schema for size declarations.
normalize_spans: bool
Controls whether spans should be normalized (e.g. normalizing the exclusive time).
To normalize spans, is_renormalize
must be disabled and normalize_spans
enabled.
replay_id: Option<Uuid>
The identifier of the Replay running while this event was created.
It is persisted into the event payload for correlation.
span_allowed_hosts: &'a [String]
Controls list of hosts to be excluded from scrubbing
span_op_defaults: BorrowedSpanOpDefaults<'a>
Rules to infer span.op
from other span fields.
Trait Implementations§
source§impl<'a> Clone for NormalizationConfig<'a>
impl<'a> Clone for NormalizationConfig<'a>
source§fn clone(&self) -> NormalizationConfig<'a>
fn clone(&self) -> NormalizationConfig<'a>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<'a> Debug for NormalizationConfig<'a>
impl<'a> Debug for NormalizationConfig<'a>
Auto Trait Implementations§
impl<'a> Freeze for NormalizationConfig<'a>
impl<'a> RefUnwindSafe for NormalizationConfig<'a>
impl<'a> Send for NormalizationConfig<'a>
impl<'a> Sync for NormalizationConfig<'a>
impl<'a> Unpin for NormalizationConfig<'a>
impl<'a> UnwindSafe for NormalizationConfig<'a>
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§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>
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>
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