Attributes

Browse all 773 span and breadcrumb attributes.568 stable·205 deprecated

LLM-friendly: llms.txt · llms-full.txt

general

35 attributes

blocked_main_thread

booleanScrub: ManualVisibility: PublicOTel: False

Whether the main thread was blocked by the span.

Exampletrue
Changelog
v0.0.0
Raw JSON
{
  "key": "blocked_main_thread",
  "brief": "Whether the main thread was blocked by the span.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": true,
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

channel

stringScrub: ManualVisibility: PublicOTel: False

The channel name that is being used.

Examplemail
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "channel",
  "brief": "The channel name that is being used.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "mail",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

id

stringScrub: NeverVisibility: PublicOTel: False

A unique identifier for the span.

Examplef47ac10b58cc4372a5670e02b2c3d479
Changelog
v0.0.0
Raw JSON
{
  "key": "id",
  "brief": "A unique identifier for the span.",
  "type": "string",
  "apply_scrubbing": {
    "key": "never"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "f47ac10b58cc4372a5670e02b2c3d479",
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

previous_route

stringScrub: ManualVisibility: PublicOTel: False

Also used by mobile SDKs to indicate the previous route in the application.

ExampleHomeScreen
Changelog
v0.1.0#74
v0.0.0
Raw JSON
{
  "key": "previous_route",
  "brief": "Also used by mobile SDKs to indicate the previous route in the application.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "HomeScreen",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        74
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

type

stringScrub: ManualVisibility: PublicOTel: False

More granular type of the operation happening.

Examplefetch
Changelog
v0.0.0
Raw JSON
{
  "key": "type",
  "brief": "More granular type of the operation happening.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "fetch",
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}
30 deprecated attributes

app_start_coldDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The duration of a cold app start in milliseconds

Example1234.56

Use app.vitals.start.cold.value instead.

Replaced by app.vitals.start.cold.value to align with the app.vitals.* namespace for mobile performance attributes

Status: backfill

Changelog
v0.5.0#323Added and deprecated in favor of app.vitals.start.cold.value
Raw JSON
{
  "key": "app_start_cold",
  "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,
  "deprecation": {
    "replacement": "app.vitals.start.cold.value",
    "reason": "Replaced by app.vitals.start.cold.value to align with the app.vitals.* namespace for mobile performance attributes",
    "_status": "backfill"
  },
  "alias": [
    "app.vitals.start.cold.value"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        323
      ],
      "description": "Added and deprecated in favor of app.vitals.start.cold.value"
    }
  ]
}

app_start_typeDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Mobile app start variant. Either cold or warm.

Examplecold

Use app.vitals.start.type instead.

Replaced by app.vitals.start.type to align with the app.vitals.* namespace for mobile performance attributes

Status: backfill

Changelog
v0.5.0#313Deprecated in favor of app.vitals.start.type
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "app_start_type",
  "brief": "Mobile app start variant. Either cold or warm.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "cold",
  "deprecation": {
    "replacement": "app.vitals.start.type",
    "reason": "Replaced by app.vitals.start.type to align with the app.vitals.* namespace for mobile performance attributes",
    "_status": "backfill"
  },
  "alias": [
    "app.vitals.start.type"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        313
      ],
      "description": "Deprecated in favor of app.vitals.start.type"
    },
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

app_start_warmDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The duration of a warm app start in milliseconds

Example1234.56

Use app.vitals.start.warm.value instead.

Replaced by app.vitals.start.warm.value to align with the app.vitals.* namespace for mobile performance attributes

Status: backfill

Changelog
v0.5.0#323Added and deprecated in favor of app.vitals.start.warm.value
Raw JSON
{
  "key": "app_start_warm",
  "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,
  "deprecation": {
    "replacement": "app.vitals.start.warm.value",
    "reason": "Replaced by app.vitals.start.warm.value to align with the app.vitals.* namespace for mobile performance attributes",
    "_status": "backfill"
  },
  "alias": [
    "app.vitals.start.warm.value"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        323
      ],
      "description": "Added and deprecated in favor of app.vitals.start.warm.value"
    }
  ]
}

clsDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The value of the recorded Cumulative Layout Shift (CLS) web vital

Example0.2361

Use browser.web_vital.cls.value instead.

The CLS web vital is now recorded as a browser.web_vital.cls.value attribute.

Status: backfill

Changelog
v0.5.0#229Added and deprecated attribute to document JS SDK's current behaviour
Raw JSON
{
  "key": "cls",
  "brief": "The value of the recorded Cumulative Layout Shift (CLS) web vital",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 0.2361,
  "deprecation": {
    "replacement": "browser.web_vital.cls.value",
    "reason": "The CLS web vital is now recorded as a browser.web_vital.cls.value attribute.",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.cls.value"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        229
      ],
      "description": "Added and deprecated attribute to document JS SDK's current behaviour"
    }
  ]
}

connectionTypeDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc).

Examplewifi

Use network.connection.type instead.

Old namespace-less attribute, to be replaced with network.connection.type for span-first future

Status: backfill

Changelog
v0.5.0#279Added and deprecated attribute to document JS SDK's current behaviour
Raw JSON
{
  "key": "connectionType",
  "brief": "Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc).",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "wifi",
  "deprecation": {
    "replacement": "network.connection.type",
    "reason": "Old namespace-less attribute, to be replaced with network.connection.type for span-first future",
    "_status": "backfill"
  },
  "alias": [
    "network.connection.type",
    "device.connection_type"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        279
      ],
      "description": "Added and deprecated attribute to document JS SDK's current behaviour"
    }
  ]
}

deviceMemoryDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The estimated total memory capacity of the device, only a rough estimation in gigabytes.

Example8 GB

Use device.memory.estimated_capacity instead.

Old namespace-less attribute, to be replaced with device.memory.estimated_capacity for span-first future

Status: backfill

Changelog
v0.5.0#281Added and deprecated attribute to document JS SDK's current behaviour
Raw JSON
{
  "key": "deviceMemory",
  "brief": "The estimated total memory capacity of the device, only a rough estimation in gigabytes.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "8 GB",
  "deprecation": {
    "replacement": "device.memory.estimated_capacity",
    "reason": "Old namespace-less attribute, to be replaced with device.memory.estimated_capacity for span-first future",
    "_status": "backfill"
  },
  "alias": [
    "device.memory.estimated_capacity"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        281
      ],
      "description": "Added and deprecated attribute to document JS SDK's current behaviour"
    }
  ]
}

distDeprecated

stringScrub: NeverVisibility: PublicOTel: False

The sentry dist.

Example1.0

Use sentry.dist instead.

This attribute is being deprecated in favor of sentry.dist.

Status: backfill

Changelog
v0.16.0#489Added dist attribute
Raw JSON
{
  "key": "dist",
  "brief": "The sentry dist.",
  "type": "string",
  "apply_scrubbing": {
    "key": "never"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "1.0",
  "deprecation": {
    "replacement": "sentry.dist",
    "reason": "This attribute is being deprecated in favor of sentry.dist.",
    "_status": "backfill"
  },
  "alias": [
    "sentry.dist"
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        489
      ],
      "description": "Added dist attribute"
    }
  ]
}

effectiveConnectionTypeDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Specifies the estimated effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g).

Example4g

Use network.connection.effective_type instead.

Old namespace-less attribute, to be replaced with network.connection.effective_type for span-first future

Status: backfill

Changelog
v0.5.0#279Added and deprecated attribute to document JS SDK's current behaviour
Raw JSON
{
  "key": "effectiveConnectionType",
  "brief": "Specifies the estimated effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g).",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "4g",
  "deprecation": {
    "replacement": "network.connection.effective_type",
    "reason": "Old namespace-less attribute, to be replaced with network.connection.effective_type for span-first future",
    "_status": "backfill"
  },
  "alias": [
    "network.connection.effective_type"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        279
      ],
      "description": "Added and deprecated attribute to document JS SDK's current behaviour"
    }
  ]
}

environmentDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The sentry environment.

Exampleproduction

Use sentry.environment instead.

Status: normalize

Changelog
next#427Configured normalization
v0.1.0#61#127
v0.0.0
Raw JSON
{
  "key": "environment",
  "brief": "The sentry environment.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "production",
  "deprecation": {
    "replacement": "sentry.environment",
    "_status": "normalize"
  },
  "alias": [
    "sentry.environment"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        427
      ],
      "description": "Configured normalization"
    },
    {
      "version": "0.1.0",
      "prs": [
        61,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

fcpDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The time it takes for the browser to render the first piece of meaningful content on the screen

Example547.6951

Use browser.web_vital.fcp.value instead.

This attribute is being deprecated in favor of browser.web_vital.fcp.value

Status: backfill

Changelog
v0.5.0#235
Raw JSON
{
  "key": "fcp",
  "brief": "The time it takes for the browser to render the first piece of meaningful content on the screen",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 547.6951,
  "deprecation": {
    "replacement": "browser.web_vital.fcp.value",
    "reason": "This attribute is being deprecated in favor of browser.web_vital.fcp.value",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.fcp.value"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        235
      ]
    }
  ]
}

fpDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The time it takes for the browser to render the first pixel on the screen

Example477.1926

Use browser.web_vital.fp.value instead.

This attribute is being deprecated in favor of browser.web_vital.fp.value

Status: backfill

Changelog
v0.5.0#235
Raw JSON
{
  "key": "fp",
  "brief": "The time it takes for the browser to render the first pixel on the screen",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 477.1926,
  "deprecation": {
    "replacement": "browser.web_vital.fp.value",
    "reason": "This attribute is being deprecated in favor of browser.web_vital.fp.value",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.fp.value"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        235
      ]
    }
  ]
}

frames_frozen_rateDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The rate of frozen frames, or `app.vitals.frames.frozen.count` divided by `app.vitals.frames.total.count`. This is computed by Relay.

Use app.vitals.frames.frozen.rate instead.

Replaced by app.vitals.frames.frozen.rate to align with the app.vitals.* namespace for mobile performance attributes

Status: backfill

Changelog
next#493Deprecated in favor of app.vitals.frames.frozen.rate
v0.7.0#362Added frames_frozen_rate attribute
Raw JSON
{
  "key": "frames_frozen_rate",
  "brief": "The rate of frozen frames, or `app.vitals.frames.frozen.count` divided by `app.vitals.frames.total.count`. This is computed by Relay.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "deprecation": {
    "replacement": "app.vitals.frames.frozen.rate",
    "reason": "Replaced by app.vitals.frames.frozen.rate to align with the app.vitals.* namespace for mobile performance attributes",
    "_status": "backfill"
  },
  "alias": [
    "app.vitals.frames.frozen.rate"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        493
      ],
      "description": "Deprecated in favor of app.vitals.frames.frozen.rate"
    },
    {
      "version": "0.7.0",
      "prs": [
        362
      ],
      "description": "Added frames_frozen_rate attribute"
    }
  ]
}

frames_slow_rateDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The rate of slow frames, or `app.vitals.frames.slow.count` divided by `app.vitals.frames.total.count`. This is computed by Relay.

Use app.vitals.frames.slow.rate instead.

Replaced by app.vitals.frames.slow.rate to align with the app.vitals.* namespace for mobile performance attributes

Status: backfill

Changelog
next#493Deprecated in favor of app.vitals.frames.slow.rate
v0.7.0#362Added frames_slow_rate attribute
Raw JSON
{
  "key": "frames_slow_rate",
  "brief": "The rate of slow frames, or `app.vitals.frames.slow.count` divided by `app.vitals.frames.total.count`. This is computed by Relay.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "deprecation": {
    "replacement": "app.vitals.frames.slow.rate",
    "reason": "Replaced by app.vitals.frames.slow.rate to align with the app.vitals.* namespace for mobile performance attributes",
    "_status": "backfill"
  },
  "alias": [
    "app.vitals.frames.slow.rate"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        493
      ],
      "description": "Deprecated in favor of app.vitals.frames.slow.rate"
    },
    {
      "version": "0.7.0",
      "prs": [
        362
      ],
      "description": "Added frames_slow_rate attribute"
    }
  ]
}

fs_errorDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The error message of a file system error.

ExampleENOENT: no such file or directory

Use error.type instead.

This attribute is not part of the OpenTelemetry specification and error.type fits much better.

Changelog
v0.1.0#61#127
v0.0.0
Raw JSON
{
  "key": "fs_error",
  "brief": "The error message of a file system error.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "ENOENT: no such file or directory",
  "deprecation": {
    "replacement": "error.type",
    "reason": "This attribute is not part of the OpenTelemetry specification and error.type fits much better.",
    "_status": null
  },
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

hardwareConcurrencyDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The number of logical CPU cores available.

Example14

Use device.processor_count instead.

Old namespace-less attribute, to be replaced with device.processor_count for span-first future

Status: backfill

Changelog
v0.5.0#281#300Added and deprecated attribute to document JS SDK's current behaviour
Raw JSON
{
  "key": "hardwareConcurrency",
  "brief": "The number of logical CPU cores available.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "14",
  "deprecation": {
    "replacement": "device.processor_count",
    "reason": "Old namespace-less attribute, to be replaced with device.processor_count for span-first future",
    "_status": "backfill"
  },
  "alias": [
    "device.processor_count"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        281,
        300
      ],
      "description": "Added and deprecated attribute to document JS SDK's current behaviour"
    }
  ]
}

inpDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The value of the recorded Interaction to Next Paint (INP) web vital

Example200

Use browser.web_vital.inp.value instead.

The INP web vital is now recorded as a browser.web_vital.inp.value attribute.

Status: backfill

Changelog
v0.5.0#229Added and deprecated attribute to document JS SDK's current behaviour
Raw JSON
{
  "key": "inp",
  "brief": "The value of the recorded Interaction to Next Paint (INP) web vital",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 200,
  "deprecation": {
    "replacement": "browser.web_vital.inp.value",
    "reason": "The INP web vital is now recorded as a browser.web_vital.inp.value attribute.",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.inp.value"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        229
      ],
      "description": "Added and deprecated attribute to document JS SDK's current behaviour"
    }
  ]
}

lcpDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The value of the recorded Largest Contentful Paint (LCP) web vital

Example2500

Use browser.web_vital.lcp.value instead.

The LCP web vital is now recorded as a browser.web_vital.lcp.value attribute.

Status: backfill

Changelog
v0.5.0#229Added and deprecated attribute to document JS SDK's current behaviour
Raw JSON
{
  "key": "lcp",
  "brief": "The value of the recorded Largest Contentful Paint (LCP) web vital",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 2500,
  "deprecation": {
    "replacement": "browser.web_vital.lcp.value",
    "reason": "The LCP web vital is now recorded as a browser.web_vital.lcp.value attribute.",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.lcp.value"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        229
      ],
      "description": "Added and deprecated attribute to document JS SDK's current behaviour"
    }
  ]
}

methodDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The HTTP method used.

ExampleGET

Use http.request.method instead.

Status: normalize

Changelog
next#497Configured normalization
v0.1.0#61#127
v0.0.0
Raw JSON
{
  "key": "method",
  "brief": "The HTTP method used.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "GET",
  "deprecation": {
    "replacement": "http.request.method",
    "_status": "normalize"
  },
  "alias": [
    "http.request.method",
    "http.request_method",
    "http.method"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        497
      ],
      "description": "Configured normalization"
    },
    {
      "version": "0.1.0",
      "prs": [
        61,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

profile_idDeprecated

stringScrub: NeverVisibility: PublicOTel: False

The ID of the Sentry profile the span is associated with. This is only meaningful for transaction-based profiling.

Example123e4567e89b12d3a456426614174000

Use sentry.profile_id instead.

Status: normalize

Changelog
next#497Added profile_id attribute
Raw JSON
{
  "key": "profile_id",
  "brief": "The ID of the Sentry profile the span is associated with. This is only meaningful for transaction-based profiling.",
  "type": "string",
  "apply_scrubbing": {
    "key": "never"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "123e4567e89b12d3a456426614174000",
  "deprecation": {
    "replacement": "sentry.profile_id",
    "_status": "normalize"
  },
  "alias": [
    "sentry.profile_id"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        497
      ],
      "description": "Added profile_id attribute"
    }
  ]
}

releaseDeprecated

stringScrub: NeverVisibility: PublicOTel: False

The sentry release.

Exampleproduction

Use sentry.release instead.

Status: normalize

Changelog
next#497Configured normalization
v0.1.0#61#127
v0.0.0
Raw JSON
{
  "key": "release",
  "brief": "The sentry release.",
  "type": "string",
  "apply_scrubbing": {
    "key": "never"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "production",
  "deprecation": {
    "replacement": "sentry.release",
    "_status": "normalize"
  },
  "alias": [
    "sentry.release"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        497
      ],
      "description": "Configured normalization"
    },
    {
      "version": "0.1.0",
      "prs": [
        61,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

replay_idDeprecated

stringScrub: NeverVisibility: PublicOTel: False

The id of the sentry replay.

Example123e4567e89b12d3a456426614174000

Use sentry.replay_id instead.

Status: normalize

Changelog
next#497Configured normalization
v0.1.0#61
v0.0.0
Raw JSON
{
  "key": "replay_id",
  "brief": "The id of the sentry replay.",
  "type": "string",
  "apply_scrubbing": {
    "key": "never"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "123e4567e89b12d3a456426614174000",
  "deprecation": {
    "replacement": "sentry.replay_id",
    "_status": "normalize"
  },
  "alias": [
    "sentry.replay_id"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        497
      ],
      "description": "Configured normalization"
    },
    {
      "version": "0.1.0",
      "prs": [
        61
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

routeDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The matched route, that is, the path template in the format used by the respective server framework. Also used by mobile SDKs to indicate the current route in the application.

ExampleApp\Controller::indexAction
Aliaseshttp.route

Use http.route instead.

Changelog
v0.1.0#61#74
v0.0.0
Raw JSON
{
  "key": "route",
  "brief": "The matched route, that is, the path template in the format used by the respective server framework. Also used by mobile SDKs to indicate the current route in the application.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "App\\Controller::indexAction",
  "deprecation": {
    "replacement": "http.route",
    "_status": null
  },
  "alias": [
    "http.route"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        74
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

server_nameDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.

Exampleexample.com

Use server.address instead.

This attribute is being deprecated in favor of server.address, which is the OTel-aligned replacement.

Status: backfill

Changelog
v0.16.0#477Added server_name attribute, deprecated in favor of server.address
Raw JSON
{
  "key": "server_name",
  "brief": "Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "example.com",
  "deprecation": {
    "replacement": "server.address",
    "reason": "This attribute is being deprecated in favor of server.address, which is the OTel-aligned replacement.",
    "_status": "backfill"
  },
  "alias": [
    "server.address",
    "http.server_name",
    "net.host.name",
    "http.host"
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        477
      ],
      "description": "Added server_name attribute, deprecated in favor of server.address"
    }
  ]
}

stall_percentageDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The fraction of time the app was stalled. Only applies to React Native. This is computed by Relay.

Use app.vitals.stall.percentage instead.

Replaced by app.vitals.stall.percentage to align with the app.vitals.* namespace for mobile performance attributes

Status: backfill

Changelog
next#493Deprecated in favor of app.vitals.stall.percentage
v0.7.0#362Added stall_percentage attribute
Raw JSON
{
  "key": "stall_percentage",
  "brief": "The fraction of time the app was stalled. Only applies to React Native. This is computed by Relay.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "deprecation": {
    "replacement": "app.vitals.stall.percentage",
    "reason": "Replaced by app.vitals.stall.percentage to align with the app.vitals.* namespace for mobile performance attributes",
    "_status": "backfill"
  },
  "alias": [
    "app.vitals.stall.percentage"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        493
      ],
      "description": "Deprecated in favor of app.vitals.stall.percentage"
    },
    {
      "version": "0.7.0",
      "prs": [
        362
      ],
      "description": "Added stall_percentage attribute"
    }
  ]
}

stall_total_timeDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

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

Use app.vitals.stall.duration instead.

Replaced by app.vitals.stall.duration to align with the app.vitals.* namespace for mobile performance attributes

Status: backfill

Changelog
next#493Deprecated in favor of app.vitals.stall.duration
v0.7.0#362Added stall_total_time attribute
Raw JSON
{
  "key": "stall_total_time",
  "brief": "The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "deprecation": {
    "replacement": "app.vitals.stall.duration",
    "reason": "Replaced by app.vitals.stall.duration to align with the app.vitals.* namespace for mobile performance attributes",
    "_status": "backfill"
  },
  "alias": [
    "app.vitals.stall.duration"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        493
      ],
      "description": "Deprecated in favor of app.vitals.stall.duration"
    },
    {
      "version": "0.7.0",
      "prs": [
        362
      ],
      "description": "Added stall_total_time attribute"
    }
  ]
}

time_to_full_displayDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The duration of time to full display in milliseconds

Example1234.56

Use app.vitals.ttfd.value instead.

Replaced by app.vitals.ttfd.value to align with the app.vitals.* namespace for mobile performance attributes

Status: backfill

Changelog
v0.5.0#313Added and deprecated in favor of app.vitals.ttfd.value
Raw JSON
{
  "key": "time_to_full_display",
  "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,
  "deprecation": {
    "replacement": "app.vitals.ttfd.value",
    "reason": "Replaced by app.vitals.ttfd.value to align with the app.vitals.* namespace for mobile performance attributes",
    "_status": "backfill"
  },
  "alias": [
    "app.vitals.ttfd.value"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        313
      ],
      "description": "Added and deprecated in favor of app.vitals.ttfd.value"
    }
  ]
}

time_to_initial_displayDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The duration of time to initial display in milliseconds

Example1234.56

Use app.vitals.ttid.value instead.

Replaced by app.vitals.ttid.value to align with the app.vitals.* namespace for mobile performance attributes

Status: backfill

Changelog
v0.5.0#313Added and deprecated in favor of app.vitals.ttid.value
Raw JSON
{
  "key": "time_to_initial_display",
  "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,
  "deprecation": {
    "replacement": "app.vitals.ttid.value",
    "reason": "Replaced by app.vitals.ttid.value to align with the app.vitals.* namespace for mobile performance attributes",
    "_status": "backfill"
  },
  "alias": [
    "app.vitals.ttid.value"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        313
      ],
      "description": "Added and deprecated in favor of app.vitals.ttid.value"
    }
  ]
}

transactionDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The sentry transaction (segment name).

ExampleGET /

Use sentry.segment.name instead.

Status: normalize

Changelog
next#497Change deprecation from backfill to normalize
v0.6.0#345Updated transaction deprecation replacement to sentry.segment.name
v0.1.0#61#127
v0.0.0
Raw JSON
{
  "key": "transaction",
  "brief": "The sentry transaction (segment name).",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "GET /",
  "deprecation": {
    "replacement": "sentry.segment.name",
    "_status": "normalize"
  },
  "alias": [
    "sentry.segment.name",
    "sentry.transaction"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        497
      ],
      "description": "Change deprecation from backfill to normalize"
    },
    {
      "version": "0.6.0",
      "prs": [
        345
      ],
      "description": "Updated transaction deprecation replacement to sentry.segment.name"
    },
    {
      "version": "0.1.0",
      "prs": [
        61,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ttfbDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The value of the recorded Time To First Byte (TTFB) web vital in milliseconds

Example194

Use browser.web_vital.ttfb.value instead.

This attribute is being deprecated in favor of browser.web_vital.ttfb.value

Status: backfill

Changelog
v0.5.0#235
Raw JSON
{
  "key": "ttfb",
  "brief": "The value of the recorded Time To First Byte (TTFB) web vital in milliseconds",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 194,
  "deprecation": {
    "replacement": "browser.web_vital.ttfb.value",
    "reason": "This attribute is being deprecated in favor of browser.web_vital.ttfb.value",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.ttfb.value"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        235
      ]
    }
  ]
}

urlDeprecated

stringScrub: AutoVisibility: PublicOTel: False

The URL of the resource that was fetched.

Examplehttps://example.com/test?foo=bar#buzz

Use url.full instead.

Changelog
v0.1.0#61
v0.0.0
Raw JSON
{
  "key": "url",
  "brief": "The URL of the resource that was fetched.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "https://example.com/test?foo=bar#buzz",
  "deprecation": {
    "replacement": "url.full",
    "_status": null
  },
  "alias": [
    "url.full",
    "http.url",
    "aws.request.url"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai

38 attributes
38 deprecated attributes

ai.citationsDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

References or sources cited by the AI model in its response.

Example["Citation 1","Citation 2"]

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.citations",
  "brief": "References or sources cited by the AI model in its response.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "Citation 1",
    "Citation 2"
  ],
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.completion_tokens.usedDeprecated

integerScrub: ManualVisibility: PublicOTel: False

The number of tokens used to respond to the message.

Changelog
v0.4.0#228
v0.1.0#57#61
v0.0.0
Raw JSON
{
  "key": "ai.completion_tokens.used",
  "brief": "The number of tokens used to respond to the message.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 10,
  "deprecation": {
    "replacement": "gen_ai.usage.output_tokens",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.usage.output_tokens",
    "gen_ai.usage.completion_tokens"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        57,
        61
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.documentsDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

Documents or content chunks used as context for the AI model.

Example["document1.txt","document2.pdf"]

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.documents",
  "brief": "Documents or content chunks used as context for the AI model.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "document1.txt",
    "document2.pdf"
  ],
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.finish_reasonDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The reason why the model stopped generating.

ExampleCOMPLETE

Use gen_ai.response.finish_reasons instead.

Status: backfill

Changelog
Raw JSON
{
  "key": "ai.finish_reason",
  "brief": "The reason why the model stopped generating.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "COMPLETE",
  "deprecation": {
    "replacement": "gen_ai.response.finish_reasons",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.response.finish_reasons"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108,
        127
      ]
    }
  ]
}

ai.frequency_penaltyDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation.

Example0.5

Use gen_ai.request.frequency_penalty instead.

Status: backfill

Changelog
v0.4.0#228
Raw JSON
{
  "key": "ai.frequency_penalty",
  "brief": "Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 0.5,
  "deprecation": {
    "replacement": "gen_ai.request.frequency_penalty",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.frequency_penalty"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108
      ]
    }
  ]
}

ai.function_callDeprecated

stringScrub: AutoVisibility: PublicOTel: False

For an AI model call, the function that was called. This is deprecated for OpenAI, and replaced by tool_calls

Examplefunction_name

Use gen_ai.tool.name instead.

Status: backfill

Changelog
Raw JSON
{
  "key": "ai.function_call",
  "brief": "For an AI model call, the function that was called. This is deprecated for OpenAI, and replaced by tool_calls",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "function_name",
  "deprecation": {
    "replacement": "gen_ai.tool.name",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.tool.name",
    "mcp.tool.name"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108
      ]
    }
  ]
}

ai.generation_idDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Unique identifier for the completion.

Examplegen_123abc

Use gen_ai.response.id instead.

Status: backfill

Changelog
Raw JSON
{
  "key": "ai.generation_id",
  "brief": "Unique identifier for the completion.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "gen_123abc",
  "deprecation": {
    "replacement": "gen_ai.response.id",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.response.id"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108,
        127
      ]
    }
  ]
}

ai.input_messagesDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The input messages sent to the model

Example[{"role": "user", "message": "hello"}]

Use gen_ai.input.messages instead.

Status: backfill

Changelog
v0.1.0#65#119
v0.0.0
Raw JSON
{
  "key": "ai.input_messages",
  "brief": "The input messages sent to the model",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "[{\"role\": \"user\", \"message\": \"hello\"}]",
  "deprecation": {
    "replacement": "gen_ai.input.messages",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.messages"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        65,
        119
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.is_search_requiredDeprecated

booleanScrub: ManualVisibility: PublicOTel: False

Boolean indicating if the model needs to perform a search.

Examplefalse

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.is_search_required",
  "brief": "Boolean indicating if the model needs to perform a search.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": false,
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.metadataDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Extra metadata passed to an AI pipeline step.

Example{"user_id": 123, "session_id": "abc123"}

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55#127
Raw JSON
{
  "key": "ai.metadata",
  "brief": "Extra metadata passed to an AI pipeline step.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "{\"user_id\": 123, \"session_id\": \"abc123\"}",
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        127
      ]
    }
  ]
}

ai.model_idDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The vendor-specific ID of the model used.

Examplegpt-4

Use gen_ai.request.model instead.

Status: backfill

Changelog
v0.0.0
Raw JSON
{
  "key": "ai.model_id",
  "brief": "The vendor-specific ID of the model used.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "gpt-4",
  "deprecation": {
    "replacement": "gen_ai.request.model",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.model"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        57,
        61,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.model.providerDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The provider of the model.

Exampleopenai

Use gen_ai.provider.name instead.

Status: backfill

Changelog
v0.4.0#253
Raw JSON
{
  "key": "ai.model.provider",
  "brief": "The provider of the model.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "openai",
  "deprecation": {
    "replacement": "gen_ai.provider.name",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.provider.name",
    "gen_ai.system"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        253
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        57,
        61,
        108,
        127
      ]
    }
  ]
}

ai.pipeline.nameDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The name of the AI pipeline.

ExampleAutofix Pipeline

Use gen_ai.pipeline.name instead.

Status: backfill

Changelog
Raw JSON
{
  "key": "ai.pipeline.name",
  "brief": "The name of the AI pipeline.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Autofix Pipeline",
  "deprecation": {
    "replacement": "gen_ai.pipeline.name",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.pipeline.name"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        53,
        76,
        108,
        127
      ]
    }
  ]
}

ai.preambleDeprecated

stringScrub: AutoVisibility: PublicOTel: False

For an AI model call, the preamble parameter. Preambles are a part of the prompt used to adjust the model's overall behavior and conversation style.

ExampleYou are now a clown.

Use gen_ai.system_instructions instead.

Status: backfill

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.preamble",
  "brief": "For an AI model call, the preamble parameter. Preambles are a part of the prompt used to adjust the model's overall behavior and conversation style.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "You are now a clown.",
  "deprecation": {
    "replacement": "gen_ai.system_instructions",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.system_instructions"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.presence_penaltyDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies.

Example0.5

Use gen_ai.request.presence_penalty instead.

Status: backfill

Changelog
v0.4.0#228
Raw JSON
{
  "key": "ai.presence_penalty",
  "brief": "Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 0.5,
  "deprecation": {
    "replacement": "gen_ai.request.presence_penalty",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.presence_penalty"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108
      ]
    }
  ]
}

ai.prompt_tokens.usedDeprecated

integerScrub: ManualVisibility: PublicOTel: False

The number of tokens used to process just the prompt.

Changelog
v0.4.0#228
v0.1.0#57#61
v0.0.0
Raw JSON
{
  "key": "ai.prompt_tokens.used",
  "brief": "The number of tokens used to process just the prompt.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 20,
  "deprecation": {
    "replacement": "gen_ai.usage.input_tokens",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.usage.prompt_tokens",
    "gen_ai.usage.input_tokens"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        57,
        61
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.prompt.messagesDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The input messages sent to the AI model.

Example[{"role": "user", "message": "hello"}]

Use gen_ai.input.messages instead.

Status: backfill

Changelog
next#498Added ai.prompt.messages attribute
Raw JSON
{
  "key": "ai.prompt.messages",
  "brief": "The input messages sent to the AI model.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "[{\"role\": \"user\", \"message\": \"hello\"}]",
  "deprecation": {
    "replacement": "gen_ai.input.messages",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.input.messages",
    "ai.texts",
    "gen_ai.prompt"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        498
      ],
      "description": "Added ai.prompt.messages attribute"
    }
  ]
}

ai.raw_promptingDeprecated

booleanScrub: ManualVisibility: PublicOTel: False

When enabled, the user’s prompt will be sent to the model without any pre-processing.

Exampletrue

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.raw_prompting",
  "brief": "When enabled, the user’s prompt will be sent to the model without any pre-processing.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": true,
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.response_formatDeprecated

stringScrub: ManualVisibility: PublicOTel: False

For an AI model call, the format of the response

Examplejson_object

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55#127
Raw JSON
{
  "key": "ai.response_format",
  "brief": "For an AI model call, the format of the response",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "json_object",
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        127
      ]
    }
  ]
}

ai.response.textDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The text response from the AI model.

ExampleThe weather in Paris is currently rainy.

Use gen_ai.output.messages instead.

Status: backfill

Changelog
next#498Added ai.response.text attribute
Raw JSON
{
  "key": "ai.response.text",
  "brief": "The text response from the AI model.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "The weather in Paris is currently rainy.",
  "deprecation": {
    "replacement": "gen_ai.output.messages",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.output.messages",
    "ai.response.toolCalls"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        498
      ],
      "description": "Added ai.response.text attribute"
    }
  ]
}

ai.response.toolCallsDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The tool calls in the AI model response.

Example[{"name": "get_weather", "arguments": {"location": "Paris"}}]

Use gen_ai.output.messages instead.

Status: backfill

Changelog
next#498Added ai.response.toolCalls attribute
Raw JSON
{
  "key": "ai.response.toolCalls",
  "brief": "The tool calls in the AI model response.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "[{\"name\": \"get_weather\", \"arguments\": {\"location\": \"Paris\"}}]",
  "deprecation": {
    "replacement": "gen_ai.output.messages",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.output.messages",
    "ai.response.text"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        498
      ],
      "description": "Added ai.response.toolCalls attribute"
    }
  ]
}

ai.responsesDeprecated

string[]Scrub: ManualVisibility: PublicOTel: False

The response messages sent back by the AI model.

Example["hello","world"]

Use gen_ai.output.messages instead.

Status: backfill

Changelog
v0.1.0#65#127
v0.0.0
Raw JSON
{
  "key": "ai.responses",
  "brief": "The response messages sent back by the AI model.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "hello",
    "world"
  ],
  "deprecation": {
    "replacement": "gen_ai.output.messages",
    "_status": "backfill"
  },
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        65,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.search_queriesDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

Queries used to search for relevant context or documents.

Example["climate change effects","renewable energy"]

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.search_queries",
  "brief": "Queries used to search for relevant context or documents.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "climate change effects",
    "renewable energy"
  ],
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.search_resultsDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

Results returned from search queries for context.

Example["search_result_1, search_result_2"]

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.search_results",
  "brief": "Results returned from search queries for context.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "search_result_1, search_result_2"
  ],
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.seedDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The seed, ideally models given the same seed and same other parameters will produce the exact same output.

Example1234567890

Use gen_ai.request.seed instead.

Status: backfill

Changelog
Raw JSON
{
  "key": "ai.seed",
  "brief": "The seed, ideally models given the same seed and same other parameters will produce the exact same output.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "1234567890",
  "deprecation": {
    "replacement": "gen_ai.request.seed",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.seed"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108,
        127
      ]
    }
  ]
}

ai.streamingDeprecated

booleanScrub: ManualVisibility: PublicOTel: False

Whether the request was streamed back.

Exampletrue

Use gen_ai.response.streaming instead.

Status: backfill

Changelog
v0.1.0#76#108
v0.0.0
Raw JSON
{
  "key": "ai.streaming",
  "brief": "Whether the request was streamed back.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": true,
  "deprecation": {
    "replacement": "gen_ai.response.streaming",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.response.streaming"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        76,
        108
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.tagsDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Tags that describe an AI pipeline step.

Example{"executed_function": "add_integers"}

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55#127
Raw JSON
{
  "key": "ai.tags",
  "brief": "Tags that describe an AI pipeline step.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "{\"executed_function\": \"add_integers\"}",
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        127
      ]
    }
  ]
}

ai.temperatureDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.

Example0.1

Use gen_ai.request.temperature instead.

Status: backfill

Changelog
v0.4.0#228
Raw JSON
{
  "key": "ai.temperature",
  "brief": "For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 0.1,
  "deprecation": {
    "replacement": "gen_ai.request.temperature",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.temperature"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108
      ]
    }
  ]
}

ai.textsDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

Raw text inputs provided to the model.

Example["Hello, how are you?","What is the capital of France?"]

Use gen_ai.input.messages instead.

Status: backfill

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.texts",
  "brief": "Raw text inputs provided to the model.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "Hello, how are you?",
    "What is the capital of France?"
  ],
  "deprecation": {
    "replacement": "gen_ai.input.messages",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.input.messages",
    "ai.prompt.messages",
    "gen_ai.prompt"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

ai.tool_callsDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

For an AI model call, the tool calls that were made.

Example["tool_call_1","tool_call_2"]

Use gen_ai.output.messages instead.

Status: backfill

Changelog
v0.1.0#55#65
Raw JSON
{
  "key": "ai.tool_calls",
  "brief": "For an AI model call, the tool calls that were made.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "tool_call_1",
    "tool_call_2"
  ],
  "deprecation": {
    "replacement": "gen_ai.output.messages",
    "_status": "backfill"
  },
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        55,
        65
      ]
    }
  ]
}

ai.toolCall.argsDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The arguments of the tool call.

Example{"location": "Paris"}

Use gen_ai.tool.call.arguments instead.

Status: backfill

Changelog
next#498Added ai.toolCall.args attribute
Raw JSON
{
  "key": "ai.toolCall.args",
  "brief": "The arguments of the tool call.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "{\"location\": \"Paris\"}",
  "deprecation": {
    "replacement": "gen_ai.tool.call.arguments",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.tool.call.arguments",
    "gen_ai.tool.input"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        498
      ],
      "description": "Added ai.toolCall.args attribute"
    }
  ]
}

ai.toolCall.resultDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The result of the tool call.

Changelog
next#498Added ai.toolCall.result attribute
Raw JSON
{
  "key": "ai.toolCall.result",
  "brief": "The result of the tool call.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "rainy, 57°F",
  "deprecation": {
    "replacement": "gen_ai.tool.call.result",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.tool.call.result",
    "gen_ai.tool.output",
    "gen_ai.tool.message",
    "mcp.tool.result.content"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        498
      ],
      "description": "Added ai.toolCall.result attribute"
    }
  ]
}

ai.toolsDeprecated

string[]Scrub: ManualVisibility: PublicOTel: False

For an AI model call, the functions that are available

Example["function_1","function_2"]

Use gen_ai.tool.definitions instead.

Status: backfill

Changelog
Raw JSON
{
  "key": "ai.tools",
  "brief": "For an AI model call, the functions that are available",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "function_1",
    "function_2"
  ],
  "deprecation": {
    "replacement": "gen_ai.tool.definitions",
    "_status": "backfill"
  },
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        55,
        65,
        127
      ]
    }
  ]
}

ai.top_kDeprecated

integerScrub: ManualVisibility: PublicOTel: False

Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered).

Example35

Use gen_ai.request.top_k instead.

Status: backfill

Changelog
v0.4.0#228
Raw JSON
{
  "key": "ai.top_k",
  "brief": "Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered).",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 35,
  "deprecation": {
    "replacement": "gen_ai.request.top_k",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.top_k"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108
      ]
    }
  ]
}

ai.top_pDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered).

Example0.7

Use gen_ai.request.top_p instead.

Status: backfill

Changelog
v0.4.0#228
Raw JSON
{
  "key": "ai.top_p",
  "brief": "Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered).",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 0.7,
  "deprecation": {
    "replacement": "gen_ai.request.top_p",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.request.top_p"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55,
        57,
        61,
        108
      ]
    }
  ]
}

ai.total_costDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The total cost for the tokens used.

Example12.34

Use gen_ai.cost.total_tokens instead.

Status: backfill

Changelog
v0.5.0#264
v0.4.0#228
v0.1.0#53
Raw JSON
{
  "key": "ai.total_cost",
  "brief": "The total cost for the tokens used.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 12.34,
  "deprecation": {
    "replacement": "gen_ai.cost.total_tokens",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.cost.total_tokens"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        53
      ]
    }
  ]
}

ai.total_tokens.usedDeprecated

integerScrub: ManualVisibility: PublicOTel: False

The total number of tokens used to process the prompt.

Example30

Use gen_ai.usage.total_tokens instead.

Status: backfill

Changelog
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "ai.total_tokens.used",
  "brief": "The total number of tokens used to process the prompt.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 30,
  "deprecation": {
    "replacement": "gen_ai.usage.total_tokens",
    "_status": "backfill"
  },
  "alias": [
    "gen_ai.usage.total_tokens"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        57,
        61,
        108
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ai.warningsDeprecated

string[]Scrub: AutoVisibility: PublicOTel: False

Warning messages generated during model execution.

Example["Token limit exceeded"]

No replacement available at this time.

Changelog
v0.5.0#264
v0.1.0#55
Raw JSON
{
  "key": "ai.warnings",
  "brief": "Warning messages generated during model execution.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "Token limit exceeded"
  ],
  "deprecation": {
    "_status": null
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        264
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        55
      ]
    }
  ]
}

angular

1 attributes

angular.version

stringScrub: ManualVisibility: PublicOTel: False

The version of the Angular framework

Example17.1.0
Changelog
v0.7.0#367Added angular.version attribute
Raw JSON
{
  "key": "angular.version",
  "brief": "The version of the Angular framework",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "17.1.0",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        367
      ],
      "description": "Added angular.version attribute"
    }
  ]
}

app

27 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"
    }
  ]
}
View all 27 app attributes →

art

11 attributes

art.gc.blocking_count

integerScrub: ManualVisibility: PublicOTel: False

Total number of blocking (stop-the-world) garbage collections performed by the Android Runtime

Example1
Changelog
v0.11.0#382Added art.gc.blocking_count attribute
Raw JSON
{
  "key": "art.gc.blocking_count",
  "brief": "Total number of blocking (stop-the-world) garbage collections performed by the Android Runtime",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1,
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        382
      ],
      "description": "Added art.gc.blocking_count attribute"
    }
  ]
}

art.gc.blocking_time

doubleScrub: ManualVisibility: PublicOTel: False

Total time spent in blocking (stop-the-world) garbage collections by the Android Runtime, in milliseconds

Example11.873
Changelog
v0.11.0#382Added art.gc.blocking_time attribute
Raw JSON
{
  "key": "art.gc.blocking_time",
  "brief": "Total time spent in blocking (stop-the-world) garbage collections by the Android Runtime, in milliseconds",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 11.873,
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        382
      ],
      "description": "Added art.gc.blocking_time attribute"
    }
  ]
}

art.gc.pre_oome_count

integerScrub: ManualVisibility: PublicOTel: False

Total number of garbage collections triggered as a last resort before an OutOfMemoryError by the Android Runtime

Example0
Changelog
v0.11.0#382Added art.gc.pre_oome_count attribute
Raw JSON
{
  "key": "art.gc.pre_oome_count",
  "brief": "Total number of garbage collections triggered as a last resort before an OutOfMemoryError by the Android Runtime",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 0,
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        382
      ],
      "description": "Added art.gc.pre_oome_count attribute"
    }
  ]
}

art.gc.total_count

integerScrub: ManualVisibility: PublicOTel: False

Total number of garbage collections performed by the Android Runtime

Example1
Changelog
v0.11.0#382Added art.gc.total_count attribute
Raw JSON
{
  "key": "art.gc.total_count",
  "brief": "Total number of garbage collections performed by the Android Runtime",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1,
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        382
      ],
      "description": "Added art.gc.total_count attribute"
    }
  ]
}

art.gc.total_time

doubleScrub: ManualVisibility: PublicOTel: False

Total time spent in garbage collection by the Android Runtime, in milliseconds

Example11.807
Changelog
v0.11.0#382Added art.gc.total_time attribute
Raw JSON
{
  "key": "art.gc.total_time",
  "brief": "Total time spent in garbage collection by the Android Runtime, in milliseconds",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 11.807,
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        382
      ],
      "description": "Added art.gc.total_time attribute"
    }
  ]
}

art.gc.waiting_time

doubleScrub: ManualVisibility: PublicOTel: False

Total time threads spent waiting for garbage collection to complete in the Android Runtime, in milliseconds

Example8.054
Changelog
v0.11.0#382Added art.gc.waiting_time attribute
Raw JSON
{
  "key": "art.gc.waiting_time",
  "brief": "Total time threads spent waiting for garbage collection to complete in the Android Runtime, in milliseconds",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 8.054,
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        382
      ],
      "description": "Added art.gc.waiting_time attribute"
    }
  ]
}
View all 11 art attributes →

aws

45 attributes

aws.cloudwatch.logs.log_group

stringScrub: ManualVisibility: PublicOTel: False

The name of the CloudWatch Logs log group

Example/aws/lambda/my-function
Changelog
v0.7.0#369Added aws.cloudwatch.logs.log_group attribute
Raw JSON
{
  "key": "aws.cloudwatch.logs.log_group",
  "brief": "The name of the CloudWatch Logs log group",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "/aws/lambda/my-function",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        369
      ],
      "description": "Added aws.cloudwatch.logs.log_group attribute"
    }
  ]
}

aws.cloudwatch.logs.log_stream

stringScrub: ManualVisibility: PublicOTel: False

The name of the CloudWatch Logs log stream

Example2024/01/01/[$LATEST]abcdef1234567890
Changelog
v0.7.0#369Added aws.cloudwatch.logs.log_stream attribute
Raw JSON
{
  "key": "aws.cloudwatch.logs.log_stream",
  "brief": "The name of the CloudWatch Logs log stream",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "2024/01/01/[$LATEST]abcdef1234567890",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        369
      ],
      "description": "Added aws.cloudwatch.logs.log_stream attribute"
    }
  ]
}

aws.cloudwatch.logs.url

stringScrub: ManualVisibility: PublicOTel: False

The URL to the CloudWatch Logs log group

Examplehttps://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logsV2:log-groups/log-group/my-log-group
Changelog
v0.7.0#369Added aws.cloudwatch.logs.url attribute
Raw JSON
{
  "key": "aws.cloudwatch.logs.url",
  "brief": "The URL to the CloudWatch Logs log group",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logsV2:log-groups/log-group/my-log-group",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        369
      ],
      "description": "Added aws.cloudwatch.logs.url attribute"
    }
  ]
}

aws.dynamodb.attribute_definitions

string[]Scrub: ManualVisibility: PublicOTel: True

The JSON-serialized value of each item in the `AttributeDefinitions` request field.

Example["{ \"AttributeName\": \"string\", \"AttributeType\": \"string\" }"]
Changelog
v0.16.0#479Added aws.dynamodb.attribute_definitions attribute
Raw JSON
{
  "key": "aws.dynamodb.attribute_definitions",
  "brief": "The JSON-serialized value of each item in the `AttributeDefinitions` request field.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": [
    "{ \"AttributeName\": \"string\", \"AttributeType\": \"string\" }"
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        479
      ],
      "description": "Added aws.dynamodb.attribute_definitions attribute"
    }
  ]
}

aws.dynamodb.consistent_read

booleanScrub: ManualVisibility: PublicOTel: True

The value of the `ConsistentRead` request parameter.

Exampletrue
Changelog
v0.16.0#479Added aws.dynamodb.consistent_read attribute
Raw JSON
{
  "key": "aws.dynamodb.consistent_read",
  "brief": "The value of the `ConsistentRead` request parameter.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": true,
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        479
      ],
      "description": "Added aws.dynamodb.consistent_read attribute"
    }
  ]
}

aws.dynamodb.consumed_capacity

string[]Scrub: ManualVisibility: PublicOTel: True

The JSON-serialized value of each item in the `ConsumedCapacity` response field.

Example["{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }"]
Changelog
v0.16.0#479Added aws.dynamodb.consumed_capacity attribute
Raw JSON
{
  "key": "aws.dynamodb.consumed_capacity",
  "brief": "The JSON-serialized value of each item in the `ConsumedCapacity` response field.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": [
    "{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }"
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        479
      ],
      "description": "Added aws.dynamodb.consumed_capacity attribute"
    }
  ]
}
View all 45 aws attributes →

browser

24 attributes

browser.name

stringScrub: ManualVisibility: PublicOTel: False

The name of the browser.

ExampleChrome
Changelog
v0.1.0#127#139
v0.0.0
Raw JSON
{
  "key": "browser.name",
  "brief": "The name of the browser.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Chrome",
  "alias": [
    "sentry.browser.name"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127,
        139
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

browser.performance.navigation.activation_start

doubleScrub: ManualVisibility: PublicOTel: False

The time between initiating a navigation to a page and the browser activating the page

Example1.983
Changelog
v0.5.0#321Added browser.performance.navigation.activation_start attribute
Raw JSON
{
  "key": "browser.performance.navigation.activation_start",
  "brief": "The time between initiating a navigation to a page and the browser activating the page",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1.983,
  "alias": [
    "performance.activationStart"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        321
      ],
      "description": "Added browser.performance.navigation.activation_start attribute"
    }
  ]
}

browser.performance.time_origin

doubleScrub: ManualVisibility: PublicOTel: False

The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated

Example1776185678.886
Changelog
v0.5.0#321Added browser.performance.time_origin attribute attribute
Raw JSON
{
  "key": "browser.performance.time_origin",
  "brief": "The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1776185678.886,
  "alias": [
    "performance.timeOrigin"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        321
      ],
      "description": "Added browser.performance.time_origin attribute attribute"
    }
  ]
}

browser.report.type

stringScrub: ManualVisibility: PublicOTel: False

A browser report sent via reporting API..

Examplenetwork-error
Changelog
v0.1.0#68#127
Raw JSON
{
  "key": "browser.report.type",
  "brief": "A browser report sent via reporting API..",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "network-error",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        68,
        127
      ]
    }
  ]
}

browser.script.invoker

stringScrub: ManualVisibility: PublicOTel: False

How a script was called in the browser.

ExampleWindow.requestAnimationFrame
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "browser.script.invoker",
  "brief": "How a script was called in the browser.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Window.requestAnimationFrame",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

browser.script.invoker_type

stringScrub: ManualVisibility: PublicOTel: False

Browser script entry point type.

Exampleevent-listener
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "browser.script.invoker_type",
  "brief": "Browser script entry point type.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "event-listener",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}
View all 24 browser attributes →

cache

6 attributes

cache.hit

booleanScrub: ManualVisibility: PublicOTel: False

If the cache was hit during this span.

Exampletrue
Changelog
v0.0.0
Raw JSON
{
  "key": "cache.hit",
  "brief": "If the cache was hit during this span.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": true,
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

cache.item_size

integerScrub: ManualVisibility: PublicOTel: False

The size of the requested item in the cache. In bytes.

Example58
Changelog
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "cache.item_size",
  "brief": "The size of the requested item in the cache. In bytes.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 58,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

cache.key

string[]Scrub: ManualVisibility: PublicOTel: False

The key of the cache accessed.

Example["my-cache-key","my-other-cache-key"]
Changelog
v0.0.0
Raw JSON
{
  "key": "cache.key",
  "brief": "The key of the cache accessed.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "my-cache-key",
    "my-other-cache-key"
  ],
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

cache.operation

stringScrub: ManualVisibility: PublicOTel: False

The operation being performed on the cache.

Exampleget
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "cache.operation",
  "brief": "The operation being performed on the cache.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "get",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

cache.ttl

integerScrub: ManualVisibility: PublicOTel: False

The ttl of the cache in seconds

Example120
Changelog
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "cache.ttl",
  "brief": "The ttl of the cache in seconds",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 120,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

cache.write

booleanScrub: ManualVisibility: PublicOTel: False

If the cache operation resulted in a write to the cache.

Exampletrue
Changelog
v0.5.0
Raw JSON
{
  "key": "cache.write",
  "brief": "If the cache operation resulted in a write to the cache.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": true,
  "changelog": [
    {
      "version": "0.5.0"
    }
  ]
}

client

2 attributes

client.address

stringScrub: AutoVisibility: PublicOTel: True

Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.

Exampleexample.com
Changelog
v0.1.0#106#127
v0.0.0
Raw JSON
{
  "key": "client.address",
  "brief": "Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "example.com",
  "alias": [
    "http.client_ip"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        106,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

client.port

integerScrub: ManualVisibility: PublicOTel: True

Client port number.

Example5432
Changelog
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "client.port",
  "brief": "Client port number.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 5432,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

cloud

6 attributes

cloud.account.id

stringScrub: ManualVisibility: PublicOTel: True

The cloud account ID the resource is assigned to

Example123456789012
Changelog
v0.7.0#364Added cloud.account.id attribute
Raw JSON
{
  "key": "cloud.account.id",
  "brief": "The cloud account ID the resource is assigned to",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "123456789012",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        364
      ],
      "description": "Added cloud.account.id attribute"
    }
  ]
}

cloud.availability_zone

stringScrub: ManualVisibility: PublicOTel: True

Cloud regions often have multiple, isolated locations known as zones to increase availability

Exampleus-east-1c
Changelog
v0.7.0#364Added cloud.availability_zone attribute
Raw JSON
{
  "key": "cloud.availability_zone",
  "brief": "Cloud regions often have multiple, isolated locations known as zones to increase availability",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "us-east-1c",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        364
      ],
      "description": "Added cloud.availability_zone attribute"
    }
  ]
}

cloud.platform

stringScrub: ManualVisibility: PublicOTel: True

The cloud platform in use

Exampleaws_lambda
Changelog
v0.7.0#364Added cloud.platform attribute
Raw JSON
{
  "key": "cloud.platform",
  "brief": "The cloud platform in use",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "aws_lambda",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        364
      ],
      "description": "Added cloud.platform attribute"
    }
  ]
}

cloud.provider

stringScrub: ManualVisibility: PublicOTel: True

Name of the cloud provider

Exampleaws
Changelog
v0.7.0#364Added cloud.provider attribute
Raw JSON
{
  "key": "cloud.provider",
  "brief": "Name of the cloud provider",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "aws",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        364
      ],
      "description": "Added cloud.provider attribute"
    }
  ]
}

cloud.region

stringScrub: ManualVisibility: PublicOTel: True

The geographical region the resource is running

Exampleus-east-1
Changelog
v0.7.0#364Added cloud.region attribute
Raw JSON
{
  "key": "cloud.region",
  "brief": "The geographical region the resource is running",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "us-east-1",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        364
      ],
      "description": "Added cloud.region attribute"
    }
  ]
}

cloud.resource_id

stringScrub: ManualVisibility: PublicOTel: True

Cloud provider-specific native identifier of the monitored cloud resource

Examplearn:aws:lambda:REGION:ACCOUNT_ID:function:my-function
Aliasesfaas.id
Additional Context
  • This can be an identifier for a resource in AWS, GCP, or Azure. There may be some overlap in values found here with other attributes. For instance, an AWS lambda ARN may be found here as well as in `aws.lambda.invoked_arn`. OTEL recommends setting them alongside each other.
Changelog
v0.16.0#475Added faas.id as an alias
v0.11.1#414
Raw JSON
{
  "key": "cloud.resource_id",
  "brief": "Cloud provider-specific native identifier of the monitored cloud resource",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function",
  "alias": [
    "faas.id"
  ],
  "additional_context": [
    "This can be an identifier for a resource in AWS, GCP, or Azure. There may be some overlap in values found here with other attributes. For instance, an AWS lambda ARN may be found here as well as in `aws.lambda.invoked_arn`. OTEL recommends setting them alongside each other."
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        475
      ],
      "description": "Added faas.id as an alias"
    },
    {
      "version": "0.11.1",
      "prs": [
        414
      ]
    }
  ]
}

cloudflare

18 attributes

cloudflare.d1.duration

integerScrub: ManualVisibility: PublicOTel: False

The duration of a Cloudflare D1 operation.

Example543
Changelog
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "cloudflare.d1.duration",
  "brief": "The duration of a Cloudflare D1 operation.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 543,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

cloudflare.d1.rows_read

integerScrub: ManualVisibility: PublicOTel: False

The number of rows read in a Cloudflare D1 operation.

Example12
Changelog
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "cloudflare.d1.rows_read",
  "brief": "The number of rows read in a Cloudflare D1 operation.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 12,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

cloudflare.d1.rows_written

integerScrub: ManualVisibility: PublicOTel: False

The number of rows written in a Cloudflare D1 operation.

Example12
Changelog
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "cloudflare.d1.rows_written",
  "brief": "The number of rows written in a Cloudflare D1 operation.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 12,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

cloudflare.durable_object.query.bindings

integerScrub: ManualVisibility: PublicOTel: False

The number of bound parameters passed to the SQL exec call.

Example2
Changelog
v0.13.0#435Added cloudflare.durable_object.query.bindings attribute
Raw JSON
{
  "key": "cloudflare.durable_object.query.bindings",
  "brief": "The number of bound parameters passed to the SQL exec call.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 2,
  "changelog": [
    {
      "version": "0.13.0",
      "prs": [
        435
      ],
      "description": "Added cloudflare.durable_object.query.bindings attribute"
    }
  ]
}

cloudflare.durable_object.response.rows_read

integerScrub: ManualVisibility: PublicOTel: False

The number of rows read by a Cloudflare Durable Object SQL operation.

Example12
Changelog
v0.13.0#435Added cloudflare.durable_object.response.rows_read attribute
Raw JSON
{
  "key": "cloudflare.durable_object.response.rows_read",
  "brief": "The number of rows read by a Cloudflare Durable Object SQL operation.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 12,
  "changelog": [
    {
      "version": "0.13.0",
      "prs": [
        435
      ],
      "description": "Added cloudflare.durable_object.response.rows_read attribute"
    }
  ]
}

cloudflare.durable_object.response.rows_written

integerScrub: ManualVisibility: PublicOTel: False

The number of rows written by a Cloudflare Durable Object SQL operation.

Example1
Changelog
v0.13.0#435Added cloudflare.durable_object.response.rows_written attribute
Raw JSON
{
  "key": "cloudflare.durable_object.response.rows_written",
  "brief": "The number of rows written by a Cloudflare Durable Object SQL operation.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1,
  "changelog": [
    {
      "version": "0.13.0",
      "prs": [
        435
      ],
      "description": "Added cloudflare.durable_object.response.rows_written attribute"
    }
  ]
}
View all 18 cloudflare attributes →

cls

1 attributes
1 deprecated attribute

cls.source.<key>Deprecated

stringScrub: ManualVisibility: PublicOTel: FalseDynamic

The HTML elements or components responsible for the layout shift. <key> is a numeric index from 1 to N

Examplebody > div#app
Dynamic SuffixYes - the key contains dynamic parts

Use browser.web_vital.cls.source.<key> instead.

The CLS source is now recorded as a browser.web_vital.cls.source.<key> attribute.

Status: backfill

Changelog
v0.5.0#234
Raw JSON
{
  "key": "cls.source.<key>",
  "brief": "The HTML elements or components responsible for the layout shift. <key> is a numeric index from 1 to N",
  "has_dynamic_suffix": true,
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "body > div#app",
  "deprecation": {
    "replacement": "browser.web_vital.cls.source.<key>",
    "reason": "The CLS source is now recorded as a browser.web_vital.cls.source.<key> attribute.",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.cls.source.<key>"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        234
      ]
    }
  ]
}

code

7 attributes

code.file.path

stringScrub: ManualVisibility: PublicOTel: True

The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).

Example/app/myapplication/http/handler/server.py
Changelog
v0.0.0
Raw JSON
{
  "key": "code.file.path",
  "brief": "The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "/app/myapplication/http/handler/server.py",
  "alias": [
    "code.filepath"
  ],
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

code.function

stringScrub: ManualVisibility: PublicOTel: True

The method or function name, or equivalent (usually rightmost part of the code unit's name).

Exampleserver_request
Changelog
v0.1.0#61#74
v0.0.0
Raw JSON
{
  "key": "code.function",
  "brief": "The method or function name, or equivalent (usually rightmost part of the code unit's name).",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "server_request",
  "alias": [
    "code.function.name"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        74
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

code.function.name

stringScrub: ManualVisibility: PublicOTel: True

The method or function fully-qualified name without arguments.

Exampleserver_request
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "code.function.name",
  "brief": "The method or function fully-qualified name without arguments.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "server_request",
  "alias": [
    "code.function"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

code.line.number

integerScrub: ManualVisibility: PublicOTel: True

The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function

Example42
Changelog
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "code.line.number",
  "brief": "The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 42,
  "alias": [
    "code.lineno"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

code.namespace

stringScrub: ManualVisibility: PublicOTel: True

The 'namespace' within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.

Examplehttp.handler
Changelog
v0.1.0#61#74
v0.0.0
Raw JSON
{
  "key": "code.namespace",
  "brief": "The 'namespace' within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "http.handler",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        74
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}
2 deprecated attributes

code.filepathDeprecated

stringScrub: ManualVisibility: PublicOTel: True

The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).

Example/app/myapplication/http/handler/server.py

Use code.file.path instead.

Changelog
v0.1.0#61
v0.0.0
Raw JSON
{
  "key": "code.filepath",
  "brief": "The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "/app/myapplication/http/handler/server.py",
  "deprecation": {
    "replacement": "code.file.path",
    "_status": null
  },
  "alias": [
    "code.file.path"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

code.linenoDeprecated

integerScrub: ManualVisibility: PublicOTel: True

The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function

Example42

Use code.line.number instead.

Changelog
v0.4.0#228
v0.1.0#61#108
v0.0.0
Raw JSON
{
  "key": "code.lineno",
  "brief": "The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 42,
  "deprecation": {
    "replacement": "code.line.number",
    "_status": null
  },
  "alias": [
    "code.line.number"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        61,
        108
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

connection

1 attributes
1 deprecated attribute

connection.rttDeprecated

integerScrub: ManualVisibility: PublicOTel: False

Specifies the estimated effective round-trip time of the current connection, in milliseconds.

Example100

Use network.connection.rtt instead.

Old attribute name (no official namespace), to be replaced with network.connection.rtt for span-first future

Status: backfill

Changelog
v0.5.0#279Added and deprecated attribute to document JS SDK's current behaviour
Raw JSON
{
  "key": "connection.rtt",
  "brief": "Specifies the estimated effective round-trip time of the current connection, in milliseconds.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 100,
  "deprecation": {
    "replacement": "network.connection.rtt",
    "reason": "Old attribute name (no official namespace), to be replaced with network.connection.rtt for span-first future",
    "_status": "backfill"
  },
  "alias": [
    "network.connection.rtt"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        279
      ],
      "description": "Added and deprecated attribute to document JS SDK's current behaviour"
    }
  ]
}

culture

5 attributes

culture.calendar

stringScrub: ManualVisibility: PublicOTel: False

The calendar system used by the culture.

ExampleGregorianCalendar
Changelog
v0.4.0#243
Raw JSON
{
  "key": "culture.calendar",
  "brief": "The calendar system used by the culture.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "GregorianCalendar",
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        243
      ]
    }
  ]
}

culture.display_name

stringScrub: ManualVisibility: PublicOTel: False

Human readable name of the culture.

ExampleEnglish (United States)
Changelog
v0.4.0#243
Raw JSON
{
  "key": "culture.display_name",
  "brief": "Human readable name of the culture.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "English (United States)",
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        243
      ]
    }
  ]
}

culture.is_24_hour_format

booleanScrub: ManualVisibility: PublicOTel: False

Whether the culture uses 24-hour time format.

Exampletrue
Changelog
v0.4.0#243
Raw JSON
{
  "key": "culture.is_24_hour_format",
  "brief": "Whether the culture uses 24-hour time format.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": true,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        243
      ]
    }
  ]
}

culture.locale

stringScrub: ManualVisibility: PublicOTel: False

The locale identifier following RFC 4646.

Exampleen-US
Changelog
v0.4.0#243
Raw JSON
{
  "key": "culture.locale",
  "brief": "The locale identifier following RFC 4646.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "en-US",
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        243
      ]
    }
  ]
}

culture.timezone

stringScrub: ManualVisibility: PublicOTel: False

The timezone of the culture, as a geographic timezone identifier.

ExampleEurope/Vienna
Changelog
v0.4.0#243
Raw JSON
{
  "key": "culture.timezone",
  "brief": "The timezone of the culture, as a geographic timezone identifier.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Europe/Vienna",
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        243
      ]
    }
  ]
}

db

21 attributes

db.collection.name

stringScrub: ManualVisibility: PublicOTel: True

The name of a collection (table, container) within the database.

Exampleusers
Changelog
nextAdded db.mongodb.collection as an alias
v0.1.0#106#127
v0.0.0
Raw JSON
{
  "key": "db.collection.name",
  "brief": "The name of a collection (table, container) within the database.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "users",
  "alias": [
    "db.mongodb.collection"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added db.mongodb.collection as an alias"
    },
    {
      "version": "0.1.0",
      "prs": [
        106,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

db.driver.name

stringScrub: ManualVisibility: PublicOTel: False

The name of the driver used for the database connection.

Examplepsycopg2
Changelog
v0.5.0#297Added db.driver.name attribute
Raw JSON
{
  "key": "db.driver.name",
  "brief": "The name of the driver used for the database connection.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "psycopg2",
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        297
      ],
      "description": "Added db.driver.name attribute"
    }
  ]
}

db.namespace

stringScrub: ManualVisibility: PublicOTel: True

The name of the database being accessed.

Examplecustomers
Aliasesdb.name
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "db.namespace",
  "brief": "The name of the database being accessed.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "customers",
  "alias": [
    "db.name"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

db.operation.batch.size

integerScrub: ManualVisibility: PublicOTel: True

The number of queries included in a batch operation. Operations are only considered batches when they contain two or more operations, and so db.operation.batch.size SHOULD never be 1.

Example3
Changelog
v0.11.0#407Added db.operation.batch.size attribute
Raw JSON
{
  "key": "db.operation.batch.size",
  "brief": "The number of queries included in a batch operation. Operations are only considered batches when they contain two or more operations, and so db.operation.batch.size SHOULD never be 1.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 3,
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        407
      ],
      "description": "Added db.operation.batch.size attribute"
    }
  ]
}

db.operation.name

stringScrub: ManualVisibility: PublicOTel: True

The name of the operation being executed.

Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "db.operation.name",
  "brief": "The name of the operation being executed.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "SELECT",
  "alias": [
    "db.operation",
    "cloudflare.d1.query_type"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

db.query.parameter.<key>

stringScrub: AutoVisibility: PublicOTel: TrueDynamic

A query parameter used in db.query.text, with <key> being the parameter name, and the attribute value being a string representation of the parameter value.

Exampledb.query.parameter.foo='123'
Dynamic SuffixYes - the key contains dynamic parts
Changelog
v0.1.0#103#127
Raw JSON
{
  "key": "db.query.parameter.<key>",
  "brief": "A query parameter used in db.query.text, with <key> being the parameter name, and the attribute value being a string representation of the parameter value.",
  "has_dynamic_suffix": true,
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "db.query.parameter.foo='123'",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        103,
        127
      ]
    }
  ]
}
View all 21 db attributes →

device

38 attributes

device.archs

string[]Scrub: ManualVisibility: PublicOTel: False

The CPU architectures of the device.

Example["arm64-v8a","armeabi-v7a","armeabi"]
Changelog
v0.5.0#303Added device.archs attribute
Raw JSON
{
  "key": "device.archs",
  "brief": "The CPU architectures of the device.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "arm64-v8a",
    "armeabi-v7a",
    "armeabi"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        303
      ],
      "description": "Added device.archs attribute"
    }
  ]
}

device.battery_level

doubleScrub: ManualVisibility: PublicOTel: False

The battery level of the device as a percentage (0-100).

Example100
Changelog
v0.5.0#303Added device.battery_level attribute
Raw JSON
{
  "key": "device.battery_level",
  "brief": "The battery level of the device as a percentage (0-100).",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 100,
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        303
      ],
      "description": "Added device.battery_level attribute"
    }
  ]
}

device.battery_temperature

doubleScrub: ManualVisibility: PublicOTel: False

The battery temperature of the device in Celsius.

Example25
Changelog
v0.5.0#303Added device.battery_temperature attribute
Raw JSON
{
  "key": "device.battery_temperature",
  "brief": "The battery temperature of the device in Celsius.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 25,
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        303
      ],
      "description": "Added device.battery_temperature attribute"
    }
  ]
}

device.boot_time

stringScrub: ManualVisibility: PublicOTel: False

A formatted UTC timestamp when the system was booted.

Example2018-02-08T12:52:12Z
Changelog
v0.5.0#303Added device.boot_time attribute
Raw JSON
{
  "key": "device.boot_time",
  "brief": "A formatted UTC timestamp when the system was booted.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "2018-02-08T12:52:12Z",
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        303
      ],
      "description": "Added device.boot_time attribute"
    }
  ]
}

device.brand

stringScrub: ManualVisibility: PublicOTel: False

The brand of the device.

ExampleApple
Changelog
v0.1.0#116#127
Raw JSON
{
  "key": "device.brand",
  "brief": "The brand of the device.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Apple",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        116,
        127
      ]
    }
  ]
}

device.charging

booleanScrub: ManualVisibility: PublicOTel: False

Whether the device was charging or not.

Examplefalse
Changelog
v0.5.0#303Added device.charging attribute
Raw JSON
{
  "key": "device.charging",
  "brief": "Whether the device was charging or not.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": false,
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        303
      ],
      "description": "Added device.charging attribute"
    }
  ]
}
View all 38 device attributes →

django

1 attributes
1 deprecated attribute

django.middleware_nameDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The name of the Django middleware.

ExamplesAuthenticationMiddleware

Use middleware.name instead.

This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.

Status: backfill

Changelog
next#520Added django.middleware_name attribute
Raw JSON
{
  "key": "django.middleware_name",
  "brief": "The name of the Django middleware.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "AuthenticationMiddleware"
  ],
  "deprecation": {
    "replacement": "middleware.name",
    "reason": "This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.",
    "_status": "backfill"
  },
  "alias": [
    "middleware.name"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        520
      ],
      "description": "Added django.middleware_name attribute"
    }
  ]
}

error

1 attributes

error.type

stringScrub: ManualVisibility: PublicOTel: True

Describes a class of error the operation ended with.

Exampletimeout
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "error.type",
  "brief": "Describes a class of error the operation ended with.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "timeout",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

event

2 attributes

event.id

integerScrub: ManualVisibility: PublicOTel: False

The unique identifier for this event (log record)

Example1234567890
Changelog
v0.1.0#101
Raw JSON
{
  "key": "event.id",
  "brief": "The unique identifier for this event (log record)",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1234567890,
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        101
      ]
    }
  ]
}

event.name

stringScrub: ManualVisibility: PublicOTel: False

The name that uniquely identifies this event (log record)

ExampleProcess Payload
Changelog
v0.1.0#101#127
Raw JSON
{
  "key": "event.name",
  "brief": "The name that uniquely identifies this event (log record)",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Process Payload",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        101,
        127
      ]
    }
  ]
}

exception

4 attributes

exception.escaped

booleanScrub: ManualVisibility: PublicOTel: True

SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.

Exampletrue
Changelog
v0.0.0
Raw JSON
{
  "key": "exception.escaped",
  "brief": "SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": true,
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

exception.message

stringScrub: AutoVisibility: PublicOTel: True

The error message.

ExampleENOENT: no such file or directory
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "exception.message",
  "brief": "The error message.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "ENOENT: no such file or directory",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

exception.stacktrace

stringScrub: AutoVisibility: PublicOTel: True

A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.

ExampleException in thread "main" java.lang.RuntimeException: Test exception at com.example.GenerateTrace.methodB(GenerateTrace.java:13) at com.example.GenerateTrace.methodA(GenerateTrace.java:9) at com.example.GenerateTrace.main(GenerateTrace.java:5)
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "exception.stacktrace",
  "brief": "A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "Exception in thread \"main\" java.lang.RuntimeException: Test exception\n at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\n at com.example.GenerateTrace.methodA(GenerateTrace.java:9)\n at com.example.GenerateTrace.main(GenerateTrace.java:5)",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

exception.type

stringScrub: ManualVisibility: PublicOTel: True

The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.

ExampleOSError
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "exception.type",
  "brief": "The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "OSError",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

faas

15 attributes

faas.coldstart

booleanScrub: ManualVisibility: PublicOTel: True

A boolean that is true if the serverless function is executed for the first time (aka cold-start).

Exampletrue
Changelog
v0.0.0
Raw JSON
{
  "key": "faas.coldstart",
  "brief": "A boolean that is true if the serverless function is executed for the first time (aka cold-start).",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": true,
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

faas.cron

stringScrub: ManualVisibility: PublicOTel: True

A string containing the schedule period as Cron Expression.

Example0/5 * * * ? *
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "faas.cron",
  "brief": "A string containing the schedule period as Cron Expression.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "0/5 * * * ? *",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

faas.duration_in_ms

integerScrub: ManualVisibility: PublicOTel: False

The duration a function took to run, in milliseconds.

Example120
Changelog
v0.11.0#403
Raw JSON
{
  "key": "faas.duration_in_ms",
  "brief": "The duration a function took to run, in milliseconds.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 120,
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        403
      ]
    }
  ]
}

faas.entry_point

stringScrub: ManualVisibility: PublicOTel: False

The code that's run when the cloud provider invokes your function.

Examplemy_main_function
Changelog
v0.11.0#403#415
Raw JSON
{
  "key": "faas.entry_point",
  "brief": "The code that's run when the cloud provider invokes your function.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "my_main_function",
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        403,
        415
      ]
    }
  ]
}

faas.identity

stringScrub: ManualVisibility: PublicOTel: False

The Service Account (GCP), IAM Execution Role (AWS), or Managed Identity (Azure) used by the serverless function when interacting with other cloud services

Examplename@project.iam.gserviceaccount.com (GCP), arn:aws:iam::123456789012:role/role-name (AWS), 00000000-0000-0000-0000-000000000000 (Azure)
Changelog
v0.11.0#403
Raw JSON
{
  "key": "faas.identity",
  "brief": "The Service Account (GCP), IAM Execution Role (AWS), or Managed Identity (Azure) used by the serverless function when interacting with other cloud services",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "name@project.iam.gserviceaccount.com (GCP), arn:aws:iam::123456789012:role/role-name (AWS), 00000000-0000-0000-0000-000000000000 (Azure)",
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        403
      ]
    }
  ]
}

faas.invocation_id

stringScrub: ManualVisibility: PublicOTel: True

The invocation ID of the current function invocation.

Exampleaf9d5aa4-a685-4c5f-a22b-444f80b3cc28
Changelog
v0.16.0#473Added faas.execution as an alias
v0.11.1#414#424
Raw JSON
{
  "key": "faas.invocation_id",
  "brief": "The invocation ID of the current function invocation.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "af9d5aa4-a685-4c5f-a22b-444f80b3cc28",
  "alias": [
    "aws.lambda.aws_request_id",
    "faas.execution"
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        473
      ],
      "description": "Added faas.execution as an alias"
    },
    {
      "version": "0.11.1",
      "prs": [
        414,
        424
      ]
    }
  ]
}
View all 15 faas attributes →

file

2 attributes

file.path

stringScrub: AutoVisibility: PublicOTel: True

Path to the file.

Scrubbing ReasonFile paths can contain end-user paths (e.g. from stack traces) that may be sensitive.
Example/home/user/example.txt
Changelog
v0.17.0#458Added file.path attribute
Raw JSON
{
  "key": "file.path",
  "brief": "Path to the file.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto",
    "reason": "File paths can contain end-user paths (e.g. from stack traces) that may be sensitive."
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "/home/user/example.txt",
  "changelog": [
    {
      "version": "0.17.0",
      "prs": [
        458
      ],
      "description": "Added file.path attribute"
    }
  ]
}

file.size

integerScrub: ManualVisibility: PublicOTel: True

File size in bytes.

Example1024
Changelog
v0.17.0#458Added file.size attribute
Raw JSON
{
  "key": "file.size",
  "brief": "File size in bytes.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 1024,
  "changelog": [
    {
      "version": "0.17.0",
      "prs": [
        458
      ],
      "description": "Added file.size attribute"
    }
  ]
}

flag

1 attributes

flag.evaluation.<key>

booleanScrub: ManualVisibility: PublicOTel: FalseDynamic

An instance of a feature flag evaluation. The value of this attribute is the boolean representing the evaluation result. The <key> suffix is the name of the feature flag.

Exampleflag.evaluation.is_new_ui=true
Dynamic SuffixYes - the key contains dynamic parts
Changelog
v0.1.0#103
Raw JSON
{
  "key": "flag.evaluation.<key>",
  "brief": "An instance of a feature flag evaluation. The value of this attribute is the boolean representing the evaluation result. The <key> suffix is the name of the feature flag.",
  "has_dynamic_suffix": true,
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "flag.evaluation.is_new_ui=true",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        103
      ]
    }
  ]
}

frames

4 attributes
4 deprecated attributes

frames.delayDeprecated

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

Use app.vitals.frames.delay.value instead.

Replaced by app.vitals.frames.delay.value to align with the app.vitals.* namespace for mobile performance attributes

Status: backfill

Changelog
v0.5.0#313Deprecated in favor of app.vitals.frames.delay.value
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "frames.delay",
  "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,
  "deprecation": {
    "replacement": "app.vitals.frames.delay.value",
    "reason": "Replaced by app.vitals.frames.delay.value to align with the app.vitals.* namespace for mobile performance attributes",
    "_status": "backfill"
  },
  "alias": [
    "app.vitals.frames.delay.value"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        313
      ],
      "description": "Deprecated in favor of app.vitals.frames.delay.value"
    },
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

frames.frozenDeprecated

integerScrub: ManualVisibility: PublicOTel: False

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

Example3

Use app.vitals.frames.frozen.count instead.

Replaced by app.vitals.frames.frozen.count to align with the app.vitals.* namespace for mobile performance attributes

Status: backfill

Changelog
next#500Added sentry.frames.frozen as an alias
v0.5.0#313Deprecated in favor of app.vitals.frames.frozen.count
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "frames.frozen",
  "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,
  "deprecation": {
    "replacement": "app.vitals.frames.frozen.count",
    "reason": "Replaced by app.vitals.frames.frozen.count to align with the app.vitals.* namespace for mobile performance attributes",
    "_status": "backfill"
  },
  "alias": [
    "app.vitals.frames.frozen.count",
    "sentry.frames.frozen"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        500
      ],
      "description": "Added sentry.frames.frozen as an alias"
    },
    {
      "version": "0.5.0",
      "prs": [
        313
      ],
      "description": "Deprecated in favor of app.vitals.frames.frozen.count"
    },
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

frames.slowDeprecated

integerScrub: ManualVisibility: PublicOTel: False

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

Example1

Use app.vitals.frames.slow.count instead.

Replaced by app.vitals.frames.slow.count to align with the app.vitals.* namespace for mobile performance attributes

Status: backfill

Changelog
next#500Added sentry.frames.slow as an alias
v0.5.0#313Deprecated in favor of app.vitals.frames.slow.count
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "frames.slow",
  "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,
  "deprecation": {
    "replacement": "app.vitals.frames.slow.count",
    "reason": "Replaced by app.vitals.frames.slow.count to align with the app.vitals.* namespace for mobile performance attributes",
    "_status": "backfill"
  },
  "alias": [
    "app.vitals.frames.slow.count",
    "sentry.frames.slow"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        500
      ],
      "description": "Added sentry.frames.slow as an alias"
    },
    {
      "version": "0.5.0",
      "prs": [
        313
      ],
      "description": "Deprecated in favor of app.vitals.frames.slow.count"
    },
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

frames.totalDeprecated

integerScrub: ManualVisibility: PublicOTel: False

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

Example60

Use app.vitals.frames.total.count instead.

Replaced by app.vitals.frames.total.count to align with the app.vitals.* namespace for mobile performance attributes

Status: backfill

Changelog
next#500Added sentry.frames.total as an alias
v0.5.0#313Deprecated in favor of app.vitals.frames.total.count
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "frames.total",
  "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,
  "deprecation": {
    "replacement": "app.vitals.frames.total.count",
    "reason": "Replaced by app.vitals.frames.total.count to align with the app.vitals.* namespace for mobile performance attributes",
    "_status": "backfill"
  },
  "alias": [
    "app.vitals.frames.total.count",
    "sentry.frames.total"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        500
      ],
      "description": "Added sentry.frames.total as an alias"
    },
    {
      "version": "0.5.0",
      "prs": [
        313
      ],
      "description": "Deprecated in favor of app.vitals.frames.total.count"
    },
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

gcp

10 attributes

gcp.function.context.event_id

stringScrub: ManualVisibility: PublicOTel: False

The event ID from the legacy GCP Cloud Function context (1st gen)

Example1234567890
Changelog
v0.7.0#371Added gcp.function.context.event_id attribute
Raw JSON
{
  "key": "gcp.function.context.event_id",
  "brief": "The event ID from the legacy GCP Cloud Function context (1st gen)",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "1234567890",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        371
      ],
      "description": "Added gcp.function.context.event_id attribute"
    }
  ]
}

gcp.function.context.event_type

stringScrub: ManualVisibility: PublicOTel: False

The type of the GCP Cloud Function event

Examplegoogle.pubsub.topic.publish
Changelog
v0.7.0#371Added gcp.function.context.event_type attribute
Raw JSON
{
  "key": "gcp.function.context.event_type",
  "brief": "The type of the GCP Cloud Function event",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "google.pubsub.topic.publish",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        371
      ],
      "description": "Added gcp.function.context.event_type attribute"
    }
  ]
}

gcp.function.context.id

stringScrub: ManualVisibility: PublicOTel: False

The unique event ID from the GCP CloudEvents context (2nd gen Cloud Functions)

Example1234567890
Changelog
v0.7.0#371Added gcp.function.context.id attribute
Raw JSON
{
  "key": "gcp.function.context.id",
  "brief": "The unique event ID from the GCP CloudEvents context (2nd gen Cloud Functions)",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "1234567890",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        371
      ],
      "description": "Added gcp.function.context.id attribute"
    }
  ]
}

gcp.function.context.resource

stringScrub: ManualVisibility: PublicOTel: False

The resource that triggered the GCP Cloud Function event

Exampleprojects/my-project/topics/my-topic
Changelog
v0.7.0#371Added gcp.function.context.resource attribute
Raw JSON
{
  "key": "gcp.function.context.resource",
  "brief": "The resource that triggered the GCP Cloud Function event",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "projects/my-project/topics/my-topic",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        371
      ],
      "description": "Added gcp.function.context.resource attribute"
    }
  ]
}

gcp.function.context.source

stringScrub: ManualVisibility: PublicOTel: False

The source of the GCP Cloud Function event

Example//pubsub.googleapis.com/projects/my-project/topics/my-topic
Changelog
v0.7.0#371Added gcp.function.context.source attribute
Raw JSON
{
  "key": "gcp.function.context.source",
  "brief": "The source of the GCP Cloud Function event",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "//pubsub.googleapis.com/projects/my-project/topics/my-topic",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        371
      ],
      "description": "Added gcp.function.context.source attribute"
    }
  ]
}

gcp.function.context.specversion

stringScrub: ManualVisibility: PublicOTel: False

The CloudEvents specification version of the GCP Cloud Function event

Example1.0
Changelog
v0.7.0#371Added gcp.function.context.specversion attribute
Raw JSON
{
  "key": "gcp.function.context.specversion",
  "brief": "The CloudEvents specification version of the GCP Cloud Function event",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "1.0",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        371
      ],
      "description": "Added gcp.function.context.specversion attribute"
    }
  ]
}
View all 10 gcp attributes →

gen_ai

65 attributes

gen_ai.agent.name

stringScrub: ManualVisibility: PublicOTel: True

The name of the agent being used.

ExampleResearchAssistant
Changelog
v0.1.0#62#127
Raw JSON
{
  "key": "gen_ai.agent.name",
  "brief": "The name of the agent being used.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "ResearchAssistant",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        62,
        127
      ]
    }
  ]
}

gen_ai.context.utilization

doubleScrub: ManualVisibility: PublicOTel: False

The fraction of the model context window utilized by this generation.

Example0.75
Changelog
v0.5.0#315Added gen_ai.context.utilization attribute
Raw JSON
{
  "key": "gen_ai.context.utilization",
  "brief": "The fraction of the model context window utilized by this generation.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 0.75,
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        315
      ],
      "description": "Added gen_ai.context.utilization attribute"
    }
  ]
}

gen_ai.context.window_size

integerScrub: ManualVisibility: PublicOTel: False

The maximum context window size supported by the model for this generation.

Example128000
Changelog
v0.5.0#315Added gen_ai.context.window_size attribute
Raw JSON
{
  "key": "gen_ai.context.window_size",
  "brief": "The maximum context window size supported by the model for this generation.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 128000,
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        315
      ],
      "description": "Added gen_ai.context.window_size attribute"
    }
  ]
}

gen_ai.conversation.id

stringScrub: ManualVisibility: PublicOTel: True

The unique identifier for a conversation (session, thread), used to store and correlate messages within this conversation.

Exampleconv_5j66UpCpwteGg4YSxUnt7lPY
Changelog
v0.4.0#250
Raw JSON
{
  "key": "gen_ai.conversation.id",
  "brief": "The unique identifier for a conversation (session, thread), used to store and correlate messages within this conversation.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "conv_5j66UpCpwteGg4YSxUnt7lPY",
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        250
      ]
    }
  ]
}

gen_ai.cost.cache_creation.input_tokens

doubleScrub: ManualVisibility: PublicOTel: False

The cost of input tokens written to cache in USD.

Example12.34
Additional Context
  • This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.
  • Despite the name 'cost.cache_creation.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.cache_creation.input_tokens.
  • This is a subset of gen_ai.cost.input_tokens, not an independent cost. Do not sum this with gen_ai.cost.input_tokens — it is already included.
Changelog
v0.16.0Added gen_ai.cost.cache_creation.input_tokens attribute
Raw JSON
{
  "key": "gen_ai.cost.cache_creation.input_tokens",
  "brief": "The cost of input tokens written to cache in USD.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 12.34,
  "additional_context": [
    "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.",
    "Despite the name 'cost.cache_creation.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.cache_creation.input_tokens.",
    "This is a subset of gen_ai.cost.input_tokens, not an independent cost. Do not sum this with gen_ai.cost.input_tokens — it is already included."
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [],
      "description": "Added gen_ai.cost.cache_creation.input_tokens attribute"
    }
  ]
}

gen_ai.cost.cache_read.input_tokens

doubleScrub: ManualVisibility: PublicOTel: False

The cost of cached input tokens in USD.

Example12.34
Additional Context
  • This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.
  • Despite the name 'cost.cache_read.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.cache_read.input_tokens.
  • This is a subset of gen_ai.cost.input_tokens, not an independent cost. Do not sum this with gen_ai.cost.input_tokens — it is already included.
Changelog
v0.16.0Added gen_ai.cost.cache_read.input_tokens attribute
Raw JSON
{
  "key": "gen_ai.cost.cache_read.input_tokens",
  "brief": "The cost of cached input tokens in USD.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 12.34,
  "additional_context": [
    "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.",
    "Despite the name 'cost.cache_read.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.cache_read.input_tokens.",
    "This is a subset of gen_ai.cost.input_tokens, not an independent cost. Do not sum this with gen_ai.cost.input_tokens — it is already included."
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [],
      "description": "Added gen_ai.cost.cache_read.input_tokens attribute"
    }
  ]
}
View all 65 gen_ai attributes →

graphql

3 attributes

graphql.document

stringScrub: AutoVisibility: PublicOTel: True

The GraphQL document being executed.

Scrubbing ReasonThe document may contain sensitive information in arguments or variables. Instrumentation should redact sensitive information when possible.
Examplequery findBookById { bookById(id: ?) { name } }
Changelog
v0.7.0Adds the `graphql.document` attribute to track the GraphQL document being executed.
Raw JSON
{
  "key": "graphql.document",
  "brief": "The GraphQL document being executed.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto",
    "reason": "The document may contain sensitive information in arguments or variables. Instrumentation should redact sensitive information when possible."
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "query findBookById { bookById(id: ?) { name } }",
  "changelog": [
    {
      "version": "0.7.0",
      "description": "Adds the `graphql.document` attribute to track the GraphQL document being executed."
    }
  ]
}

graphql.operation.name

stringScrub: ManualVisibility: PublicOTel: True

The name of the operation being executed.

ExamplefindBookById
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "graphql.operation.name",
  "brief": "The name of the operation being executed.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "findBookById",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

graphql.operation.type

stringScrub: ManualVisibility: PublicOTel: True

The type of the operation being executed.

Examplequery
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "graphql.operation.type",
  "brief": "The type of the operation being executed.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "query",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

grpc

13 attributes

grpc.error.bad_request.field_violations

string[]Scrub: ManualVisibility: PublicOTel: False

The individual field violations from a google.rpc.BadRequest error detail. Each entry is a JSON-encoded object with field, description, reason, and (optional) localized_message keys, mirroring google.rpc.BadRequest.FieldViolation.

Example["{\"field\":\"email\",\"description\":\"must be a valid email address\",\"reason\":\"FIELD_INVALID\",\"localized_message\":{\"locale\":\"en-US\",\"message\":\"Must be a valid email address\"}}"]
Changelog
v0.17.0#460Added grpc.error.bad_request.field_violations attribute
Raw JSON
{
  "key": "grpc.error.bad_request.field_violations",
  "brief": "The individual field violations from a google.rpc.BadRequest error detail. Each entry is a JSON-encoded object with field, description, reason, and (optional) localized_message keys, mirroring google.rpc.BadRequest.FieldViolation.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "{\"field\":\"email\",\"description\":\"must be a valid email address\",\"reason\":\"FIELD_INVALID\",\"localized_message\":{\"locale\":\"en-US\",\"message\":\"Must be a valid email address\"}}"
  ],
  "changelog": [
    {
      "version": "0.17.0",
      "prs": [
        460
      ],
      "description": "Added grpc.error.bad_request.field_violations attribute"
    }
  ]
}

grpc.error.debug_info.detail

stringScrub: AutoVisibility: PublicOTel: False

Additional debugging information, such as a server-side stack trace, from a google.rpc.DebugInfo error detail. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly.

Exampleat com.example.Service.method(Service.java:42)
Changelog
v0.17.0#460Added grpc.error.debug_info.detail attribute
Raw JSON
{
  "key": "grpc.error.debug_info.detail",
  "brief": "Additional debugging information, such as a server-side stack trace, from a google.rpc.DebugInfo error detail. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "at com.example.Service.method(Service.java:42)",
  "changelog": [
    {
      "version": "0.17.0",
      "prs": [
        460
      ],
      "description": "Added grpc.error.debug_info.detail attribute"
    }
  ]
}

grpc.error.debug_info.stack_entries

string[]Scrub: AutoVisibility: PublicOTel: False

The server-side stack trace entries from a google.rpc.DebugInfo error detail. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly.

Example["com.example.Service.method(Service.java:42)","com.example.Server.handle(Server.java:100)"]
Changelog
v0.17.0#460Added grpc.error.debug_info.stack_entries attribute
Raw JSON
{
  "key": "grpc.error.debug_info.stack_entries",
  "brief": "The server-side stack trace entries from a google.rpc.DebugInfo error detail. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "com.example.Service.method(Service.java:42)",
    "com.example.Server.handle(Server.java:100)"
  ],
  "changelog": [
    {
      "version": "0.17.0",
      "prs": [
        460
      ],
      "description": "Added grpc.error.debug_info.stack_entries attribute"
    }
  ]
}

grpc.error.error_info.domain

stringScrub: ManualVisibility: PublicOTel: False

The logical grouping to which the gRPC error reason belongs, from the google.rpc.ErrorInfo error detail.

Exampleexample.sentry.io
Changelog
v0.17.0#460Added grpc.error.error_info.domain attribute
Raw JSON
{
  "key": "grpc.error.error_info.domain",
  "brief": "The logical grouping to which the gRPC error reason belongs, from the google.rpc.ErrorInfo error detail.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "example.sentry.io",
  "changelog": [
    {
      "version": "0.17.0",
      "prs": [
        460
      ],
      "description": "Added grpc.error.error_info.domain attribute"
    }
  ]
}

grpc.error.error_info.metadata.<key>

stringScrub: AutoVisibility: PublicOTel: FalseDynamic

Additional structured metadata attached to a google.rpc.ErrorInfo error detail, with <key> being the metadata key name. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly.

Examplegrpc.error.error_info.metadata.user_id='123'
Dynamic SuffixYes - the key contains dynamic parts
Changelog
v0.17.0#460Added grpc.error.error_info.metadata.<key> attribute
Raw JSON
{
  "key": "grpc.error.error_info.metadata.<key>",
  "brief": "Additional structured metadata attached to a google.rpc.ErrorInfo error detail, with <key> being the metadata key name. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly.",
  "has_dynamic_suffix": true,
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "grpc.error.error_info.metadata.user_id='123'",
  "changelog": [
    {
      "version": "0.17.0",
      "prs": [
        460
      ],
      "description": "Added grpc.error.error_info.metadata.<key> attribute"
    }
  ]
}

grpc.error.error_info.reason

stringScrub: ManualVisibility: PublicOTel: False

The reason for the gRPC error, as defined by the service that generated it, from the google.rpc.ErrorInfo error detail.

ExampleFIELD_INVALID
Changelog
v0.17.0#460Added grpc.error.error_info.reason attribute
Raw JSON
{
  "key": "grpc.error.error_info.reason",
  "brief": "The reason for the gRPC error, as defined by the service that generated it, from the google.rpc.ErrorInfo error detail.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "FIELD_INVALID",
  "changelog": [
    {
      "version": "0.17.0",
      "prs": [
        460
      ],
      "description": "Added grpc.error.error_info.reason attribute"
    }
  ]
}
View all 13 grpc attributes →

http

41 attributes

http.decoded_response_content_length

integerScrub: ManualVisibility: PublicOTel: False

The decoded body size of the response (in bytes).

Example456
Changelog
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "http.decoded_response_content_length",
  "brief": "The decoded body size of the response (in bytes).",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 456,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

http.fragment

stringScrub: AutoVisibility: PublicOTel: False

The fragments present in the URI. Note that this contains the leading # character, while the `url.fragment` attribute does not.

Example#details
Changelog
v0.0.0
Raw JSON
{
  "key": "http.fragment",
  "brief": "The fragments present in the URI. Note that this contains the leading # character, while the `url.fragment` attribute does not.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "#details",
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

http.query

stringScrub: AutoVisibility: PublicOTel: False

The query string present in the URL. Note that this contains the leading ? character, while the `url.query` attribute does not.

Scrubbing ReasonQuery string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.
Example?foo=bar&bar=baz
Changelog
v0.0.0
Raw JSON
{
  "key": "http.query",
  "brief": "The query string present in the URL. Note that this contains the leading ? character, while the `url.query` attribute does not.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto",
    "reason": "Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information."
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "?foo=bar&bar=baz",
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

http.request.body.data

stringScrub: AutoVisibility: PublicOTel: False

HTTP request body data. Can be given as string or structural data of any format.

Example[{"role": "user", "message": "hello"}]
Changelog
v0.6.0#336Added http.request.body.data attribute
Raw JSON
{
  "key": "http.request.body.data",
  "brief": "HTTP request body data. Can be given as string or structural data of any format.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "[{\"role\": \"user\", \"message\": \"hello\"}]",
  "changelog": [
    {
      "version": "0.6.0",
      "prs": [
        336
      ],
      "description": "Added http.request.body.data attribute"
    }
  ]
}

http.request.connect_start

doubleScrub: ManualVisibility: PublicOTel: False

The UNIX timestamp representing the time immediately before the user agent starts establishing the connection to the server to retrieve the resource.

Example1732829555.111
Changelog
v0.4.0#228
v0.1.0#134
v0.0.0
Raw JSON
{
  "key": "http.request.connect_start",
  "brief": "The UNIX timestamp representing the time immediately before the user agent starts establishing the connection to the server to retrieve the resource.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1732829555.111,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        134
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

http.request.connection_end

doubleScrub: ManualVisibility: PublicOTel: False

The UNIX timestamp representing the time immediately after the browser finishes establishing the connection to the server to retrieve the resource. The timestamp value includes the time interval to establish the transport connection, as well as other time intervals such as TLS handshake and SOCKS authentication.

Example1732829555.15
Changelog
v0.4.0#228
v0.1.0#134
v0.0.0
Raw JSON
{
  "key": "http.request.connection_end",
  "brief": "The UNIX timestamp representing the time immediately after the browser finishes establishing the connection to the server to retrieve the resource. The timestamp value includes the time interval to establish the transport connection, as well as other time intervals such as TLS handshake and SOCKS authentication.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1732829555.15,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        134
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}
View all 41 http attributes →

jsonrpc

2 attributes

jsonrpc.protocol.version

stringScrub: ManualVisibility: PublicOTel: True

The version of the JSON-RPC protocol used.

Example2.0
Changelog
v0.12.0#420Added jsonrpc.protocol.version attribute
Raw JSON
{
  "key": "jsonrpc.protocol.version",
  "brief": "The version of the JSON-RPC protocol used.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "2.0",
  "changelog": [
    {
      "version": "0.12.0",
      "prs": [
        420
      ],
      "description": "Added jsonrpc.protocol.version attribute"
    }
  ]
}

jsonrpc.request.id

stringScrub: ManualVisibility: PublicOTel: True

The JSON-RPC request identifier. Unique within the session.

Example1
Changelog
v0.12.0#420Added jsonrpc.request.id attribute
Raw JSON
{
  "key": "jsonrpc.request.id",
  "brief": "The JSON-RPC request identifier. Unique within the session.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "1",
  "alias": [
    "mcp.request.id"
  ],
  "changelog": [
    {
      "version": "0.12.0",
      "prs": [
        420
      ],
      "description": "Added jsonrpc.request.id attribute"
    }
  ]
}

jvm

6 attributes

jvm.gc.action

stringScrub: ManualVisibility: PublicOTel: True

Name of the garbage collector action.

Exampleend of minor GC
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "jvm.gc.action",
  "brief": "Name of the garbage collector action.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "end of minor GC",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

jvm.gc.name

stringScrub: ManualVisibility: PublicOTel: True

Name of the garbage collector.

ExampleG1 Young Generation
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "jvm.gc.name",
  "brief": "Name of the garbage collector.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "G1 Young Generation",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

jvm.memory.pool.name

stringScrub: ManualVisibility: PublicOTel: True

Name of the memory pool.

ExampleG1 Old Gen
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "jvm.memory.pool.name",
  "brief": "Name of the memory pool.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "G1 Old Gen",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

jvm.memory.type

stringScrub: ManualVisibility: PublicOTel: True

Name of the memory pool.

ExampleG1 Old Gen
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "jvm.memory.type",
  "brief": "Name of the memory pool.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "G1 Old Gen",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

jvm.thread.daemon

booleanScrub: ManualVisibility: PublicOTel: True

Whether the thread is daemon or not.

Exampletrue
Changelog
v0.0.0
Raw JSON
{
  "key": "jvm.thread.daemon",
  "brief": "Whether the thread is daemon or not.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": true,
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

jvm.thread.state

stringScrub: ManualVisibility: PublicOTel: True

State of the thread.

Exampleblocked
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "jvm.thread.state",
  "brief": "State of the thread.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "blocked",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

koa

2 attributes

koa.type

stringScrub: ManualVisibility: PublicOTel: False

The type of the Koa layer that handled the request.

Examplerouter
Changelog
v0.16.0#471Added koa.type attribute
Raw JSON
{
  "key": "koa.type",
  "brief": "The type of the Koa layer that handled the request.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "router",
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        471
      ],
      "description": "Added koa.type attribute"
    }
  ]
}
1 deprecated attribute

koa.nameDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The name of the Koa middleware or matched route that handled the request.

Example/users/:id

No replacement available at this time.

No single replacement. SDKs should use http.route for router layers and code.function.name for middleware layers instead.

Changelog
v0.16.0#490Added koa.name attribute as deprecated
Raw JSON
{
  "key": "koa.name",
  "brief": "The name of the Koa middleware or matched route that handled the request.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "/users/:id",
  "deprecation": {
    "reason": "No single replacement. SDKs should use http.route for router layers and code.function.name for middleware layers instead.",
    "_status": null
  },
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        490
      ],
      "description": "Added koa.name attribute as deprecated"
    }
  ]
}

lcp

6 attributes
6 deprecated attributes

lcp.elementDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The dom element responsible for the largest contentful paint.

Exampleimg

Use browser.web_vital.lcp.element instead.

The LCP element is now recorded as a browser.web_vital.lcp.element attribute.

Status: backfill

Changelog
v0.5.0#233
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "lcp.element",
  "brief": "The dom element responsible for the largest contentful paint.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "img",
  "deprecation": {
    "replacement": "browser.web_vital.lcp.element",
    "reason": "The LCP element is now recorded as a browser.web_vital.lcp.element attribute.",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.lcp.element"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        233
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

lcp.idDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The id of the dom element responsible for the largest contentful paint.

Example#hero

Use browser.web_vital.lcp.id instead.

The LCP id is now recorded as a browser.web_vital.lcp.id attribute.

Status: backfill

Changelog
v0.5.0#233
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "lcp.id",
  "brief": "The id of the dom element responsible for the largest contentful paint.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "#hero",
  "deprecation": {
    "replacement": "browser.web_vital.lcp.id",
    "reason": "The LCP id is now recorded as a browser.web_vital.lcp.id attribute.",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.lcp.id"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        233
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

lcp.loadTimeDeprecated

integerScrub: ManualVisibility: PublicOTel: False

The time it took for the LCP element to be loaded

Example1402

Use browser.web_vital.lcp.load_time instead.

The LCP load time is now recorded as a browser.web_vital.lcp.load_time attribute.

Status: backfill

Changelog
v0.5.0#233
Raw JSON
{
  "key": "lcp.loadTime",
  "brief": "The time it took for the LCP element to be loaded",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1402,
  "deprecation": {
    "replacement": "browser.web_vital.lcp.load_time",
    "reason": "The LCP load time is now recorded as a browser.web_vital.lcp.load_time attribute.",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.lcp.load_time"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        233
      ]
    }
  ]
}

lcp.renderTimeDeprecated

integerScrub: ManualVisibility: PublicOTel: False

The time it took for the LCP element to be rendered

Example1685

Use browser.web_vital.lcp.render_time instead.

The LCP render time is now recorded as a browser.web_vital.lcp.render_time attribute.

Status: backfill

Changelog
v0.5.0#233
Raw JSON
{
  "key": "lcp.renderTime",
  "brief": "The time it took for the LCP element to be rendered",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1685,
  "deprecation": {
    "replacement": "browser.web_vital.lcp.render_time",
    "reason": "The LCP render time is now recorded as a browser.web_vital.lcp.render_time attribute.",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.lcp.render_time"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        233
      ]
    }
  ]
}

lcp.sizeDeprecated

integerScrub: ManualVisibility: PublicOTel: False

The size of the largest contentful paint element.

Example1234

Use browser.web_vital.lcp.size instead.

The LCP size is now recorded as a browser.web_vital.lcp.size attribute.

Status: backfill

Changelog
v0.5.0#233
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "lcp.size",
  "brief": "The size of the largest contentful paint element.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1234,
  "deprecation": {
    "replacement": "browser.web_vital.lcp.size",
    "reason": "The LCP size is now recorded as a browser.web_vital.lcp.size attribute.",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.lcp.size"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        233
      ]
    },
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

lcp.urlDeprecated

stringScrub: AutoVisibility: PublicOTel: False

The url of the dom element responsible for the largest contentful paint.

Examplehttps://example.com

Use browser.web_vital.lcp.url instead.

The LCP url is now recorded as a browser.web_vital.lcp.url attribute.

Status: backfill

Changelog
v0.5.0#233
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "lcp.url",
  "brief": "The url of the dom element responsible for the largest contentful paint.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "https://example.com",
  "deprecation": {
    "replacement": "browser.web_vital.lcp.url",
    "reason": "The LCP url is now recorded as a browser.web_vital.lcp.url attribute.",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.lcp.url"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        233
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

litestar

1 attributes
1 deprecated attribute

litestar.middleware_nameDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The name of the Litestar middleware.

ExampleAuthenticationMiddleware

Use middleware.name instead.

This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.

Status: backfill

Changelog
nextAdded litestar.middleware_name attribute, deprecated in favor of middleware.name
Raw JSON
{
  "key": "litestar.middleware_name",
  "brief": "The name of the Litestar middleware.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "AuthenticationMiddleware",
  "deprecation": {
    "replacement": "middleware.name",
    "reason": "This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.",
    "_status": "backfill"
  },
  "alias": [
    "middleware.name"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added litestar.middleware_name attribute, deprecated in favor of middleware.name"
    }
  ]
}

logger

1 attributes

logger.name

stringScrub: ManualVisibility: PublicOTel: False

The name of the logger that generated this event.

ExamplemyLogger
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "logger.name",
  "brief": "The name of the logger that generated this event.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "myLogger",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

mcp

38 attributes

mcp.cancelled.reason

stringScrub: ManualVisibility: PublicOTel: False

Reason for the cancellation of an MCP operation.

Scrubbing ReasonCancellation reasons may contain user-specific or sensitive information
ExampleUser cancelled the request
Changelog
v0.3.0#171
Raw JSON
{
  "key": "mcp.cancelled.reason",
  "brief": "Reason for the cancellation of an MCP operation.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual",
    "reason": "Cancellation reasons may contain user-specific or sensitive information"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "User cancelled the request",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.cancelled.request_id

stringScrub: ManualVisibility: PublicOTel: False

Request ID of the cancelled MCP operation.

Example123
Changelog
v0.3.0#171
Raw JSON
{
  "key": "mcp.cancelled.request_id",
  "brief": "Request ID of the cancelled MCP operation.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "123",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.client.name

stringScrub: ManualVisibility: PublicOTel: False

Name of the MCP client application.

Exampleclaude-desktop
Changelog
v0.3.0#171
Raw JSON
{
  "key": "mcp.client.name",
  "brief": "Name of the MCP client application.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "claude-desktop",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.client.title

stringScrub: ManualVisibility: PublicOTel: False

Display title of the MCP client application.

Scrubbing ReasonClient titles may reveal user-specific application configurations or custom setups
ExampleClaude Desktop
Changelog
v0.3.0#171
Raw JSON
{
  "key": "mcp.client.title",
  "brief": "Display title of the MCP client application.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual",
    "reason": "Client titles may reveal user-specific application configurations or custom setups"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Claude Desktop",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.client.version

stringScrub: ManualVisibility: PublicOTel: False

Version of the MCP client application.

Example1.0.0
Changelog
v0.3.0#171
Raw JSON
{
  "key": "mcp.client.version",
  "brief": "Version of the MCP client application.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "1.0.0",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}

mcp.lifecycle.phase

stringScrub: ManualVisibility: PublicOTel: False

Lifecycle phase indicator for MCP operations.

Exampleinitialization_complete
Changelog
v0.3.0#171
Raw JSON
{
  "key": "mcp.lifecycle.phase",
  "brief": "Lifecycle phase indicator for MCP operations.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "initialization_complete",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        171
      ]
    }
  ]
}
View all 38 mcp attributes →

mdc

1 attributes

mdc.<key>

stringScrub: AutoVisibility: PublicOTel: FalseDynamic

Attributes from the Mapped Diagnostic Context (MDC) present at the moment the log record was created. The MDC is supported by all the most popular logging solutions in the Java ecosystem, and it's usually implemented as a thread-local map that stores context for e.g. a specific request.

Examplemdc.some_key='some_value'
Dynamic SuffixYes - the key contains dynamic parts
Changelog
v0.3.0#176
Raw JSON
{
  "key": "mdc.<key>",
  "brief": "Attributes from the Mapped Diagnostic Context (MDC) present at the moment the log record was created. The MDC is supported by all the most popular logging solutions in the Java ecosystem, and it's usually implemented as a thread-local map that stores context for e.g. a specific request.",
  "has_dynamic_suffix": true,
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "mdc.some_key='some_value'",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        176
      ]
    }
  ]
}

messaging

19 attributes

messaging.batch.message_count

integerScrub: ManualVisibility: PublicOTel: True

The number of messages sent, received, or processed in the scope of the batching operation.

Example10
Changelog
v0.6.0#341Added messaging.batch.message_count attribute
Raw JSON
{
  "key": "messaging.batch.message_count",
  "brief": "The number of messages sent, received, or processed in the scope of the batching operation.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 10,
  "changelog": [
    {
      "version": "0.6.0",
      "prs": [
        341
      ],
      "description": "Added messaging.batch.message_count attribute"
    }
  ]
}

messaging.destination.connection

stringScrub: ManualVisibility: PublicOTel: False

The message destination connection.

ExampleBestTopic
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "messaging.destination.connection",
  "brief": "The message destination connection.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "BestTopic",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

messaging.destination.name

stringScrub: ManualVisibility: PublicOTel: True

The message destination name.

ExampleBestTopic
Changelog
v0.16.0#482Added messaging.destination as an alias
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "messaging.destination.name",
  "brief": "The message destination name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "BestTopic",
  "alias": [
    "messaging.destination"
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        482
      ],
      "description": "Added messaging.destination as an alias"
    },
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

messaging.destination.partition.id

stringScrub: ManualVisibility: PublicOTel: True

The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name.

Example1
Changelog
next#474Added messaging.destination.partition.id attribute
Raw JSON
{
  "key": "messaging.destination.partition.id",
  "brief": "The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "1",
  "changelog": [
    {
      "version": "next",
      "prs": [
        474
      ],
      "description": "Added messaging.destination.partition.id attribute"
    }
  ]
}

messaging.kafka.message.key

stringScrub: ManualVisibility: PublicOTel: True

Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from messaging.message.id in that they're not unique. If the key is null, the attribute MUST NOT be set.

ExamplemyKey
Changelog
next#474Added messaging.kafka.message.key attribute
Raw JSON
{
  "key": "messaging.kafka.message.key",
  "brief": "Message keys in Kafka are used for grouping alike messages to ensure they're processed on the same partition. They differ from messaging.message.id in that they're not unique. If the key is null, the attribute MUST NOT be set.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "myKey",
  "changelog": [
    {
      "version": "next",
      "prs": [
        474
      ],
      "description": "Added messaging.kafka.message.key attribute"
    }
  ]
}

messaging.kafka.message.tombstone

booleanScrub: ManualVisibility: PublicOTel: True

A boolean that is true if the message is a tombstone.

Exampletrue
Changelog
next#474Added messaging.kafka.message.tombstone attribute
Raw JSON
{
  "key": "messaging.kafka.message.tombstone",
  "brief": "A boolean that is true if the message is a tombstone.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": true,
  "changelog": [
    {
      "version": "next",
      "prs": [
        474
      ],
      "description": "Added messaging.kafka.message.tombstone attribute"
    }
  ]
}
View all 19 messaging attributes →

middleware

1 attributes

middleware.name

stringScrub: ManualVisibility: PublicOTel: False

The name of the middleware.

Changelog
nextAdded django.middleware_name, starlite.middleware_name, litestar.middleware_name and starlette.middleware_name as aliases
v0.6.0#336Added middleware.name attribute
Raw JSON
{
  "key": "middleware.name",
  "brief": "The name of the middleware.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "AuthenticationMiddleware",
  "alias": [
    "django.middleware_name",
    "starlite.middleware_name",
    "litestar.middleware_name",
    "starlette.middleware_name"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added django.middleware_name, starlite.middleware_name, litestar.middleware_name and starlette.middleware_name as aliases"
    },
    {
      "version": "0.6.0",
      "prs": [
        336
      ],
      "description": "Added middleware.name attribute"
    }
  ]
}

nel

5 attributes

nel.elapsed_time

integerScrub: ManualVisibility: PublicOTel: False

The elapsed number of milliseconds between the start of the resource fetch and when it was completed or aborted by the user agent.

Example100
Changelog
v0.4.0#228
v0.1.0#68
Raw JSON
{
  "key": "nel.elapsed_time",
  "brief": "The elapsed number of milliseconds between the start of the resource fetch and when it was completed or aborted by the user agent.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 100,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        68
      ]
    }
  ]
}

nel.phase

stringScrub: ManualVisibility: PublicOTel: False

If request failed, the phase of its network error. If request succeeded, "application".

Exampleapplication
Changelog
v0.1.0#68#127
Raw JSON
{
  "key": "nel.phase",
  "brief": "If request failed, the phase of its network error. If request succeeded, \"application\".",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "application",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        68,
        127
      ]
    }
  ]
}

nel.referrer

stringScrub: AutoVisibility: PublicOTel: False

request's referrer, as determined by the referrer policy associated with its client.

Examplehttps://example.com/foo?bar=baz
Changelog
v0.1.0#68#127
Raw JSON
{
  "key": "nel.referrer",
  "brief": "request's referrer, as determined by the referrer policy associated with its client.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "https://example.com/foo?bar=baz",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        68,
        127
      ]
    }
  ]
}

nel.sampling_function

doubleScrub: ManualVisibility: PublicOTel: False

The sampling function used to determine if the request should be sampled.

Example0.5
Changelog
v0.4.0#228
v0.1.0#68
Raw JSON
{
  "key": "nel.sampling_function",
  "brief": "The sampling function used to determine if the request should be sampled.",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 0.5,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        68
      ]
    }
  ]
}

nel.type

stringScrub: ManualVisibility: PublicOTel: False

If request failed, the type of its network error. If request succeeded, "ok".

Exampledns.unreachable
Changelog
v0.1.0#68#127
Raw JSON
{
  "key": "nel.type",
  "brief": "If request failed, the type of its network error. If request succeeded, \"ok\".",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "dns.unreachable",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        68,
        127
      ]
    }
  ]
}

net

15 attributes
15 deprecated attributes

net.host.ipDeprecated

stringScrub: ManualVisibility: PublicOTel: True

Local address of the network connection - IP address or Unix domain socket name.

Changelog
v0.0.0
Raw JSON
{
  "key": "net.host.ip",
  "brief": "Local address of the network connection - IP address or Unix domain socket name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "192.168.0.1",
  "deprecation": {
    "replacement": "network.local.address",
    "_status": null
  },
  "alias": [
    "network.local.address",
    "net.sock.host.addr"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        108,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.host.nameDeprecated

stringScrub: ManualVisibility: PublicOTel: True

Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.

Changelog
v0.0.0
Raw JSON
{
  "key": "net.host.name",
  "brief": "Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "example.com",
  "deprecation": {
    "replacement": "server.address",
    "_status": null
  },
  "alias": [
    "server.address",
    "http.server_name",
    "http.host",
    "server_name"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        108,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.host.portDeprecated

integerScrub: ManualVisibility: PublicOTel: True

Server port number.

Example1337

Use server.port instead.

Changelog
v0.4.0#228
v0.1.0#61
v0.0.0
Raw JSON
{
  "key": "net.host.port",
  "brief": "Server port number.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 1337,
  "deprecation": {
    "replacement": "server.port",
    "_status": null
  },
  "alias": [
    "server.port"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        61
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.peer.ipDeprecated

stringScrub: AutoVisibility: PublicOTel: True

Peer address of the network connection - IP address or Unix domain socket name.

Changelog
v0.0.0
Raw JSON
{
  "key": "net.peer.ip",
  "brief": "Peer address of the network connection - IP address or Unix domain socket name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "192.168.0.1",
  "deprecation": {
    "replacement": "network.peer.address",
    "_status": null
  },
  "alias": [
    "network.peer.address",
    "net.sock.peer.addr"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        108,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.peer.nameDeprecated

stringScrub: AutoVisibility: PublicOTel: True

Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.

Exampleexample.com

Use server.address instead.

Deprecated, use server.address on client spans and client.address on server spans.

Changelog
v0.1.0#61#127
v0.0.0
Raw JSON
{
  "key": "net.peer.name",
  "brief": "Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "example.com",
  "deprecation": {
    "replacement": "server.address",
    "reason": "Deprecated, use server.address on client spans and client.address on server spans.",
    "_status": null
  },
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.peer.portDeprecated

integerScrub: ManualVisibility: PublicOTel: True

Peer port number.

Example1337

Use server.port instead.

Deprecated, use server.port on client spans and client.port on server spans.

Changelog
v0.4.0#228
v0.1.0#61
v0.0.0
Raw JSON
{
  "key": "net.peer.port",
  "brief": "Peer port number.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 1337,
  "deprecation": {
    "replacement": "server.port",
    "reason": "Deprecated, use server.port on client spans and client.port on server spans.",
    "_status": null
  },
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        61
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.protocol.nameDeprecated

stringScrub: ManualVisibility: PublicOTel: True

OSI application layer or non-OSI equivalent.

Changelog
v0.1.0#61#127
v0.0.0
Raw JSON
{
  "key": "net.protocol.name",
  "brief": "OSI application layer or non-OSI equivalent.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "http",
  "deprecation": {
    "replacement": "network.protocol.name",
    "_status": null
  },
  "alias": [
    "network.protocol.name",
    "mcp.resource.protocol"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.protocol.versionDeprecated

stringScrub: ManualVisibility: PublicOTel: True

The actual version of the protocol used for network communication.

Changelog
v0.0.0
Raw JSON
{
  "key": "net.protocol.version",
  "brief": "The actual version of the protocol used for network communication.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "1.1",
  "deprecation": {
    "replacement": "network.protocol.version",
    "_status": null
  },
  "alias": [
    "network.protocol.version",
    "http.flavor"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        108,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.sock.familyDeprecated

stringScrub: ManualVisibility: PublicOTel: True

OSI transport and network layer

Exampleinet

Use network.transport instead.

Deprecated, use network.transport and network.type.

Changelog
v0.1.0#61#127
v0.0.0
Raw JSON
{
  "key": "net.sock.family",
  "brief": "OSI transport and network layer",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "inet",
  "deprecation": {
    "replacement": "network.transport",
    "reason": "Deprecated, use network.transport and network.type.",
    "_status": null
  },
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.sock.host.addrDeprecated

stringScrub: ManualVisibility: PublicOTel: True

Local address of the network connection mapping to Unix domain socket name.

Example/var/my.sock
Changelog
v0.0.0
Raw JSON
{
  "key": "net.sock.host.addr",
  "brief": "Local address of the network connection mapping to Unix domain socket name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "/var/my.sock",
  "deprecation": {
    "replacement": "network.local.address",
    "_status": null
  },
  "alias": [
    "network.local.address",
    "net.host.ip"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        108,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.sock.host.portDeprecated

integerScrub: ManualVisibility: PublicOTel: True

Local port number of the network connection.

Example8080

Use network.local.port instead.

Changelog
v0.4.0#228
v0.1.0#61
v0.0.0
Raw JSON
{
  "key": "net.sock.host.port",
  "brief": "Local port number of the network connection.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 8080,
  "deprecation": {
    "replacement": "network.local.port",
    "_status": null
  },
  "alias": [
    "network.local.port"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        61
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.sock.peer.addrDeprecated

stringScrub: AutoVisibility: PublicOTel: True

Peer address of the network connection - IP address

Example192.168.0.1
Changelog
v0.0.0
Raw JSON
{
  "key": "net.sock.peer.addr",
  "brief": "Peer address of the network connection - IP address",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "192.168.0.1",
  "deprecation": {
    "replacement": "network.peer.address",
    "_status": null
  },
  "alias": [
    "network.peer.address",
    "net.peer.ip"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        108,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.sock.peer.nameDeprecated

stringScrub: AutoVisibility: PublicOTel: True

Peer address of the network connection - Unix domain socket name

Example/var/my.sock

No replacement available at this time.

Deprecated from OTEL, no replacement at this time

Changelog
v0.0.0
Raw JSON
{
  "key": "net.sock.peer.name",
  "brief": "Peer address of the network connection - Unix domain socket name",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "/var/my.sock",
  "deprecation": {
    "reason": "Deprecated from OTEL, no replacement at this time",
    "_status": null
  },
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        119,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.sock.peer.portDeprecated

integerScrub: ManualVisibility: PublicOTel: True

Peer port number of the network connection.

Example8080

Use network.peer.port instead.

Changelog
v0.4.0#228
v0.1.0#61
v0.0.0
Raw JSON
{
  "key": "net.sock.peer.port",
  "brief": "Peer port number of the network connection.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 8080,
  "deprecation": {
    "replacement": "network.peer.port",
    "_status": null
  },
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.1.0",
      "prs": [
        61
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

net.transportDeprecated

stringScrub: ManualVisibility: PublicOTel: True

OSI transport layer or inter-process communication method.

Changelog
v0.1.0#61#127
v0.0.0
Raw JSON
{
  "key": "net.transport",
  "brief": "OSI transport layer or inter-process communication method.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "tcp",
  "deprecation": {
    "replacement": "network.transport",
    "_status": null
  },
  "alias": [
    "network.transport",
    "mcp.transport"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        61,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

network

11 attributes

network.connection.effective_type

stringScrub: ManualVisibility: PublicOTel: False

Specifies the effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g).

Example4g
Changelog
v0.5.0#279Added attribute network.connection.effective_type to be used instead of effectiveConnectionType
Raw JSON
{
  "key": "network.connection.effective_type",
  "brief": "Specifies the effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g).",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "4g",
  "alias": [
    "effectiveConnectionType"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        279
      ],
      "description": "Added attribute network.connection.effective_type to be used instead of effectiveConnectionType"
    }
  ]
}

network.connection.rtt

integerScrub: ManualVisibility: PublicOTel: False

Specifies the estimated effective round-trip time of the current connection, in milliseconds.

Example100
Changelog
v0.5.0#279Added attribute network.connection.rtt to be used instead of connection.rtt
Raw JSON
{
  "key": "network.connection.rtt",
  "brief": "Specifies the estimated effective round-trip time of the current connection, in milliseconds.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 100,
  "alias": [
    "connection.rtt"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        279
      ],
      "description": "Added attribute network.connection.rtt to be used instead of connection.rtt"
    }
  ]
}

network.connection.type

stringScrub: ManualVisibility: PublicOTel: True

Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc).

Changelog
v0.5.0#279Added attribute network.connection.type to be used instead of connectionType
Raw JSON
{
  "key": "network.connection.type",
  "brief": "Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc).",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "wifi",
  "alias": [
    "device.connection_type",
    "connectionType"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        279
      ],
      "description": "Added attribute network.connection.type to be used instead of connectionType"
    }
  ]
}

network.local.address

stringScrub: ManualVisibility: PublicOTel: True

Local address of the network connection - IP address or Unix domain socket name.

Example10.1.2.80
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "network.local.address",
  "brief": "Local address of the network connection - IP address or Unix domain socket name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "10.1.2.80",
  "alias": [
    "net.host.ip",
    "net.sock.host.addr"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

network.local.port

integerScrub: ManualVisibility: PublicOTel: True

Local port number of the network connection.

Example65400
Changelog
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "network.local.port",
  "brief": "Local port number of the network connection.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 65400,
  "alias": [
    "net.sock.host.port"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

network.peer.address

stringScrub: AutoVisibility: PublicOTel: True

Peer address of the network connection - IP address or Unix domain socket name.

Example10.1.2.80
Changelog
v0.1.0#108#127
v0.0.0
Raw JSON
{
  "key": "network.peer.address",
  "brief": "Peer address of the network connection - IP address or Unix domain socket name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "10.1.2.80",
  "alias": [
    "net.peer.ip",
    "net.sock.peer.addr"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        108,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}
View all 11 network attributes →

os

10 attributes

os.build_id

stringScrub: ManualVisibility: PublicOTel: True

The build ID of the operating system.

Example1234567890
Aliasesos.build
Changelog
v0.5.0#301Added os.build as alias
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "os.build_id",
  "brief": "The build ID of the operating system.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "1234567890",
  "alias": [
    "os.build"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        301
      ],
      "description": "Added os.build as alias"
    },
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

os.description

stringScrub: ManualVisibility: PublicOTel: True

Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.

ExampleUbuntu 18.04.1 LTS
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "os.description",
  "brief": "Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "Ubuntu 18.04.1 LTS",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

os.kernel_version

stringScrub: ManualVisibility: PublicOTel: False

An independent kernel version string. Typically the entire output of the `uname` syscall.

Example20.2.0
Changelog
v0.5.0#301Added os.kernel_version attribute
Raw JSON
{
  "key": "os.kernel_version",
  "brief": "An independent kernel version string. Typically the entire output of the `uname` syscall.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "20.2.0",
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        301
      ],
      "description": "Added os.kernel_version attribute"
    }
  ]
}

os.name

stringScrub: ManualVisibility: PublicOTel: True

Human readable operating system name.

ExampleUbuntu
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "os.name",
  "brief": "Human readable operating system name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "Ubuntu",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

os.raw_description

stringScrub: ManualVisibility: PublicOTel: False

An unprocessed description string obtained by the operating system. For some well-known runtimes, Sentry will attempt to parse `name` and `version` from this string, if they are not explicitly given.

ExampleUbuntu 22.04.4 LTS (Jammy Jellyfish)
Changelog
v0.5.0#301Added os.raw_description attribute
Raw JSON
{
  "key": "os.raw_description",
  "brief": "An unprocessed description string obtained by the operating system. For some well-known runtimes, Sentry will attempt to parse `name` and `version` from this string, if they are not explicitly given.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Ubuntu 22.04.4 LTS (Jammy Jellyfish)",
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        301
      ],
      "description": "Added os.raw_description attribute"
    }
  ]
}

os.rooted

booleanScrub: ManualVisibility: PublicOTel: False

Whether the operating system has been jailbroken or rooted.

Exampletrue
Changelog
v0.5.0#301Added os.rooted attribute
Raw JSON
{
  "key": "os.rooted",
  "brief": "Whether the operating system has been jailbroken or rooted.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": true,
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        301
      ],
      "description": "Added os.rooted attribute"
    }
  ]
}
View all 10 os attributes →

otel

5 attributes

otel.scope.name

stringScrub: ManualVisibility: PublicOTel: True

The name of the instrumentation scope - (InstrumentationScope.Name in OTLP).

Exampleio.opentelemetry.contrib.mongodb
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "otel.scope.name",
  "brief": "The name of the instrumentation scope - (InstrumentationScope.Name in OTLP).",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "io.opentelemetry.contrib.mongodb",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

otel.scope.version

stringScrub: ManualVisibility: PublicOTel: True

The version of the instrumentation scope - (InstrumentationScope.Version in OTLP).

Example2.4.5
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "otel.scope.version",
  "brief": "The version of the instrumentation scope - (InstrumentationScope.Version in OTLP).",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "2.4.5",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

otel.status_code

stringScrub: ManualVisibility: PublicOTel: True

Name of the code, either “OK” or “ERROR”. MUST NOT be set if the status code is UNSET.

ExampleOK
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "otel.status_code",
  "brief": "Name of the code, either “OK” or “ERROR”. MUST NOT be set if the status code is UNSET.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "OK",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

otel.status_description

stringScrub: AutoVisibility: PublicOTel: True

Description of the Status if it has a value, otherwise not set.

Exampleresource not found
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "otel.status_description",
  "brief": "Description of the Status if it has a value, otherwise not set.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "resource not found",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}
1 deprecated attribute

otel.kindDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The span kind (https://opentelemetry.io/docs/concepts/signals/traces/#span-kind). Deprecated, use `sentry.kind` instead.

ExampleSERVER

Use sentry.kind instead.

Deprecated in favor of sentry.kind

Status: backfill

Changelog
v0.13.0#440Added otel.kind attribute
Raw JSON
{
  "key": "otel.kind",
  "brief": "The span kind (https://opentelemetry.io/docs/concepts/signals/traces/#span-kind). Deprecated, use `sentry.kind` instead.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "SERVER",
  "deprecation": {
    "replacement": "sentry.kind",
    "reason": "Deprecated in favor of sentry.kind",
    "_status": "backfill"
  },
  "alias": [
    "sentry.kind"
  ],
  "changelog": [
    {
      "version": "0.13.0",
      "prs": [
        440
      ],
      "description": "Added otel.kind attribute"
    }
  ]
}

params

1 attributes

params.<key>

stringScrub: AutoVisibility: PublicOTel: FalseDynamic

Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.

Exampleparams.id='123'
Dynamic SuffixYes - the key contains dynamic parts
Changelog
v0.1.0#103
Raw JSON
{
  "key": "params.<key>",
  "brief": "Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.",
  "has_dynamic_suffix": true,
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "params.id='123'",
  "alias": [
    "url.path.parameter.<key>"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        103
      ]
    }
  ]
}

performance

2 attributes
2 deprecated attributes

performance.activationStartDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The time between initiating a navigation to a page and the browser activating the page

Example1.983

Use browser.performance.navigation.activation_start instead.

The activationStart is now recorded as the browser.performance.navigation.activation_start attribute.

Status: backfill

Changelog
v0.5.0#321Added performance.activationStart attribute
Raw JSON
{
  "key": "performance.activationStart",
  "brief": "The time between initiating a navigation to a page and the browser activating the page",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1.983,
  "deprecation": {
    "replacement": "browser.performance.navigation.activation_start",
    "reason": "The activationStart is now recorded as the browser.performance.navigation.activation_start attribute.",
    "_status": "backfill"
  },
  "alias": [
    "browser.performance.navigation.activation_start"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        321
      ],
      "description": "Added performance.activationStart attribute"
    }
  ]
}

performance.timeOriginDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated

Example1776185678.886

Use browser.performance.time_origin instead.

The timeOrigin is now recorded as the browser.performance.time_origin attribute.

Status: backfill

Changelog
v0.5.0#321Added performance.timeOrigin attribute
Raw JSON
{
  "key": "performance.timeOrigin",
  "brief": "The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1776185678.886,
  "deprecation": {
    "replacement": "browser.performance.time_origin",
    "reason": "The timeOrigin is now recorded as the browser.performance.time_origin attribute.",
    "_status": "backfill"
  },
  "alias": [
    "browser.performance.time_origin"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        321
      ],
      "description": "Added performance.timeOrigin attribute"
    }
  ]
}

process

8 attributes

process.command_args

string[]Scrub: AutoVisibility: PublicOTel: True

All the command arguments (including the command/executable itself) as received by the process.

Example["cmd/otecol","--config=config.yaml"]
Changelog
v0.6.0#327Added process.command_args attribute
Raw JSON
{
  "key": "process.command_args",
  "brief": "All the command arguments (including the command/executable itself) as received by the process.",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": [
    "cmd/otecol",
    "--config=config.yaml"
  ],
  "changelog": [
    {
      "version": "0.6.0",
      "prs": [
        327
      ],
      "description": "Added process.command_args attribute"
    }
  ]
}

process.executable.name

stringScrub: ManualVisibility: PublicOTel: True

The name of the executable that started the process.

Examplegetsentry
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "process.executable.name",
  "brief": "The name of the executable that started the process.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "getsentry",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

process.pid

integerScrub: ManualVisibility: PublicOTel: True

The process ID of the running process.

Example12345
Changelog
nextAdded subprocess.pid as an alias
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "process.pid",
  "brief": "The process ID of the running process.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 12345,
  "alias": [
    "subprocess.pid"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added subprocess.pid as an alias"
    },
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

process.runtime.description

stringScrub: ManualVisibility: PublicOTel: True

An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. Equivalent to `raw_description` in the Sentry runtime context.

ExampleEclipse OpenJ9 VM openj9-0.21.0
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "process.runtime.description",
  "brief": "An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. Equivalent to `raw_description` in the Sentry runtime context.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "Eclipse OpenJ9 VM openj9-0.21.0",
  "alias": [
    "runtime.raw_description"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

process.runtime.engine.name

stringScrub: ManualVisibility: PublicOTel: False

The name of the runtime engine.

Examplev8
Changelog
v0.0.0
Raw JSON
{
  "key": "process.runtime.engine.name",
  "brief": "The name of the runtime engine.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "v8",
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

process.runtime.engine.version

stringScrub: ManualVisibility: PublicOTel: False

The version of the runtime engine.

Example12.9.202.13-rusty
Changelog
v0.0.0
Raw JSON
{
  "key": "process.runtime.engine.version",
  "brief": "The version of the runtime engine.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "12.9.202.13-rusty",
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}
View all 8 process attributes →

query

1 attributes
1 deprecated attribute

query.<key>Deprecated

stringScrub: AutoVisibility: PublicOTel: FalseDynamic

An item in a query string. Usually added by client-side routing frameworks like vue-router.

Examplequery.id='123'
Dynamic SuffixYes - the key contains dynamic parts

Use url.query instead.

Instead of sending items individually in query.<key>, they should be sent all together with url.query.

Changelog
v0.1.0#103
Raw JSON
{
  "key": "query.<key>",
  "brief": "An item in a query string. Usually added by client-side routing frameworks like vue-router.",
  "has_dynamic_suffix": true,
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "query.id='123'",
  "deprecation": {
    "replacement": "url.query",
    "reason": "Instead of sending items individually in query.<key>, they should be sent all together with url.query.",
    "_status": null
  },
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        103
      ]
    }
  ]
}

react

1 attributes

react.version

stringScrub: ManualVisibility: PublicOTel: False

The version of the React framework

Example18.2.0
Changelog
v0.7.0#368Added react.version attribute
Raw JSON
{
  "key": "react.version",
  "brief": "The version of the React framework",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "18.2.0",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        368
      ],
      "description": "Added react.version attribute"
    }
  ]
}

redis

1 attributes
1 deprecated attribute

redis.keyDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The key the Redis command is operating on.

Exampleuser:2047:city

Use db.redis.key instead.

This attribute is being deprecated in favor of db.redis.key, which is the preferred replacement.

Status: backfill

Changelog
nextAdded redis.key attribute, deprecated in favor of db.redis.key
Raw JSON
{
  "key": "redis.key",
  "brief": "The key the Redis command is operating on.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "user:2047:city",
  "deprecation": {
    "replacement": "db.redis.key",
    "reason": "This attribute is being deprecated in favor of db.redis.key, which is the preferred replacement.",
    "_status": "backfill"
  },
  "alias": [
    "db.redis.key"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added redis.key attribute, deprecated in favor of db.redis.key"
    }
  ]
}

remix

1 attributes

remix.action_form_data.<key>

stringScrub: AutoVisibility: PublicOTel: FalseDynamic

Remix form data, <key> being the form data key, the value being the form data value.

Examplehttp.response.header.text='test'
Dynamic SuffixYes - the key contains dynamic parts
Changelog
v0.1.0#103
Raw JSON
{
  "key": "remix.action_form_data.<key>",
  "brief": "Remix form data, <key> being the form data key, the value being the form data value.",
  "has_dynamic_suffix": true,
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "http.response.header.text='test'",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        103
      ]
    }
  ]
}

resource

3 attributes

resource.render_blocking_status

stringScrub: ManualVisibility: PublicOTel: False

The render blocking status of the resource.

Examplenon-blocking
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "resource.render_blocking_status",
  "brief": "The render blocking status of the resource.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "non-blocking",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}
2 deprecated attributes

resource.deployment.environmentDeprecated

stringScrub: ManualVisibility: PublicOTel: True

The software deployment environment name.

Exampleproduction

Use sentry.environment instead.

Status: backfill

Changelog
v0.5.0#266
Raw JSON
{
  "key": "resource.deployment.environment",
  "brief": "The software deployment environment name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "production",
  "deprecation": {
    "replacement": "sentry.environment",
    "_status": "backfill"
  },
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        266
      ]
    }
  ]
}

resource.deployment.environment.nameDeprecated

stringScrub: ManualVisibility: PublicOTel: True

The software deployment environment name.

Exampleproduction

Use sentry.environment instead.

Status: backfill

Changelog
v0.3.1#196
Raw JSON
{
  "key": "resource.deployment.environment.name",
  "brief": "The software deployment environment name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "production",
  "deprecation": {
    "replacement": "sentry.environment",
    "_status": "backfill"
  },
  "changelog": [
    {
      "version": "0.3.1",
      "prs": [
        196
      ]
    }
  ]
}

rpc

6 attributes

rpc.method

stringScrub: ManualVisibility: PublicOTel: True

The fully-qualified logical name of the method from the RPC interface perspective.

Examplecom.example.ExampleService/exampleMethod
Changelog
v0.7.0#351Added rpc.method attribute
Raw JSON
{
  "key": "rpc.method",
  "brief": "The fully-qualified logical name of the method from the RPC interface perspective.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "com.example.ExampleService/exampleMethod",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        351
      ],
      "description": "Added rpc.method attribute"
    }
  ]
}

rpc.response.status_code

stringScrub: ManualVisibility: PublicOTel: True

Status code of the RPC returned by the RPC server or generated by the client.

ExampleDEADLINE_EXCEEDED
Changelog
nextAdded rpc.grpc.status_code as an alias
v0.7.0#352Added rpc.response.status_code attribute
Raw JSON
{
  "key": "rpc.response.status_code",
  "brief": "Status code of the RPC returned by the RPC server or generated by the client.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "DEADLINE_EXCEEDED",
  "alias": [
    "rpc.grpc.status_code"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added rpc.grpc.status_code as an alias"
    },
    {
      "version": "0.7.0",
      "prs": [
        352
      ],
      "description": "Added rpc.response.status_code attribute"
    }
  ]
}

rpc.service

stringScrub: ManualVisibility: PublicOTel: True

The full (logical) name of the service being called, including its package name, if applicable.

ExamplemyService.BestService
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "rpc.service",
  "brief": "The full (logical) name of the service being called, including its package name, if applicable.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "myService.BestService",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

rpc.system.name

stringScrub: ManualVisibility: PublicOTel: True

A string identifying the remoting system.

Exampleaws-api
Aliasesrpc.system
Changelog
v0.16.0#482Added rpc.system.name attribute
Raw JSON
{
  "key": "rpc.system.name",
  "brief": "A string identifying the remoting system.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "aws-api",
  "alias": [
    "rpc.system"
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        482
      ],
      "description": "Added rpc.system.name attribute"
    }
  ]
}
2 deprecated attributes

rpc.grpc.status_codeDeprecated

integerScrub: ManualVisibility: PublicOTel: True

The numeric status code of the gRPC request.

Example2

Use rpc.response.status_code instead.

Cannot be automatically backfilled due to type mismatch (integer vs string); rpc.grpc.status_code is a numeric gRPC status code while rpc.response.status_code is the string status name.

Changelog
nextDeprecated rpc.grpc.status_code in favor of rpc.response.status_code
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "rpc.grpc.status_code",
  "brief": "The numeric status code of the gRPC request.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 2,
  "deprecation": {
    "replacement": "rpc.response.status_code",
    "reason": "Cannot be automatically backfilled due to type mismatch (integer vs string); rpc.grpc.status_code is a numeric gRPC status code while rpc.response.status_code is the string status name.",
    "_status": null
  },
  "alias": [
    "rpc.response.status_code"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Deprecated rpc.grpc.status_code in favor of rpc.response.status_code"
    },
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

rpc.systemDeprecated

stringScrub: ManualVisibility: PublicOTel: True

A string identifying the remoting system.

Exampleaws-api

Use rpc.system.name instead.

This attribute is being deprecated in favor of rpc.system.name, which is the OTel-aligned replacement.

Status: backfill

Changelog
v0.16.0#482Added rpc.system attribute, deprecated in favor of rpc.system.name
Raw JSON
{
  "key": "rpc.system",
  "brief": "A string identifying the remoting system.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "aws-api",
  "deprecation": {
    "replacement": "rpc.system.name",
    "reason": "This attribute is being deprecated in favor of rpc.system.name, which is the OTel-aligned replacement.",
    "_status": "backfill"
  },
  "alias": [
    "rpc.system.name"
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        482
      ],
      "description": "Added rpc.system attribute, deprecated in favor of rpc.system.name"
    }
  ]
}

runtime

4 attributes
4 deprecated attributes

runtime.buildDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The application build string, when it is separate from the version.

Examplestable

No replacement available at this time.

The runtime.* namespace is deprecated in favor of process.runtime.*. No direct OTel equivalent exists for this attribute.

Changelog
v0.11.0#383Added and deprecated runtime.build attribute
Raw JSON
{
  "key": "runtime.build",
  "brief": "The application build string, when it is separate from the version.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "stable",
  "deprecation": {
    "reason": "The runtime.* namespace is deprecated in favor of process.runtime.*. No direct OTel equivalent exists for this attribute.",
    "_status": null
  },
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        383
      ],
      "description": "Added and deprecated runtime.build attribute"
    }
  ]
}

runtime.nameDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The name of the runtime. For example node, CPython, or rustc.

Examplenode

Use process.runtime.name instead.

Prefer OTel-aligned process.runtime.name

Changelog
v0.11.0#383Added and deprecated runtime.name attribute in favor of process.runtime.name
Raw JSON
{
  "key": "runtime.name",
  "brief": "The name of the runtime. For example node, CPython, or rustc.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "node",
  "deprecation": {
    "replacement": "process.runtime.name",
    "reason": "Prefer OTel-aligned process.runtime.name",
    "_status": null
  },
  "alias": [
    "process.runtime.name"
  ],
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        383
      ],
      "description": "Added and deprecated runtime.name attribute in favor of process.runtime.name"
    }
  ]
}

runtime.raw_descriptionDeprecated

stringScrub: ManualVisibility: PublicOTel: False

Unprocessed description string as obtained from the runtime. Used to extract name and version for well-known runtimes.

ExampleEclipse OpenJ9 VM openj9-0.21.0

Use process.runtime.description instead.

Prefer OTel-aligned process.runtime.description

Changelog
v0.11.0#383Added and deprecated runtime.raw_description attribute in favor of process.runtime.description
Raw JSON
{
  "key": "runtime.raw_description",
  "brief": "Unprocessed description string as obtained from the runtime. Used to extract name and version for well-known runtimes.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Eclipse OpenJ9 VM openj9-0.21.0",
  "deprecation": {
    "replacement": "process.runtime.description",
    "reason": "Prefer OTel-aligned process.runtime.description",
    "_status": null
  },
  "alias": [
    "process.runtime.description"
  ],
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        383
      ],
      "description": "Added and deprecated runtime.raw_description attribute in favor of process.runtime.description"
    }
  ]
}

runtime.versionDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The version of the runtime.

Example18.04.2

Use process.runtime.version instead.

Prefer OTel-aligned process.runtime.version

Changelog
v0.11.0#383Added and deprecated runtime.version attribute in favor of process.runtime.version
Raw JSON
{
  "key": "runtime.version",
  "brief": "The version of the runtime.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "18.04.2",
  "deprecation": {
    "replacement": "process.runtime.version",
    "reason": "Prefer OTel-aligned process.runtime.version",
    "_status": null
  },
  "alias": [
    "process.runtime.version"
  ],
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        383
      ],
      "description": "Added and deprecated runtime.version attribute in favor of process.runtime.version"
    }
  ]
}

score

4 attributes

score.<key>

doubleScrub: ManualVisibility: PublicOTel: FalseDynamic

The weighted performance score for a web vital. This is defined as `score.weight.<key>` * `score.ratio.<key>`.

Examplescore.cls=0.1723
Dynamic SuffixYes - the key contains dynamic parts
Changelog
v0.7.0#355Added score.<key> attribute
Raw JSON
{
  "key": "score.<key>",
  "brief": "The weighted performance score for a web vital. This is defined as `score.weight.<key>` * `score.ratio.<key>`.",
  "has_dynamic_suffix": true,
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "score.cls=0.1723",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        355
      ],
      "description": "Added score.<key> attribute"
    }
  ]
}

score.ratio.<key>

doubleScrub: ManualVisibility: PublicOTel: FalseDynamic

The score for a web vital, normalized to a number between 0 and 1.

Examplescore.ratio.inp=0.7748
Dynamic SuffixYes - the key contains dynamic parts
Changelog
v0.7.0#355Added score.ratio.<key> attribute
Raw JSON
{
  "key": "score.ratio.<key>",
  "brief": "The score for a web vital, normalized to a number between 0 and 1.",
  "has_dynamic_suffix": true,
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "score.ratio.inp=0.7748",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        355
      ],
      "description": "Added score.ratio.<key> attribute"
    }
  ]
}

score.total

doubleScrub: ManualVisibility: PublicOTel: False

The total performance score of a span. This is the sum of individual weighted web vital scores (see `score.<key>`).

Changelog
v0.7.0#355Added score.total attribute
Raw JSON
{
  "key": "score.total",
  "brief": "The total performance score of a span. This is the sum of individual weighted web vital scores (see `score.<key>`).",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        355
      ],
      "description": "Added score.total attribute"
    }
  ]
}

score.weight.<key>

doubleScrub: ManualVisibility: PublicOTel: FalseDynamic

The relative weight of a web vital in a span's performance score.

Examplescore.weight.fcp=0.25
Dynamic SuffixYes - the key contains dynamic parts
Changelog
v0.7.0#355Added score.weight.<key> attribute
Raw JSON
{
  "key": "score.weight.<key>",
  "brief": "The relative weight of a web vital in a span's performance score.",
  "has_dynamic_suffix": true,
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "score.weight.fcp=0.25",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        355
      ],
      "description": "Added score.weight.<key> attribute"
    }
  ]
}

sentry

82 attributes

sentry.action

stringScrub: ManualVisibility: PublicOTel: False

Used as a generic attribute representing the action depending on the type of span. For instance, this is the database query operation for DB spans, and the request method for HTTP spans.

ExampleSELECT
Changelog
v0.4.0#212
Raw JSON
{
  "key": "sentry.action",
  "brief": "Used as a generic attribute representing the action depending on the type of span. For instance, this is the database query operation for DB spans, and the request method for HTTP spans.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "SELECT",
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        212
      ]
    }
  ]
}

sentry.cancellation_reason

stringScrub: NeverVisibility: PublicOTel: False

The reason why a span ended early.

Exampledocument.hidden
Changelog
v0.0.0
Raw JSON
{
  "key": "sentry.cancellation_reason",
  "brief": "The reason why a span ended early.",
  "type": "string",
  "apply_scrubbing": {
    "key": "never"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "document.hidden",
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

sentry.category

stringScrub: NeverVisibility: PublicOTel: False

The high-level category of a span, derived from the span operation or span attributes. This categorizes spans by their general purpose (e.g., database, HTTP, UI). Known values include: 'ai', 'ai.pipeline', 'app', 'browser', 'cache', 'console', 'db', 'event', 'file', 'function.aws', 'function.azure', 'function.gcp', 'function.nextjs', 'function.remix', 'graphql', 'grpc', 'http', 'measure', 'middleware', 'navigation', 'pageload', 'queue', 'resource', 'rpc', 'serialize', 'subprocess', 'template', 'topic', 'ui', 'ui.angular', 'ui.ember', 'ui.react', 'ui.svelte', 'ui.vue', 'view', 'websocket'.

Exampledb
Changelog
v0.4.0#218
Raw JSON
{
  "key": "sentry.category",
  "brief": "The high-level category of a span, derived from the span operation or span attributes. This categorizes spans by their general purpose (e.g., database, HTTP, UI). Known values include: 'ai', 'ai.pipeline', 'app', 'browser', 'cache', 'console', 'db', 'event', 'file', 'function.aws', 'function.azure', 'function.gcp', 'function.nextjs', 'function.remix', 'graphql', 'grpc', 'http', 'measure', 'middleware', 'navigation', 'pageload', 'queue', 'resource', 'rpc', 'serialize', 'subprocess', 'template', 'topic', 'ui', 'ui.angular', 'ui.ember', 'ui.react', 'ui.svelte', 'ui.vue', 'view', 'websocket'.",
  "type": "string",
  "apply_scrubbing": {
    "key": "never"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "db",
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        218
      ]
    }
  ]
}

sentry.client_sample_rate

doubleScrub: NeverVisibility: PublicOTel: False

Rate at which a span was sampled in the SDK.

Example0.5
Changelog
v0.1.0#102
Raw JSON
{
  "key": "sentry.client_sample_rate",
  "brief": "Rate at which a span was sampled in the SDK.",
  "type": "double",
  "apply_scrubbing": {
    "key": "never"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 0.5,
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        102
      ]
    }
  ]
}

sentry.description

stringScrub: AutoVisibility: PublicOTel: False

The human-readable description of a span.

Exampleindex view query
Changelog
v0.1.0#135
Raw JSON
{
  "key": "sentry.description",
  "brief": "The human-readable description of a span.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "index view query",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        135
      ]
    }
  ]
}

sentry.dist

stringScrub: NeverVisibility: PublicOTel: False

The sentry dist.

Example1.0
Aliasesdist
Changelog
v0.16.0#489Added dist as an alias
v0.0.0
Raw JSON
{
  "key": "sentry.dist",
  "brief": "The sentry dist.",
  "type": "string",
  "apply_scrubbing": {
    "key": "never"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "1.0",
  "alias": [
    "dist"
  ],
  "changelog": [
    {
      "version": "0.16.0",
      "prs": [
        489
      ],
      "description": "Added dist as an alias"
    },
    {
      "version": "0.0.0"
    }
  ]
}
View all 82 sentry attributes →

server

2 attributes

server.address

stringScrub: ManualVisibility: PublicOTel: True

Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.

Changelog
v0.1.0#108#127
v0.0.0
Raw JSON
{
  "key": "server.address",
  "brief": "Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "example.com",
  "alias": [
    "http.server_name",
    "net.host.name",
    "http.host",
    "server_name"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        108,
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

server.port

integerScrub: ManualVisibility: PublicOTel: True

Server port number.

Example1337
Changelog
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "server.port",
  "brief": "Server port number.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 1337,
  "alias": [
    "net.host.port"
  ],
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

service

2 attributes

service.name

stringScrub: ManualVisibility: PublicOTel: True

Logical name of the service.

Exampleomegastar
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "service.name",
  "brief": "Logical name of the service.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "omegastar",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

service.version

stringScrub: ManualVisibility: PublicOTel: True

The version string of the service API or implementation. The format is not defined by these conventions.

Example5.0.0
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "service.version",
  "brief": "The version string of the service API or implementation. The format is not defined by these conventions.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "5.0.0",
  "alias": [
    "sentry.release"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

session

1 attributes

session.id

stringScrub: ManualVisibility: PublicOTel: True

A unique id identifying the active session at the time of setting this attribute

Example00112233-4455-6677-8899-aabbccddeeff
Changelog
v0.11.0#412Added session.id attribute
Raw JSON
{
  "key": "session.id",
  "brief": "A unique id identifying the active session at the time of setting this attribute",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "00112233-4455-6677-8899-aabbccddeeff",
  "changelog": [
    {
      "version": "0.11.0",
      "prs": [
        412
      ],
      "description": "Added session.id attribute"
    }
  ]
}

starlette

1 attributes
1 deprecated attribute

starlette.middleware_nameDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The name of the Starlette middleware.

ExampleAuthenticationMiddleware

Use middleware.name instead.

This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.

Status: backfill

Changelog
nextAdded starlette.middleware_name attribute, deprecated in favor of middleware.name
Raw JSON
{
  "key": "starlette.middleware_name",
  "brief": "The name of the Starlette middleware.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "AuthenticationMiddleware",
  "deprecation": {
    "replacement": "middleware.name",
    "reason": "This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.",
    "_status": "backfill"
  },
  "alias": [
    "middleware.name"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added starlette.middleware_name attribute, deprecated in favor of middleware.name"
    }
  ]
}

starlite

1 attributes
1 deprecated attribute

starlite.middleware_nameDeprecated

stringScrub: ManualVisibility: PublicOTel: False

The name of the Starlite middleware.

ExamplesAuthenticationMiddleware

Use middleware.name instead.

This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.

Status: backfill

Changelog
next#519Added starlite.middleware_name attribute
Raw JSON
{
  "key": "starlite.middleware_name",
  "brief": "The name of the Starlite middleware.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "AuthenticationMiddleware"
  ],
  "deprecation": {
    "replacement": "middleware.name",
    "reason": "This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.",
    "_status": "backfill"
  },
  "alias": [
    "middleware.name"
  ],
  "changelog": [
    {
      "version": "next",
      "prs": [
        519
      ],
      "description": "Added starlite.middleware_name attribute"
    }
  ]
}

state

1 attributes

state.type

stringScrub: ManualVisibility: PublicOTel: False

The type of state management library

Exampleredux
Changelog
v0.7.0#365Added state.type attribute
Raw JSON
{
  "key": "state.type",
  "brief": "The type of state management library",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "redux",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        365
      ],
      "description": "Added state.type attribute"
    }
  ]
}

subprocess

1 attributes
1 deprecated attribute

subprocess.pidDeprecated

integerScrub: ManualVisibility: PublicOTel: False

The process ID of a subprocess.

Example12345

Use process.pid instead.

This attribute is being deprecated in favor of process.pid, which is the OTel-aligned replacement.

Status: backfill

Changelog
nextAdded subprocess.pid attribute, deprecated in favor of process.pid
Raw JSON
{
  "key": "subprocess.pid",
  "brief": "The process ID of a subprocess.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 12345,
  "deprecation": {
    "replacement": "process.pid",
    "reason": "This attribute is being deprecated in favor of process.pid, which is the OTel-aligned replacement.",
    "_status": "backfill"
  },
  "alias": [
    "process.pid"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added subprocess.pid attribute, deprecated in favor of process.pid"
    }
  ]
}

thread

2 attributes

thread.id

integerScrub: ManualVisibility: PublicOTel: True

Current “managed” thread ID.

Example56
Changelog
v0.0.0
Raw JSON
{
  "key": "thread.id",
  "brief": "Current “managed” thread ID.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 56,
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

thread.name

stringScrub: ManualVisibility: PublicOTel: True

Current thread name.

Examplemain
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "thread.name",
  "brief": "Current thread name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "main",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

timber

1 attributes

timber.tag

stringScrub: ManualVisibility: PublicOTel: False

The log tag provided by the timber logging framework.

ExampleMyTag
Changelog
v0.3.0#183
Raw JSON
{
  "key": "timber.tag",
  "brief": "The log tag provided by the timber logging framework.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "MyTag",
  "changelog": [
    {
      "version": "0.3.0",
      "prs": [
        183
      ]
    }
  ]
}

trpc

2 attributes

trpc.procedure_path

stringScrub: ManualVisibility: PublicOTel: False

The path of the tRPC procedure being called

Exampleuser.getById
Changelog
v0.7.0#370Added trpc.procedure_path attribute
Raw JSON
{
  "key": "trpc.procedure_path",
  "brief": "The path of the tRPC procedure being called",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "user.getById",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        370
      ],
      "description": "Added trpc.procedure_path attribute"
    }
  ]
}

trpc.procedure_type

stringScrub: ManualVisibility: PublicOTel: False

The type of the tRPC procedure

Examplequery
Changelog
v0.7.0#370Added trpc.procedure_type attribute
Raw JSON
{
  "key": "trpc.procedure_type",
  "brief": "The type of the tRPC procedure",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "query",
  "changelog": [
    {
      "version": "0.7.0",
      "prs": [
        370
      ],
      "description": "Added trpc.procedure_type attribute"
    }
  ]
}

ttfb

1 attributes
1 deprecated attribute

ttfb.requestTimeDeprecated

doubleScrub: ManualVisibility: PublicOTel: False

The time it takes for the server to process the initial request and send the first byte of a response to the user's browser

Example1554.5814

Use browser.web_vital.ttfb.request_time instead.

This attribute is being deprecated in favor of browser.web_vital.ttfb.request_time

Status: backfill

Changelog
v0.5.0#235
Raw JSON
{
  "key": "ttfb.requestTime",
  "brief": "The time it takes for the server to process the initial request and send the first byte of a response to the user's browser",
  "type": "double",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1554.5814,
  "deprecation": {
    "replacement": "browser.web_vital.ttfb.request_time",
    "reason": "This attribute is being deprecated in favor of browser.web_vital.ttfb.request_time",
    "_status": "backfill"
  },
  "alias": [
    "browser.web_vital.ttfb.request_time"
  ],
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        235
      ]
    }
  ]
}

ui

12 attributes

ui.component_name

stringScrub: ManualVisibility: PublicOTel: False

The name of the associated component.

ExampleHomeButton
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "ui.component_name",
  "brief": "The name of the associated component.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "HomeButton",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

ui.contributes_to_ttfd

booleanScrub: ManualVisibility: PublicOTel: False

Whether the span execution contributed to the TTFD (time to fully drawn) metric.

Exampletrue
Changelog
v0.0.0
Raw JSON
{
  "key": "ui.contributes_to_ttfd",
  "brief": "Whether the span execution contributed to the TTFD (time to fully drawn) metric.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": true,
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

ui.contributes_to_ttid

booleanScrub: ManualVisibility: PublicOTel: False

Whether the span execution contributed to the TTID (time to initial display) metric.

Exampletrue
Changelog
v0.0.0
Raw JSON
{
  "key": "ui.contributes_to_ttid",
  "brief": "Whether the span execution contributed to the TTID (time to initial display) metric.",
  "type": "boolean",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": true,
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

ui.element.height

integerScrub: ManualVisibility: PublicOTel: False

The height of the UI element (for Html in pixels)

Example256
Changelog
v0.5.0#284Added ui.element.height attribute
Raw JSON
{
  "key": "ui.element.height",
  "brief": "The height of the UI element (for Html in pixels)",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 256,
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        284
      ],
      "description": "Added ui.element.height attribute"
    }
  ]
}

ui.element.id

stringScrub: ManualVisibility: PublicOTel: False

The id of the UI element

Examplebtn-login
Changelog
v0.5.0#284Added ui.element.id attribute
Raw JSON
{
  "key": "ui.element.id",
  "brief": "The id of the UI element",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "btn-login",
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        284
      ],
      "description": "Added ui.element.id attribute"
    }
  ]
}

ui.element.identifier

stringScrub: ManualVisibility: PublicOTel: False

The identifier used to measure the UI element timing

ExampleheroImage
Changelog
v0.5.0#284Added ui.element.identifier attribute
Raw JSON
{
  "key": "ui.element.identifier",
  "brief": "The identifier used to measure the UI element timing",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "heroImage",
  "changelog": [
    {
      "version": "0.5.0",
      "prs": [
        284
      ],
      "description": "Added ui.element.identifier attribute"
    }
  ]
}
View all 12 ui attributes →

url

10 attributes

url.domain

stringScrub: ManualVisibility: PublicOTel: True

Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.

Exampleexample.com
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "url.domain",
  "brief": "Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "example.com",
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

url.fragment

stringScrub: AutoVisibility: PublicOTel: True

The fragments present in the URI. Note that this does not contain the leading # character, while the `http.fragment` attribute does.

Exampledetails
Changelog
v0.0.0
Raw JSON
{
  "key": "url.fragment",
  "brief": "The fragments present in the URI. Note that this does not contain the leading # character, while the `http.fragment` attribute does.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "details",
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

url.full

stringScrub: AutoVisibility: PublicOTel: True

The URL of the resource that was fetched.

Examplehttps://example.com/test?foo=bar#buzz
Changelog
nextAdded aws.request.url as an alias
v0.1.0#108
v0.0.0
Raw JSON
{
  "key": "url.full",
  "brief": "The URL of the resource that was fetched.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "https://example.com/test?foo=bar#buzz",
  "alias": [
    "http.url",
    "url",
    "aws.request.url"
  ],
  "changelog": [
    {
      "version": "next",
      "description": "Added aws.request.url as an alias"
    },
    {
      "version": "0.1.0",
      "prs": [
        108
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

url.path

stringScrub: AutoVisibility: PublicOTel: True

The URI path component.

Example/foo
Changelog
v0.0.0
Raw JSON
{
  "key": "url.path",
  "brief": "The URI path component.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "/foo",
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

url.path.parameter.<key>

stringScrub: AutoVisibility: PublicOTel: FalseDynamic

Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.

Exampleurl.path.parameter.id='123'
Dynamic SuffixYes - the key contains dynamic parts
Changelog
v0.1.0#103
Raw JSON
{
  "key": "url.path.parameter.<key>",
  "brief": "Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.",
  "has_dynamic_suffix": true,
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "url.path.parameter.id='123'",
  "alias": [
    "params.<key>"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        103
      ]
    }
  ]
}

url.port

integerScrub: ManualVisibility: PublicOTel: True

Server port number.

Example1337
Changelog
v0.4.0#228
v0.0.0
Raw JSON
{
  "key": "url.port",
  "brief": "Server port number.",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": 1337,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}
View all 10 url attributes →

user

11 attributes

user.email

stringScrub: AutoVisibility: PublicOTel: True

User email address.

Exampletest@example.com
Changelog
v0.0.0
Raw JSON
{
  "key": "user.email",
  "brief": "User email address.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "test@example.com",
  "alias": [
    "sentry.user.email"
  ],
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

user.full_name

stringScrub: AutoVisibility: PublicOTel: True

User's full name.

ExampleJohn Smith
Changelog
v0.0.0
Raw JSON
{
  "key": "user.full_name",
  "brief": "User's full name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "John Smith",
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

user.geo.city

stringScrub: ManualVisibility: PublicOTel: False

Human readable city name.

ExampleToronto
Changelog
v0.0.0
Raw JSON
{
  "key": "user.geo.city",
  "brief": "Human readable city name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Toronto",
  "alias": [
    "sentry.user.geo.city"
  ],
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

user.geo.country_code

stringScrub: ManualVisibility: PublicOTel: False

Two-letter country code (ISO 3166-1 alpha-2).

Changelog
v0.0.0
Raw JSON
{
  "key": "user.geo.country_code",
  "brief": "Two-letter country code (ISO 3166-1 alpha-2).",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "CA",
  "alias": [
    "sentry.user.geo.country_code"
  ],
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

user.geo.region

stringScrub: ManualVisibility: PublicOTel: False

Human readable region name or code.

ExampleCanada
Changelog
v0.0.0
Raw JSON
{
  "key": "user.geo.region",
  "brief": "Human readable region name or code.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Canada",
  "alias": [
    "sentry.user.geo.region"
  ],
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}

user.geo.subdivision

stringScrub: ManualVisibility: PublicOTel: False

Human readable subdivision name.

ExampleOntario
Changelog
v0.0.0
Raw JSON
{
  "key": "user.geo.subdivision",
  "brief": "Human readable subdivision name.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "Ontario",
  "alias": [
    "sentry.user.geo.subdivision"
  ],
  "changelog": [
    {
      "version": "0.0.0"
    }
  ]
}
View all 11 user attributes →

user_agent

1 attributes

user_agent.original

stringScrub: ManualVisibility: PublicOTel: True

Value of the HTTP User-Agent header sent by the client.

ExampleMozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1
Changelog
v0.1.0#127
v0.0.0
Raw JSON
{
  "key": "user_agent.original",
  "brief": "Value of the HTTP User-Agent header sent by the client.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": true,
  "visibility": "public",
  "example": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1",
  "alias": [
    "http.user_agent"
  ],
  "changelog": [
    {
      "version": "0.1.0",
      "prs": [
        127
      ]
    },
    {
      "version": "0.0.0"
    }
  ]
}

vercel

36 attributes

vercel.branch

stringScrub: ManualVisibility: PublicOTel: False

Git branch name for Vercel project

Examplemain
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.branch",
  "brief": "Git branch name for Vercel project",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "main",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.build_id

stringScrub: ManualVisibility: PublicOTel: False

Identifier for the Vercel build (only present on build logs)

Examplebld_cotnkcr76
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.build_id",
  "brief": "Identifier for the Vercel build (only present on build logs)",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "bld_cotnkcr76",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.deployment_id

stringScrub: ManualVisibility: PublicOTel: False

Identifier for the Vercel deployment

Exampledpl_233NRGRjVZX1caZrXWtz5g1TAksD
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.deployment_id",
  "brief": "Identifier for the Vercel deployment",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "dpl_233NRGRjVZX1caZrXWtz5g1TAksD",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.destination

stringScrub: ManualVisibility: PublicOTel: False

Origin of the external content in Vercel (only on external logs)

Examplehttps://vitals.vercel-insights.com/v1
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.destination",
  "brief": "Origin of the external content in Vercel (only on external logs)",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "https://vitals.vercel-insights.com/v1",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.edge_type

stringScrub: ManualVisibility: PublicOTel: False

Type of edge runtime in Vercel

Exampleedge-function
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.edge_type",
  "brief": "Type of edge runtime in Vercel",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "edge-function",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.entrypoint

stringScrub: ManualVisibility: PublicOTel: False

Entrypoint for the request in Vercel

Exampleapi/index.js
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.entrypoint",
  "brief": "Entrypoint for the request in Vercel",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "api/index.js",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}
View all 36 vercel attributes →