stringScrub: Manual Visibility: Public OTel: False
Internal build identifier, as it appears on the platform.
Changelogv0.5.0 #296 Added app.build attribute Raw JSONCopy {
"key": "app.build",
"brief": "Internal build identifier, as it appears on the platform.",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": "1",
"alias": [
"app.app_build"
],
"changelog": [
{
"version": "0.5.0",
"prs": [
296
],
"description": "Added app.build attribute"
}
]
}stringScrub: Manual Visibility: Public OTel: False
Version-independent application identifier, often a dotted bundle ID.
Changelogv0.5.0 #296 Added app.identifier attribute Raw JSONCopy {
"key": "app.identifier",
"brief": "Version-independent application identifier, often a dotted bundle ID.",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": "com.example.myapp",
"alias": [
"app.app_identifier"
],
"changelog": [
{
"version": "0.5.0",
"prs": [
296
],
"description": "Added app.identifier attribute"
}
]
}booleanScrub: Manual Visibility: Public OTel: False
Whether the application is currently in the foreground.
Changelogv0.5.0 #296 Added app.in_foreground attribute Raw JSONCopy {
"key": "app.in_foreground",
"brief": "Whether the application is currently in the foreground.",
"type": "boolean",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": true,
"changelog": [
{
"version": "0.5.0",
"prs": [
296
],
"description": "Added app.in_foreground attribute"
}
]
}stringScrub: Manual Visibility: Public OTel: False
Human readable application name, as it appears on the platform.
Changelogv0.5.0 #296 Added app.name attribute Raw JSONCopy {
"key": "app.name",
"brief": "Human readable application name, as it appears on the platform.",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": "My App",
"alias": [
"app.app_name"
],
"changelog": [
{
"version": "0.5.0",
"prs": [
296
],
"description": "Added app.name attribute"
}
]
}stringScrub: Manual Visibility: Public OTel: False
Formatted UTC timestamp when the user started the application.
Example 2025-01-01T00:00:00.000Z
Changelogv0.5.0 #296 Added app.start_time attribute Raw JSONCopy {
"key": "app.start_time",
"brief": "Formatted UTC timestamp when the user started the application.",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": "2025-01-01T00:00:00.000Z",
"alias": [
"app.app_start_time"
],
"changelog": [
{
"version": "0.5.0",
"prs": [
296
],
"description": "Added app.start_time attribute"
}
]
}stringScrub: Manual Visibility: Public OTel: False
Human readable application version, as it appears on the platform.
Changelogv0.5.0 #296 Added app.version attribute Raw JSONCopy {
"key": "app.version",
"brief": "Human readable application version, as it appears on the platform.",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": "1.0.0",
"alias": [
"app.app_version"
],
"changelog": [
{
"version": "0.5.0",
"prs": [
296
],
"description": "Added app.version attribute"
}
]
}integerScrub: Manual Visibility: Public OTel: False
The sum of all delayed frame durations in seconds during the lifetime of the span. For more information see [frames delay](https://develop.sentry.dev/sdk/performance/frames-delay/).
Changelogv0.5.0 #313 Added app.vitals.frames.delay.value to replace frames.delay Raw JSONCopy {
"key": "app.vitals.frames.delay.value",
"brief": "The sum of all delayed frame durations in seconds during the lifetime of the span. For more information see [frames delay](https://develop.sentry.dev/sdk/performance/frames-delay/).",
"type": "integer",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": 5,
"alias": [
"frames.delay"
],
"changelog": [
{
"version": "0.5.0",
"prs": [
313
],
"description": "Added app.vitals.frames.delay.value to replace frames.delay"
}
]
}integerScrub: Manual Visibility: Public OTel: False
The number of frozen frames rendered during the lifetime of the span.
Changelogv0.19.0 #500 Added sentry.frames.frozen as an alias v0.5.0 #313 Added app.vitals.frames.frozen.count to replace frames.frozen Raw JSONCopy {
"key": "app.vitals.frames.frozen.count",
"brief": "The number of frozen frames rendered during the lifetime of the span.",
"type": "integer",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": 3,
"alias": [
"frames.frozen",
"sentry.frames.frozen"
],
"changelog": [
{
"version": "0.19.0",
"prs": [
500
],
"description": "Added sentry.frames.frozen as an alias"
},
{
"version": "0.5.0",
"prs": [
313
],
"description": "Added app.vitals.frames.frozen.count to replace frames.frozen"
}
]
}doubleScrub: Manual Visibility: Public OTel: False
The fraction of rendered frames that were frozen, calculated as `app.vitals.frames.frozen.count` divided by `app.vitals.frames.total.count`. This is computed by Relay.
Changelogv0.19.0 #493 Added app.vitals.frames.frozen.rate attribute Raw JSONCopy {
"key": "app.vitals.frames.frozen.rate",
"brief": "The fraction of rendered frames that were frozen, calculated as `app.vitals.frames.frozen.count` divided by `app.vitals.frames.total.count`. This is computed by Relay.",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": 0.5,
"alias": [
"frames_frozen_rate"
],
"changelog": [
{
"version": "0.19.0",
"prs": [
493
],
"description": "Added app.vitals.frames.frozen.rate attribute"
}
]
}integerScrub: Manual Visibility: Public OTel: False
The number of slow frames rendered during the lifetime of the span.
Changelogv0.19.0 #500 Added sentry.frames.slow as an alias v0.5.0 #313 Added app.vitals.frames.slow.count to replace frames.slow Raw JSONCopy {
"key": "app.vitals.frames.slow.count",
"brief": "The number of slow frames rendered during the lifetime of the span.",
"type": "integer",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": 1,
"alias": [
"frames.slow",
"sentry.frames.slow"
],
"changelog": [
{
"version": "0.19.0",
"prs": [
500
],
"description": "Added sentry.frames.slow as an alias"
},
{
"version": "0.5.0",
"prs": [
313
],
"description": "Added app.vitals.frames.slow.count to replace frames.slow"
}
]
}doubleScrub: Manual Visibility: Public OTel: False
The fraction of rendered frames that were slow, calculated as `app.vitals.frames.slow.count` divided by `app.vitals.frames.total.count`. This is computed by Relay.
Changelogv0.19.0 #493 Added app.vitals.frames.slow.rate attribute Raw JSONCopy {
"key": "app.vitals.frames.slow.rate",
"brief": "The fraction of rendered frames that were slow, calculated as `app.vitals.frames.slow.count` divided by `app.vitals.frames.total.count`. This is computed by Relay.",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": 0.25,
"alias": [
"frames_slow_rate"
],
"changelog": [
{
"version": "0.19.0",
"prs": [
493
],
"description": "Added app.vitals.frames.slow.rate attribute"
}
]
}integerScrub: Manual Visibility: Public OTel: False
The number of total frames rendered during the lifetime of the span.
Changelogv0.19.0 #500 Added sentry.frames.total as an alias v0.5.0 #313 Added app.vitals.frames.total.count to replace frames.total Raw JSONCopy {
"key": "app.vitals.frames.total.count",
"brief": "The number of total frames rendered during the lifetime of the span.",
"type": "integer",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": 60,
"alias": [
"frames.total",
"sentry.frames.total"
],
"changelog": [
{
"version": "0.19.0",
"prs": [
500
],
"description": "Added sentry.frames.total as an alias"
},
{
"version": "0.5.0",
"prs": [
313
],
"description": "Added app.vitals.frames.total.count to replace frames.total"
}
]
}doubleScrub: Manual Visibility: Public OTel: False
The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay.
Changelogv0.19.0 #493 Added app.vitals.stall.duration attribute Raw JSONCopy {
"key": "app.vitals.stall.duration",
"brief": "The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay.",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": 4000,
"alias": [
"stall_total_time"
],
"changelog": [
{
"version": "0.19.0",
"prs": [
493
],
"description": "Added app.vitals.stall.duration attribute"
}
]
}doubleScrub: Manual Visibility: Public OTel: False
The fraction of transaction duration during which the app was stalled, between 0.0 and 1.0. For example, 0.8 represents 80%. Only applies to React Native. This is computed by Relay.
Changelogv0.19.0 #493 Added app.vitals.stall.percentage attribute Raw JSONCopy {
"key": "app.vitals.stall.percentage",
"brief": "The fraction of transaction duration during which the app was stalled, between 0.0 and 1.0. For example, 0.8 represents 80%. Only applies to React Native. This is computed by Relay.",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": 0.8,
"alias": [
"stall_percentage"
],
"changelog": [
{
"version": "0.19.0",
"prs": [
493
],
"description": "Added app.vitals.stall.percentage attribute"
}
]
}doubleScrub: Manual Visibility: Public OTel: False
The duration of a cold app start in milliseconds
Changelogv0.5.0 #313 Added app.vitals.start.cold.value attribute Raw JSONCopy {
"key": "app.vitals.start.cold.value",
"brief": "The duration of a cold app start in milliseconds",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": 1234.56,
"alias": [
"app_start_cold"
],
"changelog": [
{
"version": "0.5.0",
"prs": [
313
],
"description": "Added app.vitals.start.cold.value attribute"
}
]
}booleanScrub: Manual Visibility: Public OTel: False
Whether the app start was prewarmed.
Changelogv0.11.0 #379 Added app.vitals.start.prewarmed attribute Raw JSONCopy {
"key": "app.vitals.start.prewarmed",
"brief": "Whether the app start was prewarmed.",
"type": "boolean",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": true,
"changelog": [
{
"version": "0.11.0",
"prs": [
379
],
"description": "Added app.vitals.start.prewarmed attribute"
}
]
}stringScrub: Manual Visibility: Public OTel: False
The reason that triggered the app start.
Changelogv0.7.0 #353 Added app.vitals.start.reason attribute Raw JSONCopy {
"key": "app.vitals.start.reason",
"brief": "The reason that triggered the app start.",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": "push",
"changelog": [
{
"version": "0.7.0",
"prs": [
353
],
"description": "Added app.vitals.start.reason attribute"
}
]
}stringScrub: Manual Visibility: Public OTel: False
The screen that is rendered when the app start is complete. This is the screen the user first sees and can interact with after launch. The absence of this attribute on the app start span indicates a background app start where no UI was rendered.
Changelogv0.7.0 #353 Added app.vitals.start.screen attribute Raw JSONCopy {
"key": "app.vitals.start.screen",
"brief": "The screen that is rendered when the app start is complete. This is the screen the user first sees and can interact with after launch. The absence of this attribute on the app start span indicates a background app start where no UI was rendered.",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": "MainActivity",
"changelog": [
{
"version": "0.7.0",
"prs": [
353
],
"description": "Added app.vitals.start.screen attribute"
}
]
}stringScrub: Manual Visibility: Public OTel: False
The type of app start, for example `cold` or `warm`
Changelogv0.5.0 #313 Added app.vitals.start.type attribute Raw JSONCopy {
"key": "app.vitals.start.type",
"brief": "The type of app start, for example `cold` or `warm`",
"type": "string",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": "cold",
"alias": [
"app_start_type"
],
"changelog": [
{
"version": "0.5.0",
"prs": [
313
],
"description": "Added app.vitals.start.type attribute"
}
]
}doubleScrub: Manual Visibility: Public OTel: False
The duration of a warm app start in milliseconds
Changelogv0.5.0 #313 Added app.vitals.start.warm.value attribute Raw JSONCopy {
"key": "app.vitals.start.warm.value",
"brief": "The duration of a warm app start in milliseconds",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": 1234.56,
"alias": [
"app_start_warm"
],
"changelog": [
{
"version": "0.5.0",
"prs": [
313
],
"description": "Added app.vitals.start.warm.value attribute"
}
]
}doubleScrub: Manual Visibility: Public OTel: False
The duration of time to full display in milliseconds
Changelogv0.5.0 #313 Added app.vitals.ttfd.value attribute Raw JSONCopy {
"key": "app.vitals.ttfd.value",
"brief": "The duration of time to full display in milliseconds",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": 1234.56,
"alias": [
"time_to_full_display"
],
"changelog": [
{
"version": "0.5.0",
"prs": [
313
],
"description": "Added app.vitals.ttfd.value attribute"
}
]
}doubleScrub: Manual Visibility: Public OTel: False
The duration of time to initial display in milliseconds
Changelogv0.5.0 #313 Added app.vitals.ttid.value attribute Raw JSONCopy {
"key": "app.vitals.ttid.value",
"brief": "The duration of time to initial display in milliseconds",
"type": "double",
"apply_scrubbing": {
"key": "manual"
},
"is_in_otel": false,
"visibility": "public",
"example": 1234.56,
"alias": [
"time_to_initial_display"
],
"changelog": [
{
"version": "0.5.0",
"prs": [
313
],
"description": "Added app.vitals.ttid.value attribute"
}
]
}