From fce64d693ae5be20c8bf2adfac3cb3a935300213 Mon Sep 17 00:00:00 2001 From: Joris Bayer Date: Thu, 12 Dec 2024 09:30:11 +0100 Subject: [PATCH 1/4] feat(limits): Add data category for attachment items --- relay-base-schema/src/data_category.rs | 2 ++ relay-cabi/include/relay.h | 25 ++++++++++++++----------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/relay-base-schema/src/data_category.rs b/relay-base-schema/src/data_category.rs index 44616f7d84..2314b67864 100644 --- a/relay-base-schema/src/data_category.rs +++ b/relay-base-schema/src/data_category.rs @@ -90,6 +90,8 @@ pub enum DataCategory { ReplayVideo = 20, /// This is the data category for Uptime monitors. Uptime = 21, + /// Counts the number of individual attachments, as opposed to the number of bytes in an attachment. + AttachmentItem = 22, // // IMPORTANT: After adding a new entry to DataCategory, go to the `relay-cabi` subfolder and run // `make header` to regenerate the C-binding. This allows using the data category from Python. diff --git a/relay-cabi/include/relay.h b/relay-cabi/include/relay.h index ddc3f007f7..bdeee11e2f 100644 --- a/relay-cabi/include/relay.h +++ b/relay-cabi/include/relay.h @@ -135,10 +135,13 @@ enum RelayDataCategory { */ RELAY_DATA_CATEGORY_REPLAY_VIDEO = 20, /** - * Uptime Monitor - * + * This is the data category for Uptime monitors. */ RELAY_DATA_CATEGORY_UPTIME = 21, + /** + * Counts the number of individual attachments, as opposed to the number of bytes in an attachment. + */ + RELAY_DATA_CATEGORY_ATTACHMENT_ITEM = 22, /** * Any other data category not known by this Relay. */ @@ -552,6 +555,15 @@ struct RelayStr relay_err_get_backtrace(void); */ void relay_err_clear(void); +/** + * Performs a glob operation on bytes. + * + * Returns `true` if the glob matches, `false` otherwise. + */ +bool relay_is_glob_match(const struct RelayBuf *value, + const struct RelayStr *pat, + GlobFlags flags); + /** * Chunks the given text based on remarks. */ @@ -627,15 +639,6 @@ struct RelayStr relay_pii_selector_suggestions_from_event(const struct RelayStr */ void relay_test_panic(void); -/** - * Performs a glob operation on bytes. - * - * Returns `true` if the glob matches, `false` otherwise. - */ -bool relay_is_glob_match(const struct RelayBuf *value, - const struct RelayStr *pat, - GlobFlags flags); - /** * Parse a sentry release structure from a string. */ From b02afe867534110d3f9d3a4d0fe4607532cc9006 Mon Sep 17 00:00:00 2001 From: Joris Bayer Date: Thu, 12 Dec 2024 09:31:55 +0100 Subject: [PATCH 2/4] str --- relay-base-schema/src/data_category.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/relay-base-schema/src/data_category.rs b/relay-base-schema/src/data_category.rs index 2314b67864..37720d5cd9 100644 --- a/relay-base-schema/src/data_category.rs +++ b/relay-base-schema/src/data_category.rs @@ -130,6 +130,7 @@ impl DataCategory { "metric_second" => Self::MetricSecond, "replay_video" => Self::ReplayVideo, "uptime" => Self::Uptime, + "attachment_item" => Self::AttachmentItem, _ => Self::Unknown, } } @@ -160,6 +161,7 @@ impl DataCategory { Self::MetricSecond => "metric_second", Self::ReplayVideo => "replay_video", Self::Uptime => "uptime", + Self::AttachmentItem => "attachment_item", Self::Unknown => "unknown", } } From 87cabbdd47bc8bd86f96877ac9a917ff92e121ba Mon Sep 17 00:00:00 2001 From: Joris Bayer Date: Thu, 12 Dec 2024 09:45:39 +0100 Subject: [PATCH 3/4] changelog --- CHANGELOG.md | 12 ++++++++++-- py/CHANGELOG.md | 4 ++-- relay-quotas/src/quota.rs | 3 ++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6af0fb8895..f1fab664b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## Unreleased + +**Bug Fixes**: + +- Stop collecting the `has_profile` metrics tag & reporting outcomes for it. ([#4365](https://github.com/getsentry/relay/pull/4365)) + +**Features**: + +- Add data categories for Uptime and Attachment Items. ([#4363](https://github.com/getsentry/relay/pull/4363), [#4374](https://github.com/getsentry/relay/pull/4374)) + ## 24.11.2 **Breaking Changes**: @@ -12,7 +22,6 @@ - Accept incoming requests even if there was an error fetching their project config. ([#4140](https://github.com/getsentry/relay/pull/4140)) - Rate limit profiles when transaction was sampled. ([#4195](https://github.com/getsentry/relay/pull/4195)) - Fix scrubbing user paths in minidump debug module names. ([#4351](https://github.com/getsentry/relay/pull/4351)) -- Stop collecting the `has_profile` metrics tag & reporting outcomes for it. ([#4365](https://github.com/getsentry/relay/pull/4365)) - Scrub user fields in span.sentry_tags. ([#4364](https://github.com/getsentry/relay/pull/4364)), ([#4370](https://github.com/getsentry/relay/pull/4370)) **Features**: @@ -22,7 +31,6 @@ **Internal**: -- Adds the UPTIME DataCategory ([#4363](https://github.com/getsentry/relay/pull/4363)) - Promote some `span.data` fields to the top level. ([#4298](https://github.com/getsentry/relay/pull/4298)) - Remove metrics summaries. ([#4278](https://github.com/getsentry/relay/pull/4278), [#4279](https://github.com/getsentry/relay/pull/4279), [#4296](https://github.com/getsentry/relay/pull/4296)) - Use async `redis` for `projectconfig`. ([#4284](https://github.com/getsentry/relay/pull/4284)) diff --git a/py/CHANGELOG.md b/py/CHANGELOG.md index 425e057025..260c6d280b 100644 --- a/py/CHANGELOG.md +++ b/py/CHANGELOG.md @@ -2,8 +2,8 @@ ## Unreleased -**Breaking Changes**: -- Flatten Linux distribution fields into `os.context`([#4292](https://github.com/getsentry/relay/pull/4292)) +- **Breaking**: Flatten Linux distribution fields into `os.context`([#4292](https://github.com/getsentry/relay/pull/4292)) +- Add data categories for Uptime and Attachment Items. ([#4363](https://github.com/getsentry/relay/pull/4363), [#4374](https://github.com/getsentry/relay/pull/4374)) ## 0.9.3 diff --git a/relay-quotas/src/quota.rs b/relay-quotas/src/quota.rs index c740a0ace8..50bb5a554b 100644 --- a/relay-quotas/src/quota.rs +++ b/relay-quotas/src/quota.rs @@ -198,7 +198,8 @@ impl CategoryUnit { | DataCategory::UserReportV2 | DataCategory::ProfileChunk | DataCategory::Uptime - | DataCategory::MetricSecond => Some(Self::Count), + | DataCategory::MetricSecond + | DataCategory::AttachmentItem => Some(Self::Count), DataCategory::Attachment => Some(Self::Bytes), DataCategory::Session => Some(Self::Batched), DataCategory::ProfileDuration => Some(Self::Milliseconds), From 34824eebb279760efae6975936b8af3c2b93d263 Mon Sep 17 00:00:00 2001 From: Joris Bayer Date: Thu, 12 Dec 2024 09:48:14 +0100 Subject: [PATCH 4/4] python --- py/sentry_relay/consts.py | 1 + 1 file changed, 1 insertion(+) diff --git a/py/sentry_relay/consts.py b/py/sentry_relay/consts.py index 4b7ffbe0bd..ceac094305 100644 --- a/py/sentry_relay/consts.py +++ b/py/sentry_relay/consts.py @@ -31,6 +31,7 @@ class DataCategory(IntEnum): METRIC_SECOND = 19 REPLAY_VIDEO = 20 UPTIME = 21 + ATTACHMENT_ITEM = 22 UNKNOWN = -1 # end generated