Struct relay_cabi::StoreNormalizer
source · 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.