From ac2b6df812815a0392f6432a0f07a33faced26a1 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Mon, 20 Jul 2026 14:55:09 -0400 Subject: [PATCH 1/3] feat(attributes): Add browser.bfcache.* attributes Registers the four attributes emitted by the new bfcacheMetricsIntegration in the JS SDK: browser.bfcache.outcome, browser.bfcache.reason, browser.bfcache.frame, and browser.bfcache.not_restored_reason_count. All are Sentry-specific (not in OTel). --- .../sentry-conventions/src/attributes.ts | 157 ++++++++++++++++++ .../browser/browser__bfcache__frame.json | 18 ++ ...r__bfcache__not_restored_reason_count.json | 18 ++ .../browser/browser__bfcache__outcome.json | 18 ++ .../browser/browser__bfcache__reason.json | 18 ++ python/src/sentry_conventions/attributes.py | 128 ++++++++++++++ 6 files changed, 357 insertions(+) create mode 100644 model/attributes/browser/browser__bfcache__frame.json create mode 100644 model/attributes/browser/browser__bfcache__not_restored_reason_count.json create mode 100644 model/attributes/browser/browser__bfcache__outcome.json create mode 100644 model/attributes/browser/browser__bfcache__reason.json diff --git a/javascript/sentry-conventions/src/attributes.ts b/javascript/sentry-conventions/src/attributes.ts index 75fc814c..4a1d64ac 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -2898,6 +2898,97 @@ export const BLOCKED_MAIN_THREAD = 'blocked_main_thread'; */ export type BLOCKED_MAIN_THREAD_TYPE = boolean; +// Path: model/attributes/browser/browser__bfcache__frame.json + +/** + * Which frame a back/forward cache not-restored reason originated from. 'masked' indicates a cross-origin subframe whose specific reason is hidden by the browser. `browser.bfcache.frame` + * + * Attribute Value Type: `string` {@link BROWSER_BFCACHE_FRAME_TYPE} + * + * Apply Scrubbing: never + * + * Attribute defined in OTEL: No + * Visibility: public + * + * @example "top" + * @example "child" + * @example "masked" + * @example "unknown" + */ +export const BROWSER_BFCACHE_FRAME = 'browser.bfcache.frame'; + +/** + * Type for {@link BROWSER_BFCACHE_FRAME} browser.bfcache.frame + */ +export type BROWSER_BFCACHE_FRAME_TYPE = string; + +// Path: model/attributes/browser/browser__bfcache__not_restored_reason_count.json + +/** + * The number of reported reasons a page was not restored from the back/forward cache on a back/forward navigation. 0 when the browser reported no reasons (e.g. non-Chromium browsers). `browser.bfcache.not_restored_reason_count` + * + * Attribute Value Type: `number` {@link BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT_TYPE} + * + * Apply Scrubbing: never + * + * Attribute defined in OTEL: No + * Visibility: public + * + * @example 2 + */ +export const BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT = 'browser.bfcache.not_restored_reason_count'; + +/** + * Type for {@link BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT} browser.bfcache.not_restored_reason_count + */ +export type BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT_TYPE = number; + +// Path: model/attributes/browser/browser__bfcache__outcome.json + +/** + * Whether a back/forward navigation was restored from the browser's back/forward cache (bfcache). 'hit' means the page was restored; 'miss' means it was reloaded. `browser.bfcache.outcome` + * + * Attribute Value Type: `string` {@link BROWSER_BFCACHE_OUTCOME_TYPE} + * + * Apply Scrubbing: never + * + * Attribute defined in OTEL: No + * Visibility: public + * + * @example "hit" + * @example "miss" + */ +export const BROWSER_BFCACHE_OUTCOME = 'browser.bfcache.outcome'; + +/** + * Type for {@link BROWSER_BFCACHE_OUTCOME} browser.bfcache.outcome + */ +export type BROWSER_BFCACHE_OUTCOME_TYPE = string; + +// Path: model/attributes/browser/browser__bfcache__reason.json + +/** + * A browser-reported reason a page was not restored from the back/forward cache on a back/forward navigation, taken from the notRestoredReasons API. Reported per reason (a single miss can have several). Currently Chromium-only. `browser.bfcache.reason` + * + * Attribute Value Type: `string` {@link BROWSER_BFCACHE_REASON_TYPE} + * + * Apply Scrubbing: never + * + * Attribute defined in OTEL: No + * Visibility: public + * + * @example "unload-listener" + * @example "websocket" + * @example "idbversionchangeevent" + * @example "response-cache-control-no-store" + */ +export const BROWSER_BFCACHE_REASON = 'browser.bfcache.reason'; + +/** + * Type for {@link BROWSER_BFCACHE_REASON} browser.bfcache.reason + */ +export type BROWSER_BFCACHE_REASON_TYPE = string; + // Path: model/attributes/browser/browser__name.json /** @@ -17604,6 +17695,10 @@ export const ATTRIBUTE_TYPE: Record = { 'aws.step_functions.activity.arn': 'string', 'aws.step_functions.state_machine.arn': 'string', blocked_main_thread: 'boolean', + 'browser.bfcache.frame': 'string', + 'browser.bfcache.not_restored_reason_count': 'integer', + 'browser.bfcache.outcome': 'string', + 'browser.bfcache.reason': 'string', 'browser.name': 'string', 'browser.performance.navigation.activation_start': 'double', 'browser.performance.time_origin': 'double', @@ -18390,6 +18485,10 @@ export type AttributeName = | typeof AWS_STEP_FUNCTIONS_ACTIVITY_ARN | typeof AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN | typeof BLOCKED_MAIN_THREAD + | typeof BROWSER_BFCACHE_FRAME + | typeof BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT + | typeof BROWSER_BFCACHE_OUTCOME + | typeof BROWSER_BFCACHE_REASON | typeof BROWSER_NAME | typeof BROWSER_PERFORMANCE_NAVIGATION_ACTIVATION_START | typeof BROWSER_PERFORMANCE_TIME_ORIGIN @@ -20928,6 +21027,60 @@ export const ATTRIBUTE_METADATA: Record = { example: true, changelog: [{ version: '0.0.0' }], }, + 'browser.bfcache.frame': { + brief: + "Which frame a back/forward cache not-restored reason originated from. 'masked' indicates a cross-origin subframe whose specific reason is hidden by the browser.", + type: 'string', + applyScrubbing: { + key: 'never', + }, + isInOtel: false, + visibility: 'public', + example: 'top', + examples: ['top', 'child', 'masked', 'unknown'], + changelog: [{ version: 'next', prs: [513], description: 'Added browser.bfcache.frame attribute' }], + }, + 'browser.bfcache.not_restored_reason_count': { + brief: + 'The number of reported reasons a page was not restored from the back/forward cache on a back/forward navigation. 0 when the browser reported no reasons (e.g. non-Chromium browsers).', + type: 'integer', + applyScrubbing: { + key: 'never', + }, + isInOtel: false, + visibility: 'public', + example: 2, + examples: [2], + changelog: [ + { version: 'next', prs: [513], description: 'Added browser.bfcache.not_restored_reason_count attribute' }, + ], + }, + 'browser.bfcache.outcome': { + brief: + "Whether a back/forward navigation was restored from the browser's back/forward cache (bfcache). 'hit' means the page was restored; 'miss' means it was reloaded.", + type: 'string', + applyScrubbing: { + key: 'never', + }, + isInOtel: false, + visibility: 'public', + example: 'hit', + examples: ['hit', 'miss'], + changelog: [{ version: 'next', prs: [513], description: 'Added browser.bfcache.outcome attribute' }], + }, + 'browser.bfcache.reason': { + brief: + 'A browser-reported reason a page was not restored from the back/forward cache on a back/forward navigation, taken from the notRestoredReasons API. Reported per reason (a single miss can have several). Currently Chromium-only.', + type: 'string', + applyScrubbing: { + key: 'never', + }, + isInOtel: false, + visibility: 'public', + example: 'unload-listener', + examples: ['unload-listener', 'websocket', 'idbversionchangeevent', 'response-cache-control-no-store'], + changelog: [{ version: 'next', prs: [513], description: 'Added browser.bfcache.reason attribute' }], + }, 'browser.name': { brief: 'The name of the browser.', type: 'string', @@ -30074,6 +30227,10 @@ export type Attributes = { [AWS_STEP_FUNCTIONS_ACTIVITY_ARN]?: AWS_STEP_FUNCTIONS_ACTIVITY_ARN_TYPE; [AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN]?: AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN_TYPE; [BLOCKED_MAIN_THREAD]?: BLOCKED_MAIN_THREAD_TYPE; + [BROWSER_BFCACHE_FRAME]?: BROWSER_BFCACHE_FRAME_TYPE; + [BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT]?: BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT_TYPE; + [BROWSER_BFCACHE_OUTCOME]?: BROWSER_BFCACHE_OUTCOME_TYPE; + [BROWSER_BFCACHE_REASON]?: BROWSER_BFCACHE_REASON_TYPE; [BROWSER_NAME]?: BROWSER_NAME_TYPE; [BROWSER_PERFORMANCE_NAVIGATION_ACTIVATION_START]?: BROWSER_PERFORMANCE_NAVIGATION_ACTIVATION_START_TYPE; [BROWSER_PERFORMANCE_TIME_ORIGIN]?: BROWSER_PERFORMANCE_TIME_ORIGIN_TYPE; diff --git a/model/attributes/browser/browser__bfcache__frame.json b/model/attributes/browser/browser__bfcache__frame.json new file mode 100644 index 00000000..0dab74d1 --- /dev/null +++ b/model/attributes/browser/browser__bfcache__frame.json @@ -0,0 +1,18 @@ +{ + "key": "browser.bfcache.frame", + "brief": "Which frame a back/forward cache not-restored reason originated from. 'masked' indicates a cross-origin subframe whose specific reason is hidden by the browser.", + "type": "string", + "apply_scrubbing": { + "key": "never" + }, + "is_in_otel": false, + "visibility": "public", + "examples": ["top", "child", "masked", "unknown"], + "changelog": [ + { + "version": "next", + "prs": [513], + "description": "Added browser.bfcache.frame attribute" + } + ] +} diff --git a/model/attributes/browser/browser__bfcache__not_restored_reason_count.json b/model/attributes/browser/browser__bfcache__not_restored_reason_count.json new file mode 100644 index 00000000..77eee14b --- /dev/null +++ b/model/attributes/browser/browser__bfcache__not_restored_reason_count.json @@ -0,0 +1,18 @@ +{ + "key": "browser.bfcache.not_restored_reason_count", + "brief": "The number of reported reasons a page was not restored from the back/forward cache on a back/forward navigation. 0 when the browser reported no reasons (e.g. non-Chromium browsers).", + "type": "integer", + "apply_scrubbing": { + "key": "never" + }, + "is_in_otel": false, + "visibility": "public", + "examples": [2], + "changelog": [ + { + "version": "next", + "prs": [513], + "description": "Added browser.bfcache.not_restored_reason_count attribute" + } + ] +} diff --git a/model/attributes/browser/browser__bfcache__outcome.json b/model/attributes/browser/browser__bfcache__outcome.json new file mode 100644 index 00000000..1f931b8d --- /dev/null +++ b/model/attributes/browser/browser__bfcache__outcome.json @@ -0,0 +1,18 @@ +{ + "key": "browser.bfcache.outcome", + "brief": "Whether a back/forward navigation was restored from the browser's back/forward cache (bfcache). 'hit' means the page was restored; 'miss' means it was reloaded.", + "type": "string", + "apply_scrubbing": { + "key": "never" + }, + "is_in_otel": false, + "visibility": "public", + "examples": ["hit", "miss"], + "changelog": [ + { + "version": "next", + "prs": [513], + "description": "Added browser.bfcache.outcome attribute" + } + ] +} diff --git a/model/attributes/browser/browser__bfcache__reason.json b/model/attributes/browser/browser__bfcache__reason.json new file mode 100644 index 00000000..4c9717d9 --- /dev/null +++ b/model/attributes/browser/browser__bfcache__reason.json @@ -0,0 +1,18 @@ +{ + "key": "browser.bfcache.reason", + "brief": "A browser-reported reason a page was not restored from the back/forward cache on a back/forward navigation, taken from the notRestoredReasons API. Reported per reason (a single miss can have several). Currently Chromium-only.", + "type": "string", + "apply_scrubbing": { + "key": "never" + }, + "is_in_otel": false, + "visibility": "public", + "examples": ["unload-listener", "websocket", "idbversionchangeevent", "response-cache-control-no-store"], + "changelog": [ + { + "version": "next", + "prs": [513], + "description": "Added browser.bfcache.reason attribute" + } + ] +} diff --git a/python/src/sentry_conventions/attributes.py b/python/src/sentry_conventions/attributes.py index 826ad888..b4c3d297 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -1988,6 +1988,61 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): Example: true """ + # Path: model/attributes/browser/browser__bfcache__frame.json + BROWSER_BFCACHE_FRAME: Literal["browser.bfcache.frame"] = "browser.bfcache.frame" + """Which frame a back/forward cache not-restored reason originated from. 'masked' indicates a cross-origin subframe whose specific reason is hidden by the browser. + + Type: str + Apply Scrubbing: never + Defined in OTEL: No + Visibility: public + Example: "top" + Example: "child" + Example: "masked" + Example: "unknown" + """ + + # Path: model/attributes/browser/browser__bfcache__not_restored_reason_count.json + BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT: Literal[ + "browser.bfcache.not_restored_reason_count" + ] = "browser.bfcache.not_restored_reason_count" + """The number of reported reasons a page was not restored from the back/forward cache on a back/forward navigation. 0 when the browser reported no reasons (e.g. non-Chromium browsers). + + Type: int + Apply Scrubbing: never + Defined in OTEL: No + Visibility: public + Example: 2 + """ + + # Path: model/attributes/browser/browser__bfcache__outcome.json + BROWSER_BFCACHE_OUTCOME: Literal["browser.bfcache.outcome"] = ( + "browser.bfcache.outcome" + ) + """Whether a back/forward navigation was restored from the browser's back/forward cache (bfcache). 'hit' means the page was restored; 'miss' means it was reloaded. + + Type: str + Apply Scrubbing: never + Defined in OTEL: No + Visibility: public + Example: "hit" + Example: "miss" + """ + + # Path: model/attributes/browser/browser__bfcache__reason.json + BROWSER_BFCACHE_REASON: Literal["browser.bfcache.reason"] = "browser.bfcache.reason" + """A browser-reported reason a page was not restored from the back/forward cache on a back/forward navigation, taken from the notRestoredReasons API. Reported per reason (a single miss can have several). Currently Chromium-only. + + Type: str + Apply Scrubbing: never + Defined in OTEL: No + Visibility: public + Example: "unload-listener" + Example: "websocket" + Example: "idbversionchangeevent" + Example: "response-cache-control-no-store" + """ + # Path: model/attributes/browser/browser__name.json BROWSER_NAME: Literal["browser.name"] = "browser.name" """The name of the browser. @@ -12155,6 +12210,75 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.0.0"), ], ), + "browser.bfcache.frame": AttributeMetadata( + brief="Which frame a back/forward cache not-restored reason originated from. 'masked' indicates a cross-origin subframe whose specific reason is hidden by the browser.", + type=AttributeType.STRING, + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + is_in_otel=False, + visibility=Visibility.PUBLIC, + example="top", + examples=["top", "child", "masked", "unknown"], + changelog=[ + ChangelogEntry( + version="next", + prs=[513], + description="Added browser.bfcache.frame attribute", + ), + ], + ), + "browser.bfcache.not_restored_reason_count": AttributeMetadata( + brief="The number of reported reasons a page was not restored from the back/forward cache on a back/forward navigation. 0 when the browser reported no reasons (e.g. non-Chromium browsers).", + type=AttributeType.INTEGER, + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + is_in_otel=False, + visibility=Visibility.PUBLIC, + example=2, + examples=[2], + changelog=[ + ChangelogEntry( + version="next", + prs=[513], + description="Added browser.bfcache.not_restored_reason_count attribute", + ), + ], + ), + "browser.bfcache.outcome": AttributeMetadata( + brief="Whether a back/forward navigation was restored from the browser's back/forward cache (bfcache). 'hit' means the page was restored; 'miss' means it was reloaded.", + type=AttributeType.STRING, + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + is_in_otel=False, + visibility=Visibility.PUBLIC, + example="hit", + examples=["hit", "miss"], + changelog=[ + ChangelogEntry( + version="next", + prs=[513], + description="Added browser.bfcache.outcome attribute", + ), + ], + ), + "browser.bfcache.reason": AttributeMetadata( + brief="A browser-reported reason a page was not restored from the back/forward cache on a back/forward navigation, taken from the notRestoredReasons API. Reported per reason (a single miss can have several). Currently Chromium-only.", + type=AttributeType.STRING, + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + is_in_otel=False, + visibility=Visibility.PUBLIC, + example="unload-listener", + examples=[ + "unload-listener", + "websocket", + "idbversionchangeevent", + "response-cache-control-no-store", + ], + changelog=[ + ChangelogEntry( + version="next", + prs=[513], + description="Added browser.bfcache.reason attribute", + ), + ], + ), "browser.name": AttributeMetadata( brief="The name of the browser.", type=AttributeType.STRING, @@ -21860,6 +21984,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "aws.step_functions.state_machine.arn": str, "aws_region": str, "blocked_main_thread": bool, + "browser.bfcache.frame": str, + "browser.bfcache.not_restored_reason_count": int, + "browser.bfcache.outcome": str, + "browser.bfcache.reason": str, "browser.name": str, "browser.performance.navigation.activation_start": float, "browser.performance.time_origin": float, From d5571316e5f82c495e1bdcd88253c4a937178412 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Mon, 20 Jul 2026 15:26:50 -0400 Subject: [PATCH 2/3] feat(attributes): Narrow browser.bfcache.frame to top/child The SDK frames reasons purely by position; 'masked' is a reason value, not a frame, so drop it (and 'unknown') from the frame attribute. --- javascript/sentry-conventions/src/attributes.ts | 8 +++----- model/attributes/browser/browser__bfcache__frame.json | 4 ++-- python/src/sentry_conventions/attributes.py | 8 +++----- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/javascript/sentry-conventions/src/attributes.ts b/javascript/sentry-conventions/src/attributes.ts index 4a1d64ac..8edcf709 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -2901,7 +2901,7 @@ export type BLOCKED_MAIN_THREAD_TYPE = boolean; // Path: model/attributes/browser/browser__bfcache__frame.json /** - * Which frame a back/forward cache not-restored reason originated from. 'masked' indicates a cross-origin subframe whose specific reason is hidden by the browser. `browser.bfcache.frame` + * Which frame in the page's frame tree a back/forward cache not-restored reason originated from: the top document or a child frame. `browser.bfcache.frame` * * Attribute Value Type: `string` {@link BROWSER_BFCACHE_FRAME_TYPE} * @@ -2912,8 +2912,6 @@ export type BLOCKED_MAIN_THREAD_TYPE = boolean; * * @example "top" * @example "child" - * @example "masked" - * @example "unknown" */ export const BROWSER_BFCACHE_FRAME = 'browser.bfcache.frame'; @@ -21029,7 +21027,7 @@ export const ATTRIBUTE_METADATA: Record = { }, 'browser.bfcache.frame': { brief: - "Which frame a back/forward cache not-restored reason originated from. 'masked' indicates a cross-origin subframe whose specific reason is hidden by the browser.", + "Which frame in the page's frame tree a back/forward cache not-restored reason originated from: the top document or a child frame.", type: 'string', applyScrubbing: { key: 'never', @@ -21037,7 +21035,7 @@ export const ATTRIBUTE_METADATA: Record = { isInOtel: false, visibility: 'public', example: 'top', - examples: ['top', 'child', 'masked', 'unknown'], + examples: ['top', 'child'], changelog: [{ version: 'next', prs: [513], description: 'Added browser.bfcache.frame attribute' }], }, 'browser.bfcache.not_restored_reason_count': { diff --git a/model/attributes/browser/browser__bfcache__frame.json b/model/attributes/browser/browser__bfcache__frame.json index 0dab74d1..1c3a38f2 100644 --- a/model/attributes/browser/browser__bfcache__frame.json +++ b/model/attributes/browser/browser__bfcache__frame.json @@ -1,13 +1,13 @@ { "key": "browser.bfcache.frame", - "brief": "Which frame a back/forward cache not-restored reason originated from. 'masked' indicates a cross-origin subframe whose specific reason is hidden by the browser.", + "brief": "Which frame in the page's frame tree a back/forward cache not-restored reason originated from: the top document or a child frame.", "type": "string", "apply_scrubbing": { "key": "never" }, "is_in_otel": false, "visibility": "public", - "examples": ["top", "child", "masked", "unknown"], + "examples": ["top", "child"], "changelog": [ { "version": "next", diff --git a/python/src/sentry_conventions/attributes.py b/python/src/sentry_conventions/attributes.py index b4c3d297..30f77fbc 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -1990,7 +1990,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): # Path: model/attributes/browser/browser__bfcache__frame.json BROWSER_BFCACHE_FRAME: Literal["browser.bfcache.frame"] = "browser.bfcache.frame" - """Which frame a back/forward cache not-restored reason originated from. 'masked' indicates a cross-origin subframe whose specific reason is hidden by the browser. + """Which frame in the page's frame tree a back/forward cache not-restored reason originated from: the top document or a child frame. Type: str Apply Scrubbing: never @@ -1998,8 +1998,6 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): Visibility: public Example: "top" Example: "child" - Example: "masked" - Example: "unknown" """ # Path: model/attributes/browser/browser__bfcache__not_restored_reason_count.json @@ -12211,13 +12209,13 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ], ), "browser.bfcache.frame": AttributeMetadata( - brief="Which frame a back/forward cache not-restored reason originated from. 'masked' indicates a cross-origin subframe whose specific reason is hidden by the browser.", + brief="Which frame in the page's frame tree a back/forward cache not-restored reason originated from: the top document or a child frame.", type=AttributeType.STRING, apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="top", - examples=["top", "child", "masked", "unknown"], + examples=["top", "child"], changelog=[ ChangelogEntry( version="next", From 409be969b239a7594aa56945918144bb4f6a9d23 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 24 Jul 2026 14:28:11 -0400 Subject: [PATCH 3/3] ref: change the scrubbing behavior to manual to better align with our definitions --- javascript/sentry-conventions/src/attributes.ts | 16 ++++++++-------- .../browser/browser__bfcache__frame.json | 2 +- ...wser__bfcache__not_restored_reason_count.json | 2 +- .../browser/browser__bfcache__outcome.json | 2 +- .../browser/browser__bfcache__reason.json | 2 +- python/src/sentry_conventions/attributes.py | 16 ++++++++-------- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/javascript/sentry-conventions/src/attributes.ts b/javascript/sentry-conventions/src/attributes.ts index 8edcf709..4c8d5c94 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -2905,7 +2905,7 @@ export type BLOCKED_MAIN_THREAD_TYPE = boolean; * * Attribute Value Type: `string` {@link BROWSER_BFCACHE_FRAME_TYPE} * - * Apply Scrubbing: never + * Apply Scrubbing: manual * * Attribute defined in OTEL: No * Visibility: public @@ -2927,7 +2927,7 @@ export type BROWSER_BFCACHE_FRAME_TYPE = string; * * Attribute Value Type: `number` {@link BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT_TYPE} * - * Apply Scrubbing: never + * Apply Scrubbing: manual * * Attribute defined in OTEL: No * Visibility: public @@ -2948,7 +2948,7 @@ export type BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT_TYPE = number; * * Attribute Value Type: `string` {@link BROWSER_BFCACHE_OUTCOME_TYPE} * - * Apply Scrubbing: never + * Apply Scrubbing: manual * * Attribute defined in OTEL: No * Visibility: public @@ -2970,7 +2970,7 @@ export type BROWSER_BFCACHE_OUTCOME_TYPE = string; * * Attribute Value Type: `string` {@link BROWSER_BFCACHE_REASON_TYPE} * - * Apply Scrubbing: never + * Apply Scrubbing: manual * * Attribute defined in OTEL: No * Visibility: public @@ -21030,7 +21030,7 @@ export const ATTRIBUTE_METADATA: Record = { "Which frame in the page's frame tree a back/forward cache not-restored reason originated from: the top document or a child frame.", type: 'string', applyScrubbing: { - key: 'never', + key: 'manual', }, isInOtel: false, visibility: 'public', @@ -21043,7 +21043,7 @@ export const ATTRIBUTE_METADATA: Record = { 'The number of reported reasons a page was not restored from the back/forward cache on a back/forward navigation. 0 when the browser reported no reasons (e.g. non-Chromium browsers).', type: 'integer', applyScrubbing: { - key: 'never', + key: 'manual', }, isInOtel: false, visibility: 'public', @@ -21058,7 +21058,7 @@ export const ATTRIBUTE_METADATA: Record = { "Whether a back/forward navigation was restored from the browser's back/forward cache (bfcache). 'hit' means the page was restored; 'miss' means it was reloaded.", type: 'string', applyScrubbing: { - key: 'never', + key: 'manual', }, isInOtel: false, visibility: 'public', @@ -21071,7 +21071,7 @@ export const ATTRIBUTE_METADATA: Record = { 'A browser-reported reason a page was not restored from the back/forward cache on a back/forward navigation, taken from the notRestoredReasons API. Reported per reason (a single miss can have several). Currently Chromium-only.', type: 'string', applyScrubbing: { - key: 'never', + key: 'manual', }, isInOtel: false, visibility: 'public', diff --git a/model/attributes/browser/browser__bfcache__frame.json b/model/attributes/browser/browser__bfcache__frame.json index 1c3a38f2..b9017f2a 100644 --- a/model/attributes/browser/browser__bfcache__frame.json +++ b/model/attributes/browser/browser__bfcache__frame.json @@ -3,7 +3,7 @@ "brief": "Which frame in the page's frame tree a back/forward cache not-restored reason originated from: the top document or a child frame.", "type": "string", "apply_scrubbing": { - "key": "never" + "key": "manual" }, "is_in_otel": false, "visibility": "public", diff --git a/model/attributes/browser/browser__bfcache__not_restored_reason_count.json b/model/attributes/browser/browser__bfcache__not_restored_reason_count.json index 77eee14b..7ea12d06 100644 --- a/model/attributes/browser/browser__bfcache__not_restored_reason_count.json +++ b/model/attributes/browser/browser__bfcache__not_restored_reason_count.json @@ -3,7 +3,7 @@ "brief": "The number of reported reasons a page was not restored from the back/forward cache on a back/forward navigation. 0 when the browser reported no reasons (e.g. non-Chromium browsers).", "type": "integer", "apply_scrubbing": { - "key": "never" + "key": "manual" }, "is_in_otel": false, "visibility": "public", diff --git a/model/attributes/browser/browser__bfcache__outcome.json b/model/attributes/browser/browser__bfcache__outcome.json index 1f931b8d..df6af585 100644 --- a/model/attributes/browser/browser__bfcache__outcome.json +++ b/model/attributes/browser/browser__bfcache__outcome.json @@ -3,7 +3,7 @@ "brief": "Whether a back/forward navigation was restored from the browser's back/forward cache (bfcache). 'hit' means the page was restored; 'miss' means it was reloaded.", "type": "string", "apply_scrubbing": { - "key": "never" + "key": "manual" }, "is_in_otel": false, "visibility": "public", diff --git a/model/attributes/browser/browser__bfcache__reason.json b/model/attributes/browser/browser__bfcache__reason.json index 4c9717d9..a7151c2f 100644 --- a/model/attributes/browser/browser__bfcache__reason.json +++ b/model/attributes/browser/browser__bfcache__reason.json @@ -3,7 +3,7 @@ "brief": "A browser-reported reason a page was not restored from the back/forward cache on a back/forward navigation, taken from the notRestoredReasons API. Reported per reason (a single miss can have several). Currently Chromium-only.", "type": "string", "apply_scrubbing": { - "key": "never" + "key": "manual" }, "is_in_otel": false, "visibility": "public", diff --git a/python/src/sentry_conventions/attributes.py b/python/src/sentry_conventions/attributes.py index 30f77fbc..a19db390 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -1993,7 +1993,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """Which frame in the page's frame tree a back/forward cache not-restored reason originated from: the top document or a child frame. Type: str - Apply Scrubbing: never + Apply Scrubbing: manual Defined in OTEL: No Visibility: public Example: "top" @@ -2007,7 +2007,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """The number of reported reasons a page was not restored from the back/forward cache on a back/forward navigation. 0 when the browser reported no reasons (e.g. non-Chromium browsers). Type: int - Apply Scrubbing: never + Apply Scrubbing: manual Defined in OTEL: No Visibility: public Example: 2 @@ -2020,7 +2020,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """Whether a back/forward navigation was restored from the browser's back/forward cache (bfcache). 'hit' means the page was restored; 'miss' means it was reloaded. Type: str - Apply Scrubbing: never + Apply Scrubbing: manual Defined in OTEL: No Visibility: public Example: "hit" @@ -2032,7 +2032,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """A browser-reported reason a page was not restored from the back/forward cache on a back/forward navigation, taken from the notRestoredReasons API. Reported per reason (a single miss can have several). Currently Chromium-only. Type: str - Apply Scrubbing: never + Apply Scrubbing: manual Defined in OTEL: No Visibility: public Example: "unload-listener" @@ -12211,7 +12211,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.bfcache.frame": AttributeMetadata( brief="Which frame in the page's frame tree a back/forward cache not-restored reason originated from: the top document or a child frame.", type=AttributeType.STRING, - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="top", @@ -12227,7 +12227,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.bfcache.not_restored_reason_count": AttributeMetadata( brief="The number of reported reasons a page was not restored from the back/forward cache on a back/forward navigation. 0 when the browser reported no reasons (e.g. non-Chromium browsers).", type=AttributeType.INTEGER, - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, @@ -12243,7 +12243,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.bfcache.outcome": AttributeMetadata( brief="Whether a back/forward navigation was restored from the browser's back/forward cache (bfcache). 'hit' means the page was restored; 'miss' means it was reloaded.", type=AttributeType.STRING, - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="hit", @@ -12259,7 +12259,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.bfcache.reason": AttributeMetadata( brief="A browser-reported reason a page was not restored from the back/forward cache on a back/forward navigation, taken from the notRestoredReasons API. Reported per reason (a single miss can have several). Currently Chromium-only.", type=AttributeType.STRING, - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="unload-listener",