diff --git a/CHANGELOG.md b/CHANGELOG.md index a807e74eaa7..72def3d45c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ **Internal**: +- Add ui chunk profiling data category. ([#4593](https://github.com/getsentry/relay/pull/4593)) - Switch global rate limiter to a service. ([#4581](https://github.com/getsentry/relay/pull/4581)) ## 25.3.0 diff --git a/py/CHANGELOG.md b/py/CHANGELOG.md index 26392906b61..38482e8ce8d 100644 --- a/py/CHANGELOG.md +++ b/py/CHANGELOG.md @@ -4,6 +4,7 @@ - Remove unused capability to block metric names and tags. ([#4536](https://github.com/getsentry/relay/pull/4536)) - Deprecate ReplayVideo data category ([#4560](https://github.com/getsentry/relay/pull/4560)) +- Add ui chunk profiling data category. ([#4593](https://github.com/getsentry/relay/pull/4593)) ## 0.9.6 diff --git a/py/sentry_relay/consts.py b/py/sentry_relay/consts.py index 808eb28e19d..c2c9c74df7f 100644 --- a/py/sentry_relay/consts.py +++ b/py/sentry_relay/consts.py @@ -35,6 +35,7 @@ class DataCategory(IntEnum): LOG_ITEM = 23 LOG_BYTE = 24 PROFILE_DURATION_UI = 25 + PROFILE_CHUNK_UI = 26 UNKNOWN = -1 # end generated diff --git a/relay-base-schema/src/data_category.rs b/relay-base-schema/src/data_category.rs index 82e908c9e78..1d29704d1ba 100644 --- a/relay-base-schema/src/data_category.rs +++ b/relay-base-schema/src/data_category.rs @@ -101,11 +101,20 @@ pub enum DataCategory { /// /// This is the category for logs for which we store log event total bytes for users. LogByte = 24, - /// ProfileDurationUi + /// Profile duration of a UI profile. /// /// This data category is used to count the number of milliseconds per indexed UI profile /// chunk. + /// + /// See also: [`Self::ProfileDuration`] ProfileDurationUi = 25, + /// UI Profile Chunk. + /// + /// This data category is used to count the number of milliseconds per indexed UI profile + /// chunk. + /// + /// See also: [`Self::ProfileChunk`] + ProfileChunkUi = 26, // // IMPORTANT: After adding a new entry to DataCategory, go to the `relay-cabi` subfolder and run @@ -145,6 +154,7 @@ impl DataCategory { "profile_duration" => Self::ProfileDuration, "profile_duration_ui" => Self::ProfileDurationUi, "profile_chunk" => Self::ProfileChunk, + "profile_chunk_ui" => Self::ProfileChunkUi, "metric_second" => Self::MetricSecond, "replay_video" => Self::DoNotUseReplayVideo, "uptime" => Self::Uptime, @@ -180,6 +190,7 @@ impl DataCategory { Self::ProfileDuration => "profile_duration", Self::ProfileDurationUi => "profile_duration_ui", Self::ProfileChunk => "profile_chunk", + Self::ProfileChunkUi => "profile_chunk_ui", Self::MetricSecond => "metric_second", Self::Uptime => "uptime", Self::AttachmentItem => "attachment_item", diff --git a/relay-cabi/include/relay.h b/relay-cabi/include/relay.h index f31cac907eb..7cdc2511bc0 100644 --- a/relay-cabi/include/relay.h +++ b/relay-cabi/include/relay.h @@ -156,12 +156,23 @@ enum RelayDataCategory { */ RELAY_DATA_CATEGORY_LOG_BYTE = 24, /** - * ProfileDurationUi + * Profile duration of a UI profile. * * This data category is used to count the number of milliseconds per indexed UI profile * chunk. + * + * See also: [`Self::ProfileDuration`] */ RELAY_DATA_CATEGORY_PROFILE_DURATION_UI = 25, + /** + * UI Profile Chunk. + * + * This data category is used to count the number of milliseconds per indexed UI profile + * chunk. + * + * See also: [`Self::ProfileChunk`] + */ + RELAY_DATA_CATEGORY_PROFILE_CHUNK_UI = 26, /** * Any other data category not known by this Relay. */ diff --git a/relay-quotas/src/quota.rs b/relay-quotas/src/quota.rs index 9af263fa2ef..9ab24ba31d1 100644 --- a/relay-quotas/src/quota.rs +++ b/relay-quotas/src/quota.rs @@ -207,6 +207,7 @@ impl CategoryUnit { | DataCategory::MetricBucket | DataCategory::UserReportV2 | DataCategory::ProfileChunk + | DataCategory::ProfileChunkUi | DataCategory::Uptime | DataCategory::MetricSecond | DataCategory::AttachmentItem