Releases: getsentry/relay
Releases · getsentry/relay
24.1.2
Features:
- Add
raw_domain
tag to indexed spans. (#2975) - Obtain
span.domain
field from the span data'surl.scheme
andserver.address
properties when applicable. (#2975) - Do not truncate simplified SQL expressions. (#3003)
- Add
app_start_type
as 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.platform
andEvent.level
fields during light normalization. (#2961) - Copy event measurements to span & normalize span measurements. (#2953)
- Add
allow_negative
toBuiltinMeasurementKey
. Filter out negative BuiltinMeasurements ifallow_negative
is 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
null
values 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
duration
metric 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_summary
andspan._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.duration
metric 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
PerformanceScoreWeightedComponent
in 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)
23.11.2
23.11.1
Features:
normalize_performance_score
stores 0 to 1 cdf score instead of weighted score for each performance score component. (#2734)- Add Bytespider (Bytedance) to web crawler filter. (#2747)
Bug Fixes:
- Fix bug introduced in 23.11.0 that broke profile-transaction association. (#2733)
Internal:
- License is now FSL instead of BSL (#2739)
- Support
device.model
in dynamic sampling and metric extraction. (#2728) - Support comparison operators (
>
,>=
,<
,<=
) for strings in dynamic sampling and metric extraction rules. Previously, these comparisons were only possible on numbers. (#2730) - Postpone processing till the global config is available. (#2697)
- Skip running
NormalizeProcessor
on renormalization. (#2744)
23.11.0
Features:
- Add inbound filters option to filter legacy Edge browsers (i.e. versions 12-18 ) (#2650)
- Add User Feedback Ingestion. (#2604)
- Group resource spans by scrubbed domain and filename. (#2654)
- Convert transactions to spans for all organizations. (#2659)
- Filter outliers (>180s) for mobile measurements. (#2649)
- Allow access to more context fields in dynamic sampling and metric extraction. (#2607, #2640, #2675, #2707, #2715)
- Allow advanced scrubbing expressions for datascrubbing safe fields. (#2670)
- Disable graphql scrubbing when datascrubbing is disabled. (#2689)
- Track when a span was received. (#2688)
- Add context for NEL (Network Error Logging) reports to the event schema. (#2421)
- Add
validate_pii_selector
to CABI for safe fields validation. (#2687) - Do not scrub Prisma spans. (#2711)
- Count spans by op. (#2712)
- Extract resource spans & metrics regardless of feature flag. (#2713)
Bug Fixes:
- Disable scrubbing for the User-Agent header. (#2641)
- Fixes certain safe fields disabling data scrubbing for all string fields. (#2701)
Internal:
- Disable resource link span ingestion. (#2647)
- Collect
http.decoded_response_content_length
. (#2638) - Add TTID and TTFD tags to mobile spans. (#2662)
- Validate span timestamps and IDs in light normalization on renormalization. (#2679)
- Scrub all DB Core Data spans differently. (#2686)
- Support generic metrics extraction version 2. (#2692)
- Emit error on continued project config fetch failures after a time interval. (#2700)
23.10.1
23.10.0
Features:
- Scrub span descriptions with encoded data images. (#2560)
- Accept spans needed for the mobile Starfish module. (#2570)
- Extract size metrics and blocking status tag for resource spans. (#2578)
- Add a setting to rollout ingesting all resource spans. (#2586)
Bug Fixes:
- Remove profile_id from context when no profile is in the envelope. (#2523)
- Fix reporting of Relay's crashes to Sentry. The
crash-handler
feature did not enable the crash reporter and uploads of crashes were broken. (#2532) - Use correct field to pick SQL parser for span normalization. (#2536)
- Prevent stack overflow on SQL serialization. (#2538)
- Bind exclusively to the port for the HTTP server. (#2582)
- Scrub resource spans even when there's no domain or extension or when the description is an image. (#2591)
Internal:
- Exclude more spans fron metrics extraction. (#2522), #2525, #2545, #2566)
- Remove filtering for Android events with missing close events. (#2524)
- Fix hot-loop burning CPU when upstream service is unavailable. (#2518)
- Extract new low-cardinality transaction duration metric for statistical detectors. (#2513)
- Introduce reservoir sampling rule. (#2550)
- Write span tags to
span.sentry_tags
instead ofspan.data
. (#2555, #2598) - Use JSON instead of MsgPack for Kafka spans. (#2556)
- Add
profile_id
to spans. (#2569) - Introduce a dedicated usage metric for transactions that replaces the duration metric. (#2571, #2589)
- Restore the profiling killswitch. (#2573)
- Add
scraping_attempts
field to the event schema. (#2575) - Move
condition.rs
fromrelay-sampling
torelay-protocol
. (#2608)