Releases: getsentry/relay
Releases · getsentry/relay
24.4.1
24.4.0
Bug fixes:
- Fix performance regression in disk spooling by using page counts to estimate the spool size. (#3379)
- Perform clock drift normalization only when
sent_atis set in theEnvelopeheaders. (#3405)
Features:
- Breaking change: Kafka topic configuration keys now support the default topic name. The previous aliases
metricsandmetrics_transactionsare no longer supported if configuring topics manually. Useingest-metricsormetrics_sessionsinstead ofmetrics, andingest-performance-metricsormetrics_genericinstead ofmetrics_transactions. (#3361) - Breaking change: Remove
ShardedProducerand related code. The sharded configuration for Kafka is no longer supported. (#3415) - Add support for continuous profiling. (#3270)
- Add support for Reporting API for CSP reports (#3277)
- Extract op and description while converting opentelemetry spans to sentry spans. (#3287)
- Drop
event_idandremote_addrfrom all outcomes. (#3319) - Support for AI token metrics (#3250)
- Accept integers in
event.user.username. (#3328) - Produce user feedback to ingest-feedback-events topic, with rollout rate. (#3344)
- Extract
cache.item_sizeandcache.hitdata into span indexed ([#3367]#3367) - Allow IP addresses in metrics domain tag. (#3365)
- Support the full unicode character set via UTF-8 encoding for metric tags submitted via the statsd format. Certain restricted characters require escape sequences, see docs for the precise rules. (#3358)
- Stop extracting count_per_segment and count_per_op metrics. (#3380)
- Add
cardinality_limitedoutcome with id6. (#3389) - Extract
cache.item_sizeandcache.hitmetrics. ([#3371]#3371) - Optionally convert segment spans to transactions for compatibility. (#3375)
- Add feature flag for replay video event types. (#3402)
- Extract scrubbed IP addresses into the
span.domaintag. (#3383)
Internal:
- Enable
db.redisspan metrics extraction. (#3283) - Add data categories for continuous profiling. (#3284, #3303)
- Apply rate limits to span metrics. (#3255)
- Extract metrics from transaction spans. (#3273, #3324)
- Implement volume metric stats. (#3281)
- Implement cardinality metric stats. (#3360)
- Scrub transactions before enforcing quotas. (#3248)
- Implement metric name based cardinality limits. (#3313)
- Kafka topic config supports default topic names as keys. (#3282, #3350)
- Set all span tags on the transaction span. (#3310)
- Emit outcomes for user feedback events. (#3026)
- Collect duration for all spans. (#3322)
- Add
project_idas part of the span Kafka message headers. (#3320) - Stop producing to sessions topic, the feature is now fully migrated to metrics. (#3271)
- Pass
retention_daysin the Kafka profile messages. (#3362) - Support and expose namespaces for metric rate limit propagation via the
x-sentry-rate-limitsheader. (#3347) - Tag span duration metric by group for all ops supporting description scrubbing. (#3370)
- Copy transaction tags to segment. (#3386)
- Route spans according to trace_id. (#3387)
- Log span when encountering a validation error. (#3401)
- Optionally skip normalization. (#3377)
- Scrub file extensions in file spans and tags. (#3413)
24.3.0
Features:
- Extend GPU context with data for Unreal Engine crash reports. (#3144)
- Implement base64 and zstd metric bucket encodings. (#3218)
- Implement COGS measurements into Relay. (#3157)
- Parametrize transaction in dynamic sampling context. (#3141)
- Adds ReplayVideo envelope-item type. (#3105)
- Parse & scrub span description for supabase. (#3153, #3156)
- Introduce generic filters in global configs. (#3161)
- Individual cardinality limits can now be set into passive mode and not be enforced. (#3199)
- Allow enabling SSL for Kafka. (#3232)
- Enable HTTP compression for all APIs. (#3233)
- Add
process.loadspan to ingested mobile span ops. (#3227) - Track metric bucket metadata for Relay internal usage. (#3254)
- Enforce rate limits for standalone spans. (#3238)
- Extract
span.status_codetag for HTTP spans. (#3245)
Bug Fixes:
- Forward metrics in proxy mode. (#3106)
- Do not PII-scrub code locations by default. (#3116)
- Accept transactions with unfinished spans. (#3162)
- Don't run validation on renormalization, and don't normalize spans from librelay calls. (#3214)
- Set segment_id as optional (#3275)
Internal:
- Add quotas to global config. (#3086)
- Adds support for dynamic metric bucket encoding. (#3137)
- Use statsdproxy to pre-aggregate metrics. (#2425)
- Add SDK information to spans. (#3178)
- Drop replay envelopes if any item fails. (#3201)
- Filter null values from metrics summary tags. (#3204)
- Emit a usage metric for every span seen. (#3209)
- Add namespace for profile metrics. (#3229)
- Add segment_id to the profile. (#3265)
24.2.0
Bug Fixes:
- Fix regression in SQL query scrubbing. (#3091)
- Normalize route in trace context data field. (#3104)
- Limit the length of scrubbed span descriptions. (#3115)
Features:
- Add protobuf support for ingesting OpenTelemetry spans and use official
opentelemetry-protogenerated structs. (#3044)
Internal:
- Set the span op on segments. (#3082)
24.1.2
Features:
- Add
raw_domaintag to indexed spans. (#2975) - Obtain
span.domainfield from the span data'surl.schemeandserver.addressproperties when applicable. (#2975) - Do not truncate simplified SQL expressions. (#3003)
- Add
app_start_typeas a tag for self time and duration for app start spans. (#3027), (#3066)
Internal:
- Emit a usage metric for total spans. (#3007)
- Drop timestamp from metrics partition key. (#3025)
- Drop spans ending outside the valid timestamp range. (#3013)
- Extract INP metrics from spans. (#2969, #3041)
- Add ability to rate limit metric buckets by namespace. (#2941)
- Upgrade sqlparser to 0.43.1.(#3057)
- Implement project scoped cardinality limits. (#3071)
24.1.1
Features:
- Add new legacy browser filters. (#2950)
Internal:
- Implement quota system for cardinality limiter. (#2972)
- Use cardinality limits from project config instead of Relay config. (#2990)
- Proactively move on-disk spool to memory. (#2949)
- Default missing
Event.platformandEvent.levelfields during light normalization. (#2961) - Copy event measurements to span & normalize span measurements. (#2953)
- Add
allow_negativetoBuiltinMeasurementKey. Filter out negative BuiltinMeasurements ifallow_negativeis false. (#2982) - Add possiblity to block metrics or their tags with glob-patterns. (#2954, #2973)
- Forward profiles of non-sampled transactions. (#2940)
- Enable throttled periodic unspool of the buffered envelopes. (#2993)
Bug Fixes:
- Add automatic PII scrubbing to
logentry.params. (#2956) - Avoid producing
nullvalues in metric data. These values were the result of Infinity or NaN values extracted from event data. The values are now discarded during extraction. (#2958) - Fix processing of user reports. (#2981, #2984)
- Fetch project config when metrics are received. (#2987)
24.1.0
Features:
- Add a global throughput rate limiter for metric buckets. (#2928)
- Group db spans with repeating logical conditions together. (#2929)
Bug Fixes:
- Normalize event timestamps before validating them, fixing cases where Relay would drop valid events with reason "invalid_transaction". (#2878)
- Resolve a division by zero in performance score computation that leads to dropped metrics for transactions. (#2911)
Internal:
- Add
durationmetric for mobile app start spans. (#2906) - Introduce the configuration option
http.global_metrics. When enabled, Relay submits metric buckets not through regular project-scoped Envelopes, but instead through the global endpoint. When this Relay serves a high number of projects, this can reduce the overall request volume. (#2902) - Record the size of global metrics requests in statsd as
upstream.metrics.body_size. (#2908) - Make Kafka spans compatible with the Snuba span schema. (#2917, #2926)
- Only extract span metrics / tags when they are needed. (#2907, #2923, #2924)
- Normalize metric resource identifiers in
event._metrics_summaryandspan._metrics_summary. (#2914) - Validate error_id and trace_id vectors in replay deserializer. (#2931)
- Add a data category for indexed spans. (#2937)
- Add nested Android app start span ops to span ingestion (#2927)
23.12.1
Internal:
- Use a Lua script and in-memory cache for the cardinality limiting to reduce load on Redis. (#2849)
- Extract metrics for file spans. (#2874)
- Add an internal endpoint that allows Relays to submit metrics from multiple projects in a single request. (#2869)
- Emit a
processor.message.durationmetric to assess the throughput of the internal CPU pool. (#2877)
23.12.0
Features:
- Ingest OpenTelemetry and standalone Sentry spans via HTTP or an envelope. (#2620)
- Partition and split metric buckets just before sending. Log outcomes for metrics. (#2682)
- Support optional
PerformanceScoreWeightedComponentin performance score processing. (#2783) - Return global config ready status to downstream relays. (#2765)
- Add Mixed JS/Android Profiles events processing. (#2706)
- Allow to ingest measurements on a span. (#2792)
- Extract size metrics for all resource spans when permitted. (#2805)
- Allow access to more fields in dynamic sampling and metric extraction. (#2820)
- Add Redis set based cardinality limiter for metrics. (#2745)
- Support issue thresholds for Cron Monitor configurations (#2842)
Bug Fixes:
- In on-demand metric extraction, use the normalized URL instead of raw URLs sent by SDKs. This bug prevented metrics for certain dashboard queries from being extracted. (#2819)
- Ignore whitespaces when parsing user reports. (#2798)
Internal:
- Support source context in metric code locations metadata entries. (#2781)
- Temporarily add metric summaries on spans and top-level transaction events to link DDM with performance monitoring. (#2757)
- Add size limits on metric related envelope items. (#2800)
- Include the size offending item in the size limit error message. (#2801)
- Allow ingestion of metrics summary on spans. (#2823)
- Add metric_bucket data category. (#2824)
- Org rate limit metrics per bucket. (#2836)
- Emit image resource spans, grouped by domain and extension. (#2826, #2855)
- Parse timestamps from strings in span OpenTelemetry schema. (#2857)