App Attributes

27 attributes in this category.22 stable·5 deprecated

27 attributes

Stable Attributes

app.build

stringScrub: ManualVisibility: PublicOTel: False

Internal build identifier, as it appears on the platform.

Example1
Changelog
v0.5.0#296Added app.build attribute
Raw JSON
{
  "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"
    }
  ]
}

app.identifier

stringScrub: ManualVisibility: PublicOTel: False

Version-independent application identifier, often a dotted bundle ID.

Examplecom.example.myapp
Changelog
v0.5.0#296Added app.identifier attribute
Raw JSON
{
  "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"
    }
  ]
}

app.in_foreground

booleanScrub: ManualVisibility: PublicOTel: False

Whether the application is currently in the foreground.

Exampletrue
Changelog
v0.5.0#296Added app.in_foreground attribute
Raw JSON
{
  "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"
    }
  ]
}

app.name

stringScrub: ManualVisibility: PublicOTel: False

Human readable application name, as it appears on the platform.

ExampleMy App
Changelog
v0.5.0#296Added app.name attribute
Raw JSON
{
  "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"
    }
  ]
}

app.start_time

stringScrub: ManualVisibility: PublicOTel: False

Formatted UTC timestamp when the user started the application.

Example2025-01-01T00:00:00.000Z
Changelog
v0.5.0#296Added app.start_time attribute
Raw JSON
{
  "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"
    }
  ]
}

app.version

stringScrub: ManualVisibility: PublicOTel: False

Human readable application version, as it appears on the platform.

Example1.0.0
Changelog
v0.5.0#296Added app.version attribute
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.frames.delay.value

integerScrub: ManualVisibility: PublicOTel: 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/).

Example5
Changelog
v0.5.0#313Added app.vitals.frames.delay.value to replace frames.delay
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.frames.frozen.count

integerScrub: ManualVisibility: PublicOTel: False

The number of frozen frames rendered during the lifetime of the span.

Changelog
v0.19.0#500Added sentry.frames.frozen as an alias
v0.5.0#313Added app.vitals.frames.frozen.count to replace frames.frozen
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.frames.frozen.rate

doubleScrub: ManualVisibility: PublicOTel: 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.

Example0.5
Changelog
v0.19.0#493Added app.vitals.frames.frozen.rate attribute
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.frames.slow.count

integerScrub: ManualVisibility: PublicOTel: False

The number of slow frames rendered during the lifetime of the span.

Changelog
v0.19.0#500Added sentry.frames.slow as an alias
v0.5.0#313Added app.vitals.frames.slow.count to replace frames.slow
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.frames.slow.rate

doubleScrub: ManualVisibility: PublicOTel: 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.

Example0.25
Changelog
v0.19.0#493Added app.vitals.frames.slow.rate attribute
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.frames.total.count

integerScrub: ManualVisibility: PublicOTel: False

The number of total frames rendered during the lifetime of the span.

Changelog
v0.19.0#500Added sentry.frames.total as an alias
v0.5.0#313Added app.vitals.frames.total.count to replace frames.total
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.stall.duration

doubleScrub: ManualVisibility: PublicOTel: False

The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay.

Example4000
Changelog
v0.19.0#493Added app.vitals.stall.duration attribute
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.stall.percentage

doubleScrub: ManualVisibility: PublicOTel: 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.

Example0.8
Changelog
v0.19.0#493Added app.vitals.stall.percentage attribute
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.start.cold.value

doubleScrub: ManualVisibility: PublicOTel: False

The duration of a cold app start in milliseconds

Example1234.56
Changelog
v0.5.0#313Added app.vitals.start.cold.value attribute
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.start.prewarmed

booleanScrub: ManualVisibility: PublicOTel: False

Whether the app start was prewarmed.

Exampletrue
Changelog
v0.11.0#379Added app.vitals.start.prewarmed attribute
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.start.reason

stringScrub: ManualVisibility: PublicOTel: False

The reason that triggered the app start.

Examplepush
Changelog
v0.7.0#353Added app.vitals.start.reason attribute
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.start.screen

stringScrub: ManualVisibility: PublicOTel: 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.

ExampleMainActivity
Changelog
v0.7.0#353Added app.vitals.start.screen attribute
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.start.type

stringScrub: ManualVisibility: PublicOTel: False

The type of app start, for example `cold` or `warm`

Examplecold
Changelog
v0.5.0#313Added app.vitals.start.type attribute
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.start.warm.value

doubleScrub: ManualVisibility: PublicOTel: False

The duration of a warm app start in milliseconds

Example1234.56
Changelog
v0.5.0#313Added app.vitals.start.warm.value attribute
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.ttfd.value

doubleScrub: ManualVisibility: PublicOTel: False

The duration of time to full display in milliseconds

Example1234.56
Changelog
v0.5.0#313Added app.vitals.ttfd.value attribute
Raw JSON
{
  "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"
    }
  ]
}

app.vitals.ttid.value

doubleScrub: ManualVisibility: PublicOTel: False

The duration of time to initial display in milliseconds

Example1234.56
Changelog
v0.5.0#313Added app.vitals.ttid.value attribute
Raw JSON
{
  "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"
    }
  ]
}

Deprecated Attributes

These attributes are deprecated and should not be used in new code. See each attribute for migration guidance.

app.app_buildDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Internal build identifier, as it appears on the platform.

Example1
Aliasesapp.build

Use app.build instead.

Deprecated in favor of app.build

Status: backfill

Changelog
v0.5.0#296Added and deprecated app.app_build in favor of app.build
Raw JSON
{
  "key": "app.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",
  "deprecation": {
    "replacement": "app.build",
    "reason": "Deprecated in favor of app.build",
    "_status": "backfill"
  },
  "alias": [
    "app.build"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        296
      ],
      "description": "Added and deprecated app.app_build in favor of app.build"
    }
  ]
}

app.app_identifierDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Version-independent application identifier, often a dotted bundle ID.

Examplecom.example.myapp

Use app.identifier instead.

Deprecated in favor of app.identifier

Status: backfill

Changelog
v0.5.0#296Added and deprecated app.app_identifier in favor of app.identifier
Raw JSON
{
  "key": "app.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",
  "deprecation": {
    "replacement": "app.identifier",
    "reason": "Deprecated in favor of app.identifier",
    "_status": "backfill"
  },
  "alias": [
    "app.identifier"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        296
      ],
      "description": "Added and deprecated app.app_identifier in favor of app.identifier"
    }
  ]
}

app.app_nameDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Human readable application name, as it appears on the platform.

ExampleMy App
Aliasesapp.name

Use app.name instead.

Deprecated in favor of app.name

Status: backfill

Changelog
v0.5.0#296Added and deprecated app.app_name in favor of app.name
Raw JSON
{
  "key": "app.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",
  "deprecation": {
    "replacement": "app.name",
    "reason": "Deprecated in favor of app.name",
    "_status": "backfill"
  },
  "alias": [
    "app.name"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        296
      ],
      "description": "Added and deprecated app.app_name in favor of app.name"
    }
  ]
}

app.app_start_timeDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Formatted UTC timestamp when the user started the application.

Example2025-01-01T00:00:00.000Z

Use app.start_time instead.

Deprecated in favor of app.start_time

Status: backfill

Changelog
v0.5.0#296Added and deprecated app.app_start_time in favor of app.start_time
Raw JSON
{
  "key": "app.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",
  "deprecation": {
    "replacement": "app.start_time",
    "reason": "Deprecated in favor of app.start_time",
    "_status": "backfill"
  },
  "alias": [
    "app.start_time"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        296
      ],
      "description": "Added and deprecated app.app_start_time in favor of app.start_time"
    }
  ]
}

app.app_versionDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Human readable application version, as it appears on the platform.

Example1.0.0

Use app.version instead.

Deprecated in favor of app.version

Status: backfill

Changelog
v0.5.0#296Added and deprecated app.app_version in favor of app.version
Raw JSON
{
  "key": "app.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",
  "deprecation": {
    "replacement": "app.version",
    "reason": "Deprecated in favor of app.version",
    "_status": "backfill"
  },
  "alias": [
    "app.version"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        296
      ],
      "description": "Added and deprecated app.app_version in favor of app.version"
    }
  ]
}