Crate relay_dynamic_config
source ·Expand description
Protocol for dynamic configuration passed down to Relay from Sentry.
In contrast to static configuration files, parts of Relay’s configuration is generated by Sentry and polled by Relay in regular intervals. Dynamic configuration includes (but is not limited to)
- rate limits and quotas,
- feature flags,
- settings that the user configured in Sentry’s UI.
§Project Configuration
So far, the only scope of dynamic configuration is per relay_auth::PublicKey
a.k.a. DSN.
The schema for this configuration is defined in ProjectConfig
.
§Example Config
{
"organizationId": 1,
"config": {
"excludeFields": [],
"filterSettings": {},
"scrubIpAddresses": False,
"sensitiveFields": [],
"scrubDefaults": True,
"scrubData": True,
"groupingConfig": {
"id": "legacy:2019-03-12",
"enhancements": "eJybzDhxY05qemJypZWRgaGlroGxrqHRBABbEwcC",
},
"blacklistedIps": ["127.43.33.22"],
"trustedRelays": [],
},
}
§Global configuration
This is the configuration for all Relays, independently from what per-project configuration is, and is defined in GlobalConfig
.
§Example Config
{
"measurements": {
"builtinMeasurements": [
{
"name": "app_start_cold",
"unit": "millisecond"
}
],
"maxCustomMeasurements": 1
}
}
Structs§
- Configuration container to control
BucketEncoding
per namespace. - Combined view of global and project-specific metrics extraction configs.
- Configuration for extracting custom measurements from transaction payloads.
- A set of
Feature
s. - A dynamic configuration for all Relays passed down from Sentry.
- Subset of
ProjectConfig
that is passed to external Relays. - Configuration for generic extraction of metrics from all data categories.
- Group of metrics & tags that can be enabled or disabled as a group.
- Configures global metrics extraction groups.
- Global groups for metric extraction.
- Specification for a metric to extract from some data.
- Configuration for metrics filtering.
- All options passed down from Sentry to Relay.
- Dynamic, per-DSN configuration passed down from Sentry.
- Configuration for metric extraction from sessions.
- Builder for
TagSpec
. - Configuration for removing tags matching the
tag
pattern on metrics whose name matches thename
pattern. - Mapping between extracted metrics and additional tags to extract.
- Configuration for a tag to add to a metric.
- Intermediate result of the tag spec builder.
- Rule defining when a target tag should be set on a metric.
- Configuration for extracting metrics from transaction payloads.
Enums§
- Deprecated. Defines whether URL transactions should be considered low cardinality.
- All supported metric bucket encodings.
- Kill switch for controlling the cardinality limiter.
- Wraps a serialization / deserialization result to prevent error from bubbling up.
- Features exposed by project config.
- Enumeration of keys in
MetricExtractionGroups
. In JSON, this is simply a string. - Specifies how to obtain the value of a tag in
TagSpec
.
Constants§
- Feature flags of graduated features are no longer sent by sentry, but Relay needs to insert them for outdated downstream Relays that may still rely on the feature flag.
Functions§
- Converts the given tagging rules from
conditional_tagging
to the newer metric extraction config. - Normalizes the given value by deserializing it and serializing it back.