From 35a769ecf046b4277b88074aec0bcfd47791744f 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 670cc9ac..5d4e5f77 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -2826,6 +2826,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 /** @@ -17313,6 +17404,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', @@ -18087,6 +18182,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 @@ -20563,6 +20662,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', @@ -29457,6 +29610,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 86c4dca2..435b5919 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -1937,6 +1937,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. @@ -11919,6 +11974,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, @@ -21370,6 +21494,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "aws.step_functions.activity.arn": str, "aws.step_functions.state_machine.arn": 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 03cc94e4ef654e54341a1376a4fdf304b0bd30ba 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 5d4e5f77..b3f4c644 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -2829,7 +2829,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} * @@ -2840,8 +2840,6 @@ export type BLOCKED_MAIN_THREAD_TYPE = boolean; * * @example "top" * @example "child" - * @example "masked" - * @example "unknown" */ export const BROWSER_BFCACHE_FRAME = 'browser.bfcache.frame'; @@ -20664,7 +20662,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', @@ -20672,7 +20670,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 435b5919..5776de79 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -1939,7 +1939,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 @@ -1947,8 +1947,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 @@ -11975,13 +11973,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 8a154748a8724c14730785fb59da43046e5a2f03 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 b3f4c644..86f60be9 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -2833,7 +2833,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 @@ -2855,7 +2855,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 @@ -2876,7 +2876,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 @@ -2898,7 +2898,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 @@ -20665,7 +20665,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', @@ -20678,7 +20678,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', @@ -20693,7 +20693,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', @@ -20706,7 +20706,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 5776de79..562399e6 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -1942,7 +1942,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" @@ -1956,7 +1956,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 @@ -1969,7 +1969,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" @@ -1981,7 +1981,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" @@ -11975,7 +11975,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", @@ -11991,7 +11991,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, @@ -12007,7 +12007,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", @@ -12023,7 +12023,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",