diff --git a/javascript/sentry-conventions/src/attributes.ts b/javascript/sentry-conventions/src/attributes.ts index 5d1e238e..ae381de2 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -4246,6 +4246,24 @@ export const FRAMES_FROZEN = 'frames.frozen'; */ export type FRAMES_FROZEN_TYPE = number; +// Path: model/attributes/frames_frozen_rate.json + +/** + * The rate of frozen frames, or `app_vitals.frames.frozen.count` divided by `app_vitals.frames.total.count`. This is computed by Relay. `frames_frozen_rate` + * + * Attribute Value Type: `number` {@link FRAMES_FROZEN_RATE_TYPE} + * + * Contains PII: maybe + * + * Attribute defined in OTEL: No + */ +export const FRAMES_FROZEN_RATE = 'frames_frozen_rate'; + +/** + * Type for {@link FRAMES_FROZEN_RATE} frames_frozen_rate + */ +export type FRAMES_FROZEN_RATE_TYPE = number; + // Path: model/attributes/frames/frames__slow.json /** @@ -4269,6 +4287,24 @@ export const FRAMES_SLOW = 'frames.slow'; */ export type FRAMES_SLOW_TYPE = number; +// Path: model/attributes/frames_slow_rate.json + +/** + * The rate of slow frames, or `app_vitals.frames.slow.count` divided by `app_vitals.frames.total.count`. This is computed by Relay. `frames_slow_rate` + * + * Attribute Value Type: `number` {@link FRAMES_SLOW_RATE_TYPE} + * + * Contains PII: maybe + * + * Attribute defined in OTEL: No + */ +export const FRAMES_SLOW_RATE = 'frames_slow_rate'; + +/** + * Type for {@link FRAMES_SLOW_RATE} frames_slow_rate + */ +export type FRAMES_SLOW_RATE_TYPE = number; + // Path: model/attributes/frames/frames__total.json /** @@ -10806,6 +10842,42 @@ export const SERVICE_VERSION = 'service.version'; */ export type SERVICE_VERSION_TYPE = string; +// Path: model/attributes/stall_percentage.json + +/** + * The fraction of time the app was stalled. Only applies to React Native. This is computed by Relay. `stall_percentage` + * + * Attribute Value Type: `number` {@link STALL_PERCENTAGE_TYPE} + * + * Contains PII: maybe + * + * Attribute defined in OTEL: No + */ +export const STALL_PERCENTAGE = 'stall_percentage'; + +/** + * Type for {@link STALL_PERCENTAGE} stall_percentage + */ +export type STALL_PERCENTAGE_TYPE = number; + +// Path: model/attributes/stall_total_time.json + +/** + * The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay. `stall_total_time` + * + * Attribute Value Type: `number` {@link STALL_TOTAL_TIME_TYPE} + * + * Contains PII: maybe + * + * Attribute defined in OTEL: No + */ +export const STALL_TOTAL_TIME = 'stall_total_time'; + +/** + * Type for {@link STALL_TOTAL_TIME} stall_total_time + */ +export type STALL_TOTAL_TIME_TYPE = number; + // Path: model/attributes/state/state__type.json /** @@ -12736,7 +12808,9 @@ export const ATTRIBUTE_TYPE: Record = { [FP]: 'double', [FRAMES_DELAY]: 'integer', [FRAMES_FROZEN]: 'integer', + [FRAMES_FROZEN_RATE]: 'double', [FRAMES_SLOW]: 'integer', + [FRAMES_SLOW_RATE]: 'double', [FRAMES_TOTAL]: 'integer', [FS_ERROR]: 'string', [GCP_FUNCTION_CONTEXT_EVENT_ID]: 'string', @@ -13050,6 +13124,8 @@ export const ATTRIBUTE_TYPE: Record = { [SERVER_PORT]: 'integer', [SERVICE_NAME]: 'string', [SERVICE_VERSION]: 'string', + [STALL_PERCENTAGE]: 'double', + [STALL_TOTAL_TIME]: 'double', [STATE_TYPE]: 'string', [THREAD_ID]: 'integer', [THREAD_NAME]: 'string', @@ -13335,7 +13411,9 @@ export type AttributeName = | typeof FP | typeof FRAMES_DELAY | typeof FRAMES_FROZEN + | typeof FRAMES_FROZEN_RATE | typeof FRAMES_SLOW + | typeof FRAMES_SLOW_RATE | typeof FRAMES_TOTAL | typeof FS_ERROR | typeof GCP_FUNCTION_CONTEXT_EVENT_ID @@ -13649,6 +13727,8 @@ export type AttributeName = | typeof SERVER_PORT | typeof SERVICE_NAME | typeof SERVICE_VERSION + | typeof STALL_PERCENTAGE + | typeof STALL_TOTAL_TIME | typeof STATE_TYPE | typeof THREAD_ID | typeof THREAD_NAME @@ -16287,6 +16367,16 @@ export const ATTRIBUTE_METADATA: Record = { { version: '0.0.0' }, ], }, + [FRAMES_FROZEN_RATE]: { + brief: + 'The rate of frozen frames, or `app_vitals.frames.frozen.count` divided by `app_vitals.frames.total.count`. This is computed by Relay.', + type: 'double', + pii: { + isPii: 'maybe', + }, + isInOtel: false, + changelog: [{ version: 'next', prs: [362], description: 'Added frames_frozen_rate attribute' }], + }, [FRAMES_SLOW]: { brief: 'The number of slow frames rendered during the lifetime of the span.', type: 'integer', @@ -16307,6 +16397,16 @@ export const ATTRIBUTE_METADATA: Record = { { version: '0.0.0' }, ], }, + [FRAMES_SLOW_RATE]: { + brief: + 'The rate of slow frames, or `app_vitals.frames.slow.count` divided by `app_vitals.frames.total.count`. This is computed by Relay.', + type: 'double', + pii: { + isPii: 'maybe', + }, + isInOtel: false, + changelog: [{ version: 'next', prs: [362], description: 'Added frames_slow_rate attribute' }], + }, [FRAMES_TOTAL]: { brief: 'The number of total frames rendered during the lifetime of the span.', type: 'integer', @@ -20094,6 +20194,25 @@ export const ATTRIBUTE_METADATA: Record = { aliases: [SENTRY_RELEASE], changelog: [{ version: '0.1.0', prs: [127] }, { version: '0.0.0' }], }, + [STALL_PERCENTAGE]: { + brief: 'The fraction of time the app was stalled. Only applies to React Native. This is computed by Relay.', + type: 'double', + pii: { + isPii: 'maybe', + }, + isInOtel: false, + changelog: [{ version: 'next', prs: [362], description: 'Added stall_percentage attribute' }], + }, + [STALL_TOTAL_TIME]: { + brief: + 'The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay.', + type: 'double', + pii: { + isPii: 'maybe', + }, + isInOtel: false, + changelog: [{ version: 'next', prs: [362], description: 'Added stall_total_time attribute' }], + }, [STATE_TYPE]: { brief: 'The type of state management library', type: 'string', @@ -21203,7 +21322,9 @@ export type Attributes = { [FP]?: FP_TYPE; [FRAMES_DELAY]?: FRAMES_DELAY_TYPE; [FRAMES_FROZEN]?: FRAMES_FROZEN_TYPE; + [FRAMES_FROZEN_RATE]?: FRAMES_FROZEN_RATE_TYPE; [FRAMES_SLOW]?: FRAMES_SLOW_TYPE; + [FRAMES_SLOW_RATE]?: FRAMES_SLOW_RATE_TYPE; [FRAMES_TOTAL]?: FRAMES_TOTAL_TYPE; [FS_ERROR]?: FS_ERROR_TYPE; [GCP_FUNCTION_CONTEXT_EVENT_ID]?: GCP_FUNCTION_CONTEXT_EVENT_ID_TYPE; @@ -21517,6 +21638,8 @@ export type Attributes = { [SERVER_PORT]?: SERVER_PORT_TYPE; [SERVICE_NAME]?: SERVICE_NAME_TYPE; [SERVICE_VERSION]?: SERVICE_VERSION_TYPE; + [STALL_PERCENTAGE]?: STALL_PERCENTAGE_TYPE; + [STALL_TOTAL_TIME]?: STALL_TOTAL_TIME_TYPE; [STATE_TYPE]?: STATE_TYPE_TYPE; [THREAD_ID]?: THREAD_ID_TYPE; [THREAD_NAME]?: THREAD_NAME_TYPE; diff --git a/model/attributes/frames_frozen_rate.json b/model/attributes/frames_frozen_rate.json new file mode 100644 index 00000000..1cb1aacb --- /dev/null +++ b/model/attributes/frames_frozen_rate.json @@ -0,0 +1,16 @@ +{ + "key": "frames_frozen_rate", + "brief": "The rate of frozen frames, or `app_vitals.frames.frozen.count` divided by `app_vitals.frames.total.count`. This is computed by Relay.", + "type": "double", + "pii": { + "key": "maybe" + }, + "is_in_otel": false, + "changelog": [ + { + "version": "next", + "prs": [362], + "description": "Added frames_frozen_rate attribute" + } + ] +} diff --git a/model/attributes/frames_slow_rate.json b/model/attributes/frames_slow_rate.json new file mode 100644 index 00000000..1819048c --- /dev/null +++ b/model/attributes/frames_slow_rate.json @@ -0,0 +1,16 @@ +{ + "key": "frames_slow_rate", + "brief": "The rate of slow frames, or `app_vitals.frames.slow.count` divided by `app_vitals.frames.total.count`. This is computed by Relay.", + "type": "double", + "pii": { + "key": "maybe" + }, + "is_in_otel": false, + "changelog": [ + { + "version": "next", + "prs": [362], + "description": "Added frames_slow_rate attribute" + } + ] +} diff --git a/model/attributes/stall_percentage.json b/model/attributes/stall_percentage.json new file mode 100644 index 00000000..a7eeb998 --- /dev/null +++ b/model/attributes/stall_percentage.json @@ -0,0 +1,16 @@ +{ + "key": "stall_percentage", + "brief": "The fraction of time the app was stalled. Only applies to React Native. This is computed by Relay.", + "type": "double", + "pii": { + "key": "maybe" + }, + "is_in_otel": false, + "changelog": [ + { + "version": "next", + "prs": [362], + "description": "Added stall_percentage attribute" + } + ] +} diff --git a/model/attributes/stall_total_time.json b/model/attributes/stall_total_time.json new file mode 100644 index 00000000..548fafe2 --- /dev/null +++ b/model/attributes/stall_total_time.json @@ -0,0 +1,16 @@ +{ + "key": "stall_total_time", + "brief": "The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay.", + "type": "double", + "pii": { + "key": "maybe" + }, + "is_in_otel": false, + "changelog": [ + { + "version": "next", + "prs": [362], + "description": "Added stall_total_time attribute" + } + ] +} diff --git a/python/src/sentry_conventions/attributes.py b/python/src/sentry_conventions/attributes.py index 36699934..731b721d 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -2535,6 +2535,24 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): Example: 60 """ + # Path: model/attributes/frames_frozen_rate.json + FRAMES_FROZEN_RATE: Literal["frames_frozen_rate"] = "frames_frozen_rate" + """The rate of frozen frames, or `app_vitals.frames.frozen.count` divided by `app_vitals.frames.total.count`. This is computed by Relay. + + Type: float + Contains PII: maybe + Defined in OTEL: No + """ + + # Path: model/attributes/frames_slow_rate.json + FRAMES_SLOW_RATE: Literal["frames_slow_rate"] = "frames_slow_rate" + """The rate of slow frames, or `app_vitals.frames.slow.count` divided by `app_vitals.frames.total.count`. This is computed by Relay. + + Type: float + Contains PII: maybe + Defined in OTEL: No + """ + # Path: model/attributes/fs_error.json FS_ERROR: Literal["fs_error"] = "fs_error" """The error message of a file system error. @@ -6054,6 +6072,24 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): Example: "5.0.0" """ + # Path: model/attributes/stall_percentage.json + STALL_PERCENTAGE: Literal["stall_percentage"] = "stall_percentage" + """The fraction of time the app was stalled. Only applies to React Native. This is computed by Relay. + + Type: float + Contains PII: maybe + Defined in OTEL: No + """ + + # Path: model/attributes/stall_total_time.json + STALL_TOTAL_TIME: Literal["stall_total_time"] = "stall_total_time" + """The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay. + + Type: float + Contains PII: maybe + Defined in OTEL: No + """ + # Path: model/attributes/state/state__type.json STATE_TYPE: Literal["state.type"] = "state.type" """The type of state management library @@ -9854,6 +9890,32 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.0.0"), ], ), + "frames_frozen_rate": AttributeMetadata( + brief="The rate of frozen frames, or `app_vitals.frames.frozen.count` divided by `app_vitals.frames.total.count`. This is computed by Relay.", + type=AttributeType.DOUBLE, + pii=PiiInfo(isPii=IsPii.MAYBE), + is_in_otel=False, + changelog=[ + ChangelogEntry( + version="next", + prs=[362], + description="Added frames_frozen_rate attribute", + ), + ], + ), + "frames_slow_rate": AttributeMetadata( + brief="The rate of slow frames, or `app_vitals.frames.slow.count` divided by `app_vitals.frames.total.count`. This is computed by Relay.", + type=AttributeType.DOUBLE, + pii=PiiInfo(isPii=IsPii.MAYBE), + is_in_otel=False, + changelog=[ + ChangelogEntry( + version="next", + prs=[362], + description="Added frames_slow_rate attribute", + ), + ], + ), "fs_error": AttributeMetadata( brief="The error message of a file system error.", type=AttributeType.STRING, @@ -13691,6 +13753,32 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.0.0"), ], ), + "stall_percentage": AttributeMetadata( + brief="The fraction of time the app was stalled. Only applies to React Native. This is computed by Relay.", + type=AttributeType.DOUBLE, + pii=PiiInfo(isPii=IsPii.MAYBE), + is_in_otel=False, + changelog=[ + ChangelogEntry( + version="next", + prs=[362], + description="Added stall_percentage attribute", + ), + ], + ), + "stall_total_time": AttributeMetadata( + brief="The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay.", + type=AttributeType.DOUBLE, + pii=PiiInfo(isPii=IsPii.MAYBE), + is_in_otel=False, + changelog=[ + ChangelogEntry( + version="next", + prs=[362], + description="Added stall_total_time attribute", + ), + ], + ), "state.type": AttributeMetadata( brief="The type of state management library", type=AttributeType.STRING, @@ -14859,6 +14947,8 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "frames.frozen": int, "frames.slow": int, "frames.total": int, + "frames_frozen_rate": float, + "frames_slow_rate": float, "fs_error": str, "gcp.function.context.event_id": str, "gcp.function.context.event_type": str, @@ -15171,6 +15261,8 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "server.port": int, "service.name": str, "service.version": str, + "stall_percentage": float, + "stall_total_time": float, "state.type": str, "thread.id": int, "thread.name": str,