From 58cfd71d57cee1eea71615b37d9a66a692693aca Mon Sep 17 00:00:00 2001 From: Pablo Deputter Date: Mon, 12 Oct 2026 19:01:46 +0200 Subject: [PATCH 1/5] feat(names): Add span name rules for `rpc` spans --- model/name/rpc.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 model/name/rpc.json diff --git a/model/name/rpc.json b/model/name/rpc.json new file mode 100644 index 00000000..40f813e7 --- /dev/null +++ b/model/name/rpc.json @@ -0,0 +1,14 @@ +{ + "brief": "RPC", + "operations": [ + { + "name": "RPC call", + "brief": "A remote procedure call, such as an AWS SDK call or a gRPC call.", + "is_in_otel": true, + "otel_notes": "OpenTelemetry names RPC spans `{rpc.method}`, falling back to `{rpc.system.name}`. AWS SDK spans are named `{rpc.service}.{rpc.method}`, which the first template matches.", + "ops": ["rpc"], + "templates": ["{{rpc.service}}.{{rpc.method}}", "{{rpc.method}}", "{{rpc.system.name}}", "RPC call"], + "examples": ["S3.ListBuckets", "Lambda.Invoke", "com.example.ExampleService/exampleMethod", "grpc", "RPC call"] + } + ] +} From e65939af52ef48d4c9d5692c4ca3cfa134d84183 Mon Sep 17 00:00:00 2001 From: Pablo Deputter Date: Tue, 13 Oct 2026 18:48:26 +0200 Subject: [PATCH 2/5] . --- model/name/rpc.json | 2 +- python/src/sentry_conventions/attributes.py | 13534 +++++++----------- 2 files changed, 5316 insertions(+), 8220 deletions(-) diff --git a/model/name/rpc.json b/model/name/rpc.json index 40f813e7..c951a048 100644 --- a/model/name/rpc.json +++ b/model/name/rpc.json @@ -5,7 +5,7 @@ "name": "RPC call", "brief": "A remote procedure call, such as an AWS SDK call or a gRPC call.", "is_in_otel": true, - "otel_notes": "OpenTelemetry names RPC spans `{rpc.method}`, falling back to `{rpc.system.name}`. AWS SDK spans are named `{rpc.service}.{rpc.method}`, which the first template matches.", + "otel_notes": "OpenTelemetry names RPC spans `{rpc.method}`, falling back to `{rpc.system.name}` if `rpc.method` is unavailable or set to `_OTHER`. AWS SDK spans are named `{rpc.service}.{rpc.method}`, which the first template matches.", "ops": ["rpc"], "templates": ["{{rpc.service}}.{{rpc.method}}", "{{rpc.method}}", "{{rpc.system.name}}", "RPC call"], "examples": ["S3.ListBuckets", "Lambda.Invoke", "com.example.ExampleService/exampleMethod", "grpc", "RPC call"] diff --git a/python/src/sentry_conventions/attributes.py b/python/src/sentry_conventions/attributes.py index 6b1f9e86..10319cc8 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -7,10 +7,7 @@ from enum import Enum from typing import Dict, List, Literal, Optional, Tuple, TypedDict, Union -AttributeValue = Union[ - str, int, float, bool, List[str], List[int], List[float], List[bool] -] - +AttributeValue = Union[str, int, float, bool, List[str], List[int], List[float], List[bool]] class AttributeType(Enum): STRING = "string" @@ -23,56 +20,47 @@ class AttributeType(Enum): DOUBLE_ARRAY = "double[]" ANY = "any" - class ApplyScrubbing(Enum): AUTO = "auto" MANUAL = "manual" NEVER = "never" - class Visibility(Enum): PUBLIC = "public" INTERNAL = "internal" - @dataclass class ApplyScrubbingInfo: """Holds information about how PII scrubbing should be applied to an attribute's values.""" - key: ApplyScrubbing reason: Optional[str] = None - class DeprecationStatus(Enum): BACKFILL = "backfill" NORMALIZE = "normalize" TRANSFORM = "transform" - @dataclass class DeprecationInfo: """Holds information about a deprecation.""" - replacement: Optional[str] = None reason: Optional[str] = None status: Optional[DeprecationStatus] = None transformation: Optional[str] = None - @dataclass class ChangelogEntry: """A changelog entry tracking a change to an attribute.""" version: str """The sentry-conventions release version""" - + prs: Optional[List[int]] = None """GitHub PR numbers""" - + description: Optional[str] = None """Optional description of what changed""" - SearchAliasType = Literal[ "byte", "currency", @@ -81,40 +69,38 @@ class ChangelogEntry: "second", ] - @dataclass class SearchAlias: """How an attribute is exposed in Sentry search.""" name: str """The public name exposed in Sentry search""" - + type: Optional[SearchAliasType] = None """The type exposed by Sentry search. Defaults to the attribute's primary type if omitted""" - + deprecated_aliases: Optional[List[str]] = None """Deprecated aliases still accepted in search queries""" - @dataclass class AttributeMetadata: """The metadata for an attribute.""" brief: str """A description of the attribute""" - + type: AttributeType """The type of the attribute value""" - + apply_scrubbing: ApplyScrubbingInfo """How PII scrubbing should be applied to the attribute value. Is either auto, manual or never. Optionally include a reason about why this mode applies""" - + is_in_otel: bool """Whether the attribute is defined in OpenTelemetry Semantic Conventions""" - + visibility: Visibility """Whether the attribute is public or internal to Sentry""" - + keys: Tuple[str, ...] """Every key this attribute's value may be readable under, preferred key first. @@ -125,32 +111,31 @@ class AttributeMetadata: the first key is not guaranteed to be non-deprecated -- check ``deprecation`` if that matters. """ - + has_dynamic_suffix: Optional[bool] = None """If an attribute has a dynamic suffix, for example http.response.header. where is dynamic""" - + example: Optional[AttributeValue] = None """An example value of the attribute""" - + deprecation: Optional[DeprecationInfo] = None """If an attribute was deprecated, and what it was replaced with""" - + aliases: Optional[List[str]] = None """If there are attributes that alias to this attribute""" - + changelog: Optional[List[ChangelogEntry]] = None """Changelog entries tracking how this attribute has changed across versions""" - + additional_context: Optional[List[str]] = None """A list of freeform notes providing additional context about how this attribute behaves, common pitfalls, or query-time nuances""" - + examples: Optional[List[AttributeValue]] = None """Example values of the attribute""" - + search_alias: Optional[SearchAlias] = None """How this attribute is exposed in Sentry search""" - class _AttributeNamesMeta(type): _deprecated_names = { "ADDRESS", @@ -446,7 +431,6 @@ def __getattribute__(cls, name: str): ) return super().__getattribute__(name) - class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """Contains all attribute names as class attributes with their documentation.""" @@ -476,9 +460,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/ai/ai__completion_tokens__used.json - AI_COMPLETION_TOKENS_USED: Literal["ai.completion_tokens.used"] = ( - "ai.completion_tokens.used" - ) + AI_COMPLETION_TOKENS_USED: Literal["ai.completion_tokens.used"] = "ai.completion_tokens.used" """The number of tokens used to respond to the message. Type: int @@ -1083,9 +1065,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/anthropic/anthropic__tool_result__content.json - ANTHROPIC_TOOL_RESULT_CONTENT: Literal["anthropic.tool_result.content"] = ( - "anthropic.tool_result.content" - ) + ANTHROPIC_TOOL_RESULT_CONTENT: Literal["anthropic.tool_result.content"] = "anthropic.tool_result.content" """The content of the tool result. Type: str @@ -1234,9 +1214,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__frames__delay__value.json - APP_VITALS_FRAMES_DELAY_VALUE: Literal["app.vitals.frames.delay.value"] = ( - "app.vitals.frames.delay.value" - ) + APP_VITALS_FRAMES_DELAY_VALUE: Literal["app.vitals.frames.delay.value"] = "app.vitals.frames.delay.value" """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: int @@ -1248,9 +1226,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__frames__frozen__count.json - APP_VITALS_FRAMES_FROZEN_COUNT: Literal["app.vitals.frames.frozen.count"] = ( - "app.vitals.frames.frozen.count" - ) + APP_VITALS_FRAMES_FROZEN_COUNT: Literal["app.vitals.frames.frozen.count"] = "app.vitals.frames.frozen.count" """The number of frozen frames rendered during the lifetime of the span. Type: int @@ -1262,9 +1238,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__frames__frozen__rate.json - APP_VITALS_FRAMES_FROZEN_RATE: Literal["app.vitals.frames.frozen.rate"] = ( - "app.vitals.frames.frozen.rate" - ) + APP_VITALS_FRAMES_FROZEN_RATE: Literal["app.vitals.frames.frozen.rate"] = "app.vitals.frames.frozen.rate" """The fraction of rendered frames that were frozen, calculated as `app.vitals.frames.frozen.count` divided by `app.vitals.frames.total.count`. This is computed by Relay. Type: float @@ -1276,9 +1250,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__frames__slow__count.json - APP_VITALS_FRAMES_SLOW_COUNT: Literal["app.vitals.frames.slow.count"] = ( - "app.vitals.frames.slow.count" - ) + APP_VITALS_FRAMES_SLOW_COUNT: Literal["app.vitals.frames.slow.count"] = "app.vitals.frames.slow.count" """The number of slow frames rendered during the lifetime of the span. Type: int @@ -1290,9 +1262,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__frames__slow__rate.json - APP_VITALS_FRAMES_SLOW_RATE: Literal["app.vitals.frames.slow.rate"] = ( - "app.vitals.frames.slow.rate" - ) + APP_VITALS_FRAMES_SLOW_RATE: Literal["app.vitals.frames.slow.rate"] = "app.vitals.frames.slow.rate" """The fraction of rendered frames that were slow, calculated as `app.vitals.frames.slow.count` divided by `app.vitals.frames.total.count`. This is computed by Relay. Type: float @@ -1304,9 +1274,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__frames__total__count.json - APP_VITALS_FRAMES_TOTAL_COUNT: Literal["app.vitals.frames.total.count"] = ( - "app.vitals.frames.total.count" - ) + APP_VITALS_FRAMES_TOTAL_COUNT: Literal["app.vitals.frames.total.count"] = "app.vitals.frames.total.count" """The number of total frames rendered during the lifetime of the span. Type: int @@ -1318,9 +1286,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__stall__duration.json - APP_VITALS_STALL_DURATION: Literal["app.vitals.stall.duration"] = ( - "app.vitals.stall.duration" - ) + APP_VITALS_STALL_DURATION: Literal["app.vitals.stall.duration"] = "app.vitals.stall.duration" """The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay. Type: float @@ -1332,9 +1298,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__stall__percentage.json - APP_VITALS_STALL_PERCENTAGE: Literal["app.vitals.stall.percentage"] = ( - "app.vitals.stall.percentage" - ) + APP_VITALS_STALL_PERCENTAGE: Literal["app.vitals.stall.percentage"] = "app.vitals.stall.percentage" """The fraction of transaction duration during which the app was stalled, between 0.0 and 1.0. For example, 0.8 represents 80%. Only applies to React Native. This is computed by Relay. Type: float @@ -1346,9 +1310,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__start__cold__value.json - APP_VITALS_START_COLD_VALUE: Literal["app.vitals.start.cold.value"] = ( - "app.vitals.start.cold.value" - ) + APP_VITALS_START_COLD_VALUE: Literal["app.vitals.start.cold.value"] = "app.vitals.start.cold.value" """The duration of a cold app start in milliseconds Type: float @@ -1360,9 +1322,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__start__prewarmed.json - APP_VITALS_START_PREWARMED: Literal["app.vitals.start.prewarmed"] = ( - "app.vitals.start.prewarmed" - ) + APP_VITALS_START_PREWARMED: Literal["app.vitals.start.prewarmed"] = "app.vitals.start.prewarmed" """Whether the app start was prewarmed. Type: bool @@ -1373,9 +1333,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__start__reason.json - APP_VITALS_START_REASON: Literal["app.vitals.start.reason"] = ( - "app.vitals.start.reason" - ) + APP_VITALS_START_REASON: Literal["app.vitals.start.reason"] = "app.vitals.start.reason" """The reason that triggered the app start. Type: str @@ -1386,9 +1344,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__start__screen.json - APP_VITALS_START_SCREEN: Literal["app.vitals.start.screen"] = ( - "app.vitals.start.screen" - ) + APP_VITALS_START_SCREEN: Literal["app.vitals.start.screen"] = "app.vitals.start.screen" """The screen that is rendered when the app start is complete. This is the screen the user first sees and can interact with after launch. The absence of this attribute on the app start span indicates a background app start where no UI was rendered. Type: str @@ -1411,9 +1367,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__start__warm__value.json - APP_VITALS_START_WARM_VALUE: Literal["app.vitals.start.warm.value"] = ( - "app.vitals.start.warm.value" - ) + APP_VITALS_START_WARM_VALUE: Literal["app.vitals.start.warm.value"] = "app.vitals.start.warm.value" """The duration of a warm app start in milliseconds Type: float @@ -1565,9 +1519,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/art/art__memory__free_until_gc.json - ART_MEMORY_FREE_UNTIL_GC: Literal["art.memory.free_until_gc"] = ( - "art.memory.free_until_gc" - ) + ART_MEMORY_FREE_UNTIL_GC: Literal["art.memory.free_until_gc"] = "art.memory.free_until_gc" """Free memory available before a garbage collection would be triggered by the Android Runtime, in bytes Type: int @@ -1578,9 +1530,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/art/art__memory__free_until_oome.json - ART_MEMORY_FREE_UNTIL_OOME: Literal["art.memory.free_until_oome"] = ( - "art.memory.free_until_oome" - ) + ART_MEMORY_FREE_UNTIL_OOME: Literal["art.memory.free_until_oome"] = "art.memory.free_until_oome" """Free memory available before an OutOfMemoryError would be thrown by the Android Runtime, in bytes Type: int @@ -1613,9 +1563,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__cloudwatch__logs__log_group.json - AWS_CLOUDWATCH_LOGS_LOG_GROUP: Literal["aws.cloudwatch.logs.log_group"] = ( - "aws.cloudwatch.logs.log_group" - ) + AWS_CLOUDWATCH_LOGS_LOG_GROUP: Literal["aws.cloudwatch.logs.log_group"] = "aws.cloudwatch.logs.log_group" """The name of the CloudWatch Logs log group Type: str @@ -1626,9 +1574,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__cloudwatch__logs__log_stream.json - AWS_CLOUDWATCH_LOGS_LOG_STREAM: Literal["aws.cloudwatch.logs.log_stream"] = ( - "aws.cloudwatch.logs.log_stream" - ) + AWS_CLOUDWATCH_LOGS_LOG_STREAM: Literal["aws.cloudwatch.logs.log_stream"] = "aws.cloudwatch.logs.log_stream" """The name of the CloudWatch Logs log stream Type: str @@ -1639,9 +1585,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__cloudwatch__logs__url.json - AWS_CLOUDWATCH_LOGS_URL: Literal["aws.cloudwatch.logs.url"] = ( - "aws.cloudwatch.logs.url" - ) + AWS_CLOUDWATCH_LOGS_URL: Literal["aws.cloudwatch.logs.url"] = "aws.cloudwatch.logs.url" """The URL to the CloudWatch Logs log group Type: str @@ -1652,9 +1596,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__attribute_definitions.json - AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS: Literal[ - "aws.dynamodb.attribute_definitions" - ] = "aws.dynamodb.attribute_definitions" + AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS: Literal["aws.dynamodb.attribute_definitions"] = "aws.dynamodb.attribute_definitions" """The JSON-serialized value of each item in the `AttributeDefinitions` request field. Type: List[str] @@ -1665,9 +1607,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__attributes_to_get.json - AWS_DYNAMODB_ATTRIBUTES_TO_GET: Literal["aws.dynamodb.attributes_to_get"] = ( - "aws.dynamodb.attributes_to_get" - ) + AWS_DYNAMODB_ATTRIBUTES_TO_GET: Literal["aws.dynamodb.attributes_to_get"] = "aws.dynamodb.attributes_to_get" """The value of the `AttributesToGet` request parameter. Type: List[str] @@ -1678,9 +1618,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__consistent_read.json - AWS_DYNAMODB_CONSISTENT_READ: Literal["aws.dynamodb.consistent_read"] = ( - "aws.dynamodb.consistent_read" - ) + AWS_DYNAMODB_CONSISTENT_READ: Literal["aws.dynamodb.consistent_read"] = "aws.dynamodb.consistent_read" """The value of the `ConsistentRead` request parameter. Type: bool @@ -1691,9 +1629,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__consumed_capacity.json - AWS_DYNAMODB_CONSUMED_CAPACITY: Literal["aws.dynamodb.consumed_capacity"] = ( - "aws.dynamodb.consumed_capacity" - ) + AWS_DYNAMODB_CONSUMED_CAPACITY: Literal["aws.dynamodb.consumed_capacity"] = "aws.dynamodb.consumed_capacity" """The JSON-serialized value of each item in the `ConsumedCapacity` response field. Type: List[str] @@ -1715,9 +1651,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__exclusive_start_table.json - AWS_DYNAMODB_EXCLUSIVE_START_TABLE: Literal[ - "aws.dynamodb.exclusive_start_table" - ] = "aws.dynamodb.exclusive_start_table" + AWS_DYNAMODB_EXCLUSIVE_START_TABLE: Literal["aws.dynamodb.exclusive_start_table"] = "aws.dynamodb.exclusive_start_table" """The value of the `ExclusiveStartTableName` request parameter. Type: str @@ -1728,9 +1662,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__global_secondary_index_updates.json - AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES: Literal[ - "aws.dynamodb.global_secondary_index_updates" - ] = "aws.dynamodb.global_secondary_index_updates" + AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES: Literal["aws.dynamodb.global_secondary_index_updates"] = "aws.dynamodb.global_secondary_index_updates" """The JSON-serialized value of each item in the `GlobalSecondaryIndexUpdates` request field. Type: List[str] @@ -1741,9 +1673,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__global_secondary_indexes.json - AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES: Literal[ - "aws.dynamodb.global_secondary_indexes" - ] = "aws.dynamodb.global_secondary_indexes" + AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES: Literal["aws.dynamodb.global_secondary_indexes"] = "aws.dynamodb.global_secondary_indexes" """The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field. Type: List[str] @@ -1754,9 +1684,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__index_name.json - AWS_DYNAMODB_INDEX_NAME: Literal["aws.dynamodb.index_name"] = ( - "aws.dynamodb.index_name" - ) + AWS_DYNAMODB_INDEX_NAME: Literal["aws.dynamodb.index_name"] = "aws.dynamodb.index_name" """The value of the `IndexName` request parameter. Type: str @@ -1767,9 +1695,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__item_collection_metrics.json - AWS_DYNAMODB_ITEM_COLLECTION_METRICS: Literal[ - "aws.dynamodb.item_collection_metrics" - ] = "aws.dynamodb.item_collection_metrics" + AWS_DYNAMODB_ITEM_COLLECTION_METRICS: Literal["aws.dynamodb.item_collection_metrics"] = "aws.dynamodb.item_collection_metrics" """The JSON-serialized value of the `ItemCollectionMetrics` response field. Type: str @@ -1791,9 +1717,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__local_secondary_indexes.json - AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES: Literal[ - "aws.dynamodb.local_secondary_indexes" - ] = "aws.dynamodb.local_secondary_indexes" + AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES: Literal["aws.dynamodb.local_secondary_indexes"] = "aws.dynamodb.local_secondary_indexes" """The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field. Type: List[str] @@ -1804,9 +1728,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__projection.json - AWS_DYNAMODB_PROJECTION: Literal["aws.dynamodb.projection"] = ( - "aws.dynamodb.projection" - ) + AWS_DYNAMODB_PROJECTION: Literal["aws.dynamodb.projection"] = "aws.dynamodb.projection" """The value of the `ProjectionExpression` request parameter. Type: str @@ -1817,9 +1739,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__provisioned_read_capacity.json - AWS_DYNAMODB_PROVISIONED_READ_CAPACITY: Literal[ - "aws.dynamodb.provisioned_read_capacity" - ] = "aws.dynamodb.provisioned_read_capacity" + AWS_DYNAMODB_PROVISIONED_READ_CAPACITY: Literal["aws.dynamodb.provisioned_read_capacity"] = "aws.dynamodb.provisioned_read_capacity" """The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter. Type: float @@ -1830,9 +1750,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__provisioned_write_capacity.json - AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY: Literal[ - "aws.dynamodb.provisioned_write_capacity" - ] = "aws.dynamodb.provisioned_write_capacity" + AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY: Literal["aws.dynamodb.provisioned_write_capacity"] = "aws.dynamodb.provisioned_write_capacity" """The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter. Type: float @@ -1843,9 +1761,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__scan_forward.json - AWS_DYNAMODB_SCAN_FORWARD: Literal["aws.dynamodb.scan_forward"] = ( - "aws.dynamodb.scan_forward" - ) + AWS_DYNAMODB_SCAN_FORWARD: Literal["aws.dynamodb.scan_forward"] = "aws.dynamodb.scan_forward" """The value of the `ScanIndexForward` request parameter. Type: bool @@ -1856,9 +1772,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__scanned_count.json - AWS_DYNAMODB_SCANNED_COUNT: Literal["aws.dynamodb.scanned_count"] = ( - "aws.dynamodb.scanned_count" - ) + AWS_DYNAMODB_SCANNED_COUNT: Literal["aws.dynamodb.scanned_count"] = "aws.dynamodb.scanned_count" """The value of the `ScannedCount` response parameter. Type: int @@ -1891,9 +1805,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__table_count.json - AWS_DYNAMODB_TABLE_COUNT: Literal["aws.dynamodb.table_count"] = ( - "aws.dynamodb.table_count" - ) + AWS_DYNAMODB_TABLE_COUNT: Literal["aws.dynamodb.table_count"] = "aws.dynamodb.table_count" """The number of items in the `TableNames` response parameter. Type: int @@ -1904,9 +1816,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__table_names.json - AWS_DYNAMODB_TABLE_NAMES: Literal["aws.dynamodb.table_names"] = ( - "aws.dynamodb.table_names" - ) + AWS_DYNAMODB_TABLE_NAMES: Literal["aws.dynamodb.table_names"] = "aws.dynamodb.table_names" """The keys in the `RequestItems` object field. Type: List[str] @@ -1917,9 +1827,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__total_segments.json - AWS_DYNAMODB_TOTAL_SEGMENTS: Literal["aws.dynamodb.total_segments"] = ( - "aws.dynamodb.total_segments" - ) + AWS_DYNAMODB_TOTAL_SEGMENTS: Literal["aws.dynamodb.total_segments"] = "aws.dynamodb.total_segments" """The value of the `TotalSegments` request parameter. Type: int @@ -1930,9 +1838,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__extended_request_id.json - AWS_EXTENDED_REQUEST_ID: Literal["aws.extended_request_id"] = ( - "aws.extended_request_id" - ) + AWS_EXTENDED_REQUEST_ID: Literal["aws.extended_request_id"] = "aws.extended_request_id" """The AWS extended request ID as returned in the response headers. Type: str @@ -1944,9 +1850,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__kinesis__stream__name.json - _AWS_KINESIS_STREAM_NAME: Literal["aws.kinesis.stream.name"] = ( - "aws.kinesis.stream.name" - ) + _AWS_KINESIS_STREAM_NAME: Literal["aws.kinesis.stream.name"] = "aws.kinesis.stream.name" """The name of the AWS Kinesis stream the request refers to. Type: str @@ -1959,9 +1863,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__kinesis__stream_name.json - AWS_KINESIS_STREAM_NAME: Literal["aws.kinesis.stream_name"] = ( - "aws.kinesis.stream_name" - ) + AWS_KINESIS_STREAM_NAME: Literal["aws.kinesis.stream_name"] = "aws.kinesis.stream_name" """The name of the AWS Kinesis stream the request refers to. Type: str @@ -1973,9 +1875,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__lambda__aws_request_id.json - AWS_LAMBDA_AWS_REQUEST_ID: Literal["aws.lambda.aws_request_id"] = ( - "aws.lambda.aws_request_id" - ) + AWS_LAMBDA_AWS_REQUEST_ID: Literal["aws.lambda.aws_request_id"] = "aws.lambda.aws_request_id" """The AWS request ID as received by the Lambda function runtime Type: str @@ -1988,9 +1888,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__lambda__execution_duration_in_millis.json - AWS_LAMBDA_EXECUTION_DURATION_IN_MILLIS: Literal[ - "aws.lambda.execution_duration_in_millis" - ] = "aws.lambda.execution_duration_in_millis" + AWS_LAMBDA_EXECUTION_DURATION_IN_MILLIS: Literal["aws.lambda.execution_duration_in_millis"] = "aws.lambda.execution_duration_in_millis" """The execution duration of the Lambda function invocation in milliseconds Type: float @@ -2001,9 +1899,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__lambda__function_name.json - AWS_LAMBDA_FUNCTION_NAME: Literal["aws.lambda.function_name"] = ( - "aws.lambda.function_name" - ) + AWS_LAMBDA_FUNCTION_NAME: Literal["aws.lambda.function_name"] = "aws.lambda.function_name" """The name of the Lambda function Type: str @@ -2016,9 +1912,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__lambda__function_version.json - AWS_LAMBDA_FUNCTION_VERSION: Literal["aws.lambda.function_version"] = ( - "aws.lambda.function_version" - ) + AWS_LAMBDA_FUNCTION_VERSION: Literal["aws.lambda.function_version"] = "aws.lambda.function_version" """The version of the Lambda function Type: str @@ -2043,9 +1937,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__lambda__invoked_function_arn.json - AWS_LAMBDA_INVOKED_FUNCTION_ARN: Literal["aws.lambda.invoked_function_arn"] = ( - "aws.lambda.invoked_function_arn" - ) + AWS_LAMBDA_INVOKED_FUNCTION_ARN: Literal["aws.lambda.invoked_function_arn"] = "aws.lambda.invoked_function_arn" """The full ARN of the Lambda function that was invoked Type: str @@ -2058,9 +1950,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__lambda__remaining_time_in_millis.json - AWS_LAMBDA_REMAINING_TIME_IN_MILLIS: Literal[ - "aws.lambda.remaining_time_in_millis" - ] = "aws.lambda.remaining_time_in_millis" + AWS_LAMBDA_REMAINING_TIME_IN_MILLIS: Literal["aws.lambda.remaining_time_in_millis"] = "aws.lambda.remaining_time_in_millis" """The remaining time in milliseconds before the Lambda function times out Type: float @@ -2106,9 +1996,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__request__extended_id.json - AWS_REQUEST_EXTENDED_ID: Literal["aws.request.extended_id"] = ( - "aws.request.extended_id" - ) + AWS_REQUEST_EXTENDED_ID: Literal["aws.request.extended_id"] = "aws.request.extended_id" """The AWS extended request ID as returned in the response headers. Type: str @@ -2225,9 +2113,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__secretsmanager__secret__arn.json - AWS_SECRETSMANAGER_SECRET_ARN: Literal["aws.secretsmanager.secret.arn"] = ( - "aws.secretsmanager.secret.arn" - ) + AWS_SECRETSMANAGER_SECRET_ARN: Literal["aws.secretsmanager.secret.arn"] = "aws.secretsmanager.secret.arn" """The ARN of the Secret stored in Secrets Manager. Type: str @@ -2260,9 +2146,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__step_functions__activity__arn.json - AWS_STEP_FUNCTIONS_ACTIVITY_ARN: Literal["aws.step_functions.activity.arn"] = ( - "aws.step_functions.activity.arn" - ) + AWS_STEP_FUNCTIONS_ACTIVITY_ARN: Literal["aws.step_functions.activity.arn"] = "aws.step_functions.activity.arn" """The ARN of the AWS Step Functions Activity. Type: str @@ -2273,9 +2157,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__step_functions__execution__arn.json - AWS_STEP_FUNCTIONS_EXECUTION_ARN: Literal["aws.step_functions.execution.arn"] = ( - "aws.step_functions.execution.arn" - ) + AWS_STEP_FUNCTIONS_EXECUTION_ARN: Literal["aws.step_functions.execution.arn"] = "aws.step_functions.execution.arn" """The ARN of the AWS Step Functions Execution. Type: str @@ -2286,9 +2168,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__step_functions__state_machine__arn.json - AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN: Literal[ - "aws.step_functions.state_machine.arn" - ] = "aws.step_functions.state_machine.arn" + AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN: Literal["aws.step_functions.state_machine.arn"] = "aws.step_functions.state_machine.arn" """The ARN of the AWS Step Functions State Machine. Type: str @@ -2335,9 +2215,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__bfcache__not_restored_reason_count.json - BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT: Literal[ - "browser.bfcache.not_restored_reason_count" - ] = "browser.bfcache.not_restored_reason_count" + BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT: Literal["browser.bfcache.not_restored_reason_count"] = "browser.bfcache.not_restored_reason_count" """The number of reported reasons a page was not restored from the back/forward cache on a back/forward navigation. 0 when the browser reported no reasons (e.g. non-Chromium browsers). Type: int @@ -2348,9 +2226,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__bfcache__outcome.json - BROWSER_BFCACHE_OUTCOME: Literal["browser.bfcache.outcome"] = ( - "browser.bfcache.outcome" - ) + BROWSER_BFCACHE_OUTCOME: Literal["browser.bfcache.outcome"] = "browser.bfcache.outcome" """Whether a back/forward navigation was restored from the browser's back/forward cache (bfcache). 'hit' means the page was restored; 'miss' means it was reloaded. Type: str @@ -2401,9 +2277,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__navigation__type.json - BROWSER_NAVIGATION_TYPE: Literal["browser.navigation.type"] = ( - "browser.navigation.type" - ) + BROWSER_NAVIGATION_TYPE: Literal["browser.navigation.type"] = "browser.navigation.type" """The type of navigation the browser performed to arrive at the page the metrics were measured on. Type: str @@ -2432,9 +2306,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__performance__navigation__activation_start.json - BROWSER_PERFORMANCE_NAVIGATION_ACTIVATION_START: Literal[ - "browser.performance.navigation.activation_start" - ] = "browser.performance.navigation.activation_start" + BROWSER_PERFORMANCE_NAVIGATION_ACTIVATION_START: Literal["browser.performance.navigation.activation_start"] = "browser.performance.navigation.activation_start" """The time between initiating a navigation to a page and the browser activating the page Type: float @@ -2446,9 +2318,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__performance__time_origin.json - BROWSER_PERFORMANCE_TIME_ORIGIN: Literal["browser.performance.time_origin"] = ( - "browser.performance.time_origin" - ) + BROWSER_PERFORMANCE_TIME_ORIGIN: Literal["browser.performance.time_origin"] = "browser.performance.time_origin" """The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated Type: float @@ -2482,9 +2352,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__script__invoker_type.json - BROWSER_SCRIPT_INVOKER_TYPE: Literal["browser.script.invoker_type"] = ( - "browser.script.invoker_type" - ) + BROWSER_SCRIPT_INVOKER_TYPE: Literal["browser.script.invoker_type"] = "browser.script.invoker_type" """Browser script entry point type. Type: str @@ -2495,9 +2363,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__script__source_char_position.json - BROWSER_SCRIPT_SOURCE_CHAR_POSITION: Literal[ - "browser.script.source_char_position" - ] = "browser.script.source_char_position" + BROWSER_SCRIPT_SOURCE_CHAR_POSITION: Literal["browser.script.source_char_position"] = "browser.script.source_char_position" """A number representing the script character position of the script. Type: int @@ -2520,9 +2386,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__cls__report_event.json - BROWSER_WEB_VITAL_CLS_REPORT_EVENT: Literal[ - "browser.web_vital.cls.report_event" - ] = "browser.web_vital.cls.report_event" + BROWSER_WEB_VITAL_CLS_REPORT_EVENT: Literal["browser.web_vital.cls.report_event"] = "browser.web_vital.cls.report_event" """The event that caused the SDK to report CLS (pagehide or navigation) Type: str @@ -2534,9 +2398,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__cls__source__[key].json - BROWSER_WEB_VITAL_CLS_SOURCE_KEY: Literal["browser.web_vital.cls.source."] = ( - "browser.web_vital.cls.source." - ) + BROWSER_WEB_VITAL_CLS_SOURCE_KEY: Literal["browser.web_vital.cls.source."] = "browser.web_vital.cls.source." """The HTML elements or components responsible for the layout shift. is a numeric index from 1 to N Type: str @@ -2549,9 +2411,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__cls__value.json - BROWSER_WEB_VITAL_CLS_VALUE: Literal["browser.web_vital.cls.value"] = ( - "browser.web_vital.cls.value" - ) + BROWSER_WEB_VITAL_CLS_VALUE: Literal["browser.web_vital.cls.value"] = "browser.web_vital.cls.value" """The value of the recorded Cumulative Layout Shift (CLS) web vital Type: float @@ -2563,9 +2423,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__fcp__value.json - BROWSER_WEB_VITAL_FCP_VALUE: Literal["browser.web_vital.fcp.value"] = ( - "browser.web_vital.fcp.value" - ) + BROWSER_WEB_VITAL_FCP_VALUE: Literal["browser.web_vital.fcp.value"] = "browser.web_vital.fcp.value" """The time it takes for the browser to render the first piece of meaningful content on the screen Type: float @@ -2577,9 +2435,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__fp__value.json - BROWSER_WEB_VITAL_FP_VALUE: Literal["browser.web_vital.fp.value"] = ( - "browser.web_vital.fp.value" - ) + BROWSER_WEB_VITAL_FP_VALUE: Literal["browser.web_vital.fp.value"] = "browser.web_vital.fp.value" """The time in milliseconds it takes for the browser to render the first pixel on the screen Type: float @@ -2591,9 +2447,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__inp__interaction_type.json - BROWSER_WEB_VITAL_INP_INTERACTION_TYPE: Literal[ - "browser.web_vital.inp.interaction_type" - ] = "browser.web_vital.inp.interaction_type" + BROWSER_WEB_VITAL_INP_INTERACTION_TYPE: Literal["browser.web_vital.inp.interaction_type"] = "browser.web_vital.inp.interaction_type" """The kind of user interaction INP was reported on Type: str @@ -2607,9 +2461,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__inp__target.json - BROWSER_WEB_VITAL_INP_TARGET: Literal["browser.web_vital.inp.target"] = ( - "browser.web_vital.inp.target" - ) + BROWSER_WEB_VITAL_INP_TARGET: Literal["browser.web_vital.inp.target"] = "browser.web_vital.inp.target" """The HTML element selector or component name of the element the user interacted with, for the interaction INP was reported on Type: str @@ -2621,9 +2473,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__inp__value.json - BROWSER_WEB_VITAL_INP_VALUE: Literal["browser.web_vital.inp.value"] = ( - "browser.web_vital.inp.value" - ) + BROWSER_WEB_VITAL_INP_VALUE: Literal["browser.web_vital.inp.value"] = "browser.web_vital.inp.value" """The value of the recorded Interaction to Next Paint (INP) web vital Type: float @@ -2635,9 +2485,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__element.json - BROWSER_WEB_VITAL_LCP_ELEMENT: Literal["browser.web_vital.lcp.element"] = ( - "browser.web_vital.lcp.element" - ) + BROWSER_WEB_VITAL_LCP_ELEMENT: Literal["browser.web_vital.lcp.element"] = "browser.web_vital.lcp.element" """The HTML element selector or component name for which LCP was reported Type: str @@ -2649,9 +2497,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__id.json - BROWSER_WEB_VITAL_LCP_ID: Literal["browser.web_vital.lcp.id"] = ( - "browser.web_vital.lcp.id" - ) + BROWSER_WEB_VITAL_LCP_ID: Literal["browser.web_vital.lcp.id"] = "browser.web_vital.lcp.id" """The id of the dom element responsible for the largest contentful paint Type: str @@ -2663,9 +2509,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__load_time.json - BROWSER_WEB_VITAL_LCP_LOAD_TIME: Literal["browser.web_vital.lcp.load_time"] = ( - "browser.web_vital.lcp.load_time" - ) + BROWSER_WEB_VITAL_LCP_LOAD_TIME: Literal["browser.web_vital.lcp.load_time"] = "browser.web_vital.lcp.load_time" """The time it took for the LCP element to be loaded Type: int @@ -2677,9 +2521,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__render_time.json - BROWSER_WEB_VITAL_LCP_RENDER_TIME: Literal["browser.web_vital.lcp.render_time"] = ( - "browser.web_vital.lcp.render_time" - ) + BROWSER_WEB_VITAL_LCP_RENDER_TIME: Literal["browser.web_vital.lcp.render_time"] = "browser.web_vital.lcp.render_time" """The time it took for the LCP element to be rendered Type: int @@ -2691,9 +2533,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__report_event.json - BROWSER_WEB_VITAL_LCP_REPORT_EVENT: Literal[ - "browser.web_vital.lcp.report_event" - ] = "browser.web_vital.lcp.report_event" + BROWSER_WEB_VITAL_LCP_REPORT_EVENT: Literal["browser.web_vital.lcp.report_event"] = "browser.web_vital.lcp.report_event" """The event that caused the SDK to report LCP (pagehide or navigation) Type: str @@ -2705,9 +2545,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__size.json - BROWSER_WEB_VITAL_LCP_SIZE: Literal["browser.web_vital.lcp.size"] = ( - "browser.web_vital.lcp.size" - ) + BROWSER_WEB_VITAL_LCP_SIZE: Literal["browser.web_vital.lcp.size"] = "browser.web_vital.lcp.size" """The size of the largest contentful paint element Type: int @@ -2719,9 +2557,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__url.json - BROWSER_WEB_VITAL_LCP_URL: Literal["browser.web_vital.lcp.url"] = ( - "browser.web_vital.lcp.url" - ) + BROWSER_WEB_VITAL_LCP_URL: Literal["browser.web_vital.lcp.url"] = "browser.web_vital.lcp.url" """The url of the dom element responsible for the largest contentful paint Type: str @@ -2733,9 +2569,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__value.json - BROWSER_WEB_VITAL_LCP_VALUE: Literal["browser.web_vital.lcp.value"] = ( - "browser.web_vital.lcp.value" - ) + BROWSER_WEB_VITAL_LCP_VALUE: Literal["browser.web_vital.lcp.value"] = "browser.web_vital.lcp.value" """The value of the recorded Largest Contentful Paint (LCP) web vital Type: float @@ -2747,9 +2581,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__ttfb__request_time.json - BROWSER_WEB_VITAL_TTFB_REQUEST_TIME: Literal[ - "browser.web_vital.ttfb.request_time" - ] = "browser.web_vital.ttfb.request_time" + BROWSER_WEB_VITAL_TTFB_REQUEST_TIME: Literal["browser.web_vital.ttfb.request_time"] = "browser.web_vital.ttfb.request_time" """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: float @@ -2761,9 +2593,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__ttfb__value.json - BROWSER_WEB_VITAL_TTFB_VALUE: Literal["browser.web_vital.ttfb.value"] = ( - "browser.web_vital.ttfb.value" - ) + BROWSER_WEB_VITAL_TTFB_VALUE: Literal["browser.web_vital.ttfb.value"] = "browser.web_vital.ttfb.value" """The value of the recorded Time To First Byte (TTFB) web vital in Milliseconds Type: float @@ -2912,9 +2742,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloud/cloud__availability_zone.json - CLOUD_AVAILABILITY_ZONE: Literal["cloud.availability_zone"] = ( - "cloud.availability_zone" - ) + CLOUD_AVAILABILITY_ZONE: Literal["cloud.availability_zone"] = "cloud.availability_zone" """Cloud regions often have multiple, isolated locations known as zones to increase availability Type: str @@ -2982,9 +2810,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__d1__query_type.json - CLOUDFLARE_D1_QUERY_TYPE: Literal["cloudflare.d1.query_type"] = ( - "cloudflare.d1.query_type" - ) + CLOUDFLARE_D1_QUERY_TYPE: Literal["cloudflare.d1.query_type"] = "cloudflare.d1.query_type" """The type of query executed in a Cloudflare D1 operation Type: str @@ -2997,9 +2823,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__d1__rows_read.json - CLOUDFLARE_D1_ROWS_READ: Literal["cloudflare.d1.rows_read"] = ( - "cloudflare.d1.rows_read" - ) + CLOUDFLARE_D1_ROWS_READ: Literal["cloudflare.d1.rows_read"] = "cloudflare.d1.rows_read" """The number of rows read in a Cloudflare D1 operation. Type: int @@ -3010,9 +2834,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__d1__rows_written.json - CLOUDFLARE_D1_ROWS_WRITTEN: Literal["cloudflare.d1.rows_written"] = ( - "cloudflare.d1.rows_written" - ) + CLOUDFLARE_D1_ROWS_WRITTEN: Literal["cloudflare.d1.rows_written"] = "cloudflare.d1.rows_written" """The number of rows written in a Cloudflare D1 operation. Type: int @@ -3023,9 +2845,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__durable_object__query__bindings.json - CLOUDFLARE_DURABLE_OBJECT_QUERY_BINDINGS: Literal[ - "cloudflare.durable_object.query.bindings" - ] = "cloudflare.durable_object.query.bindings" + CLOUDFLARE_DURABLE_OBJECT_QUERY_BINDINGS: Literal["cloudflare.durable_object.query.bindings"] = "cloudflare.durable_object.query.bindings" """The number of bound parameters passed to the SQL exec call. Type: int @@ -3036,9 +2856,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__durable_object__response__rows_read.json - CLOUDFLARE_DURABLE_OBJECT_RESPONSE_ROWS_READ: Literal[ - "cloudflare.durable_object.response.rows_read" - ] = "cloudflare.durable_object.response.rows_read" + CLOUDFLARE_DURABLE_OBJECT_RESPONSE_ROWS_READ: Literal["cloudflare.durable_object.response.rows_read"] = "cloudflare.durable_object.response.rows_read" """The number of rows read by a Cloudflare Durable Object SQL operation. Type: int @@ -3049,9 +2867,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__durable_object__response__rows_written.json - CLOUDFLARE_DURABLE_OBJECT_RESPONSE_ROWS_WRITTEN: Literal[ - "cloudflare.durable_object.response.rows_written" - ] = "cloudflare.durable_object.response.rows_written" + CLOUDFLARE_DURABLE_OBJECT_RESPONSE_ROWS_WRITTEN: Literal["cloudflare.durable_object.response.rows_written"] = "cloudflare.durable_object.response.rows_written" """The number of rows written by a Cloudflare Durable Object SQL operation. Type: int @@ -3073,9 +2889,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__r2__operation.json - CLOUDFLARE_R2_OPERATION: Literal["cloudflare.r2.operation"] = ( - "cloudflare.r2.operation" - ) + CLOUDFLARE_R2_OPERATION: Literal["cloudflare.r2.operation"] = "cloudflare.r2.operation" """The R2 API operation being performed Type: str @@ -3086,9 +2900,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__r2__request__delimiter.json - CLOUDFLARE_R2_REQUEST_DELIMITER: Literal["cloudflare.r2.request.delimiter"] = ( - "cloudflare.r2.request.delimiter" - ) + CLOUDFLARE_R2_REQUEST_DELIMITER: Literal["cloudflare.r2.request.delimiter"] = "cloudflare.r2.request.delimiter" """The delimiter used to group objects in an R2 list operation Type: str @@ -3099,9 +2911,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__r2__request__key.json - CLOUDFLARE_R2_REQUEST_KEY: Literal["cloudflare.r2.request.key"] = ( - "cloudflare.r2.request.key" - ) + CLOUDFLARE_R2_REQUEST_KEY: Literal["cloudflare.r2.request.key"] = "cloudflare.r2.request.key" """The object key used in the R2 operation Type: str @@ -3112,9 +2922,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__r2__request__part_number.json - CLOUDFLARE_R2_REQUEST_PART_NUMBER: Literal["cloudflare.r2.request.part_number"] = ( - "cloudflare.r2.request.part_number" - ) + CLOUDFLARE_R2_REQUEST_PART_NUMBER: Literal["cloudflare.r2.request.part_number"] = "cloudflare.r2.request.part_number" """The part number in a multipart upload operation Type: int @@ -3125,9 +2933,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__r2__request__prefix.json - CLOUDFLARE_R2_REQUEST_PREFIX: Literal["cloudflare.r2.request.prefix"] = ( - "cloudflare.r2.request.prefix" - ) + CLOUDFLARE_R2_REQUEST_PREFIX: Literal["cloudflare.r2.request.prefix"] = "cloudflare.r2.request.prefix" """The prefix used to filter objects in an R2 list operation Type: str @@ -3138,9 +2944,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__workflow__attempt.json - CLOUDFLARE_WORKFLOW_ATTEMPT: Literal["cloudflare.workflow.attempt"] = ( - "cloudflare.workflow.attempt" - ) + CLOUDFLARE_WORKFLOW_ATTEMPT: Literal["cloudflare.workflow.attempt"] = "cloudflare.workflow.attempt" """The current attempt number for a Cloudflare Workflow step Type: int @@ -3151,9 +2955,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__workflow__retries__backoff.json - CLOUDFLARE_WORKFLOW_RETRIES_BACKOFF: Literal[ - "cloudflare.workflow.retries.backoff" - ] = "cloudflare.workflow.retries.backoff" + CLOUDFLARE_WORKFLOW_RETRIES_BACKOFF: Literal["cloudflare.workflow.retries.backoff"] = "cloudflare.workflow.retries.backoff" """The backoff strategy for Cloudflare Workflow step retries Type: str @@ -3164,9 +2966,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__workflow__retries__delay.json - CLOUDFLARE_WORKFLOW_RETRIES_DELAY: Literal["cloudflare.workflow.retries.delay"] = ( - "cloudflare.workflow.retries.delay" - ) + CLOUDFLARE_WORKFLOW_RETRIES_DELAY: Literal["cloudflare.workflow.retries.delay"] = "cloudflare.workflow.retries.delay" """The delay between Cloudflare Workflow step retries Type: str @@ -3177,9 +2977,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__workflow__retries__limit.json - CLOUDFLARE_WORKFLOW_RETRIES_LIMIT: Literal["cloudflare.workflow.retries.limit"] = ( - "cloudflare.workflow.retries.limit" - ) + CLOUDFLARE_WORKFLOW_RETRIES_LIMIT: Literal["cloudflare.workflow.retries.limit"] = "cloudflare.workflow.retries.limit" """The maximum number of retries for a Cloudflare Workflow step Type: int @@ -3190,9 +2988,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__workflow__timeout.json - CLOUDFLARE_WORKFLOW_TIMEOUT: Literal["cloudflare.workflow.timeout"] = ( - "cloudflare.workflow.timeout" - ) + CLOUDFLARE_WORKFLOW_TIMEOUT: Literal["cloudflare.workflow.timeout"] = "cloudflare.workflow.timeout" """The timeout duration for a Cloudflare Workflow step Type: str @@ -3376,9 +3172,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/culture/culture__is_24_hour_format.json - CULTURE_IS_24_HOUR_FORMAT: Literal["culture.is_24_hour_format"] = ( - "culture.is_24_hour_format" - ) + CULTURE_IS_24_HOUR_FORMAT: Literal["culture.is_24_hour_format"] = "culture.is_24_hour_format" """Whether the culture uses 24-hour time format. Type: bool @@ -3497,9 +3291,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/db/db__operation__batch__size.json - DB_OPERATION_BATCH_SIZE: Literal["db.operation.batch.size"] = ( - "db.operation.batch.size" - ) + DB_OPERATION_BATCH_SIZE: Literal["db.operation.batch.size"] = "db.operation.batch.size" """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: int @@ -3534,9 +3326,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/db/db__query__parameter__[key].json - DB_QUERY_PARAMETER_KEY: Literal["db.query.parameter."] = ( - "db.query.parameter." - ) + DB_QUERY_PARAMETER_KEY: Literal["db.query.parameter."] = "db.query.parameter." """A query parameter used in db.query.text, with being the parameter name, and the attribute value being a string representation of the parameter value. Type: str @@ -3606,9 +3396,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/db/db__response__status_code.json - DB_RESPONSE_STATUS_CODE: Literal["db.response.status_code"] = ( - "db.response.status_code" - ) + DB_RESPONSE_STATUS_CODE: Literal["db.response.status_code"] = "db.response.status_code" """Database response status code. The status code returned by the database. Usually it represents an error code, but may also represent partial success, warning, or differentiate between various types of successful outcomes. Type: str @@ -3644,9 +3432,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/db/db__stored_procedure__name.json - DB_STORED_PROCEDURE_NAME: Literal["db.stored_procedure.name"] = ( - "db.stored_procedure.name" - ) + DB_STORED_PROCEDURE_NAME: Literal["db.stored_procedure.name"] = "db.stored_procedure.name" """The name of a stored procedure being called. Type: str @@ -3715,9 +3501,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__battery_temperature.json - DEVICE_BATTERY_TEMPERATURE: Literal["device.battery_temperature"] = ( - "device.battery_temperature" - ) + DEVICE_BATTERY_TEMPERATURE: Literal["device.battery_temperature"] = "device.battery_temperature" """The battery temperature of the device in Celsius. Type: float @@ -3807,9 +3591,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__external_free_storage.json - DEVICE_EXTERNAL_FREE_STORAGE: Literal["device.external_free_storage"] = ( - "device.external_free_storage" - ) + DEVICE_EXTERNAL_FREE_STORAGE: Literal["device.external_free_storage"] = "device.external_free_storage" """External storage free size in bytes. Type: int @@ -3820,9 +3602,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__external_storage_size.json - DEVICE_EXTERNAL_STORAGE_SIZE: Literal["device.external_storage_size"] = ( - "device.external_storage_size" - ) + DEVICE_EXTERNAL_STORAGE_SIZE: Literal["device.external_storage_size"] = "device.external_storage_size" """External storage total size in bytes. Type: int @@ -3921,9 +3701,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__memory__estimated_capacity.json - DEVICE_MEMORY_ESTIMATED_CAPACITY: Literal["device.memory.estimated_capacity"] = ( - "device.memory.estimated_capacity" - ) + DEVICE_MEMORY_ESTIMATED_CAPACITY: Literal["device.memory.estimated_capacity"] = "device.memory.estimated_capacity" """The estimated total memory capacity of the device, only a rough estimation in gigabytes. Browsers report estimations in buckets of powers of 2, mostly capped at 8 GB Type: int @@ -4013,9 +3791,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__processor_frequency.json - DEVICE_PROCESSOR_FREQUENCY: Literal["device.processor_frequency"] = ( - "device.processor_frequency" - ) + DEVICE_PROCESSOR_FREQUENCY: Literal["device.processor_frequency"] = "device.processor_frequency" """Processor frequency in MHz. Type: float @@ -4048,9 +3824,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__screen_height_pixels.json - DEVICE_SCREEN_HEIGHT_PIXELS: Literal["device.screen_height_pixels"] = ( - "device.screen_height_pixels" - ) + DEVICE_SCREEN_HEIGHT_PIXELS: Literal["device.screen_height_pixels"] = "device.screen_height_pixels" """The height of the device screen in pixels. Type: int @@ -4061,9 +3835,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__screen_width_pixels.json - DEVICE_SCREEN_WIDTH_PIXELS: Literal["device.screen_width_pixels"] = ( - "device.screen_width_pixels" - ) + DEVICE_SCREEN_WIDTH_PIXELS: Literal["device.screen_width_pixels"] = "device.screen_width_pixels" """The width of the device screen in pixels. Type: int @@ -4186,9 +3958,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/effectiveConnectionType.json - EFFECTIVECONNECTIONTYPE: Literal["effectiveConnectionType"] = ( - "effectiveConnectionType" - ) + EFFECTIVECONNECTIONTYPE: Literal["effectiveConnectionType"] = "effectiveConnectionType" """Specifies the estimated effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g). Type: str @@ -4611,9 +4381,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__event_id.json - GCP_FUNCTION_CONTEXT_EVENT_ID: Literal["gcp.function.context.event_id"] = ( - "gcp.function.context.event_id" - ) + GCP_FUNCTION_CONTEXT_EVENT_ID: Literal["gcp.function.context.event_id"] = "gcp.function.context.event_id" """The event ID from the legacy GCP Cloud Function context (1st gen) Type: str @@ -4624,9 +4392,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__event_type.json - GCP_FUNCTION_CONTEXT_EVENT_TYPE: Literal["gcp.function.context.event_type"] = ( - "gcp.function.context.event_type" - ) + GCP_FUNCTION_CONTEXT_EVENT_TYPE: Literal["gcp.function.context.event_type"] = "gcp.function.context.event_type" """The type of the GCP Cloud Function event Type: str @@ -4637,9 +4403,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__id.json - GCP_FUNCTION_CONTEXT_ID: Literal["gcp.function.context.id"] = ( - "gcp.function.context.id" - ) + GCP_FUNCTION_CONTEXT_ID: Literal["gcp.function.context.id"] = "gcp.function.context.id" """The unique event ID from the GCP CloudEvents context (2nd gen Cloud Functions) Type: str @@ -4650,9 +4414,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__resource.json - GCP_FUNCTION_CONTEXT_RESOURCE: Literal["gcp.function.context.resource"] = ( - "gcp.function.context.resource" - ) + GCP_FUNCTION_CONTEXT_RESOURCE: Literal["gcp.function.context.resource"] = "gcp.function.context.resource" """The resource that triggered the GCP Cloud Function event Type: str @@ -4663,9 +4425,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__source.json - GCP_FUNCTION_CONTEXT_SOURCE: Literal["gcp.function.context.source"] = ( - "gcp.function.context.source" - ) + GCP_FUNCTION_CONTEXT_SOURCE: Literal["gcp.function.context.source"] = "gcp.function.context.source" """The source of the GCP Cloud Function event Type: str @@ -4676,9 +4436,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__specversion.json - GCP_FUNCTION_CONTEXT_SPECVERSION: Literal["gcp.function.context.specversion"] = ( - "gcp.function.context.specversion" - ) + GCP_FUNCTION_CONTEXT_SPECVERSION: Literal["gcp.function.context.specversion"] = "gcp.function.context.specversion" """The CloudEvents specification version of the GCP Cloud Function event Type: str @@ -4689,9 +4447,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__time.json - GCP_FUNCTION_CONTEXT_TIME: Literal["gcp.function.context.time"] = ( - "gcp.function.context.time" - ) + GCP_FUNCTION_CONTEXT_TIME: Literal["gcp.function.context.time"] = "gcp.function.context.time" """The timestamp of the GCP Cloud Function event Type: str @@ -4702,9 +4458,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__timestamp.json - GCP_FUNCTION_CONTEXT_TIMESTAMP: Literal["gcp.function.context.timestamp"] = ( - "gcp.function.context.timestamp" - ) + GCP_FUNCTION_CONTEXT_TIMESTAMP: Literal["gcp.function.context.timestamp"] = "gcp.function.context.timestamp" """The legacy timestamp of the GCP Cloud Function event Type: str @@ -4715,9 +4469,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__type.json - GCP_FUNCTION_CONTEXT_TYPE: Literal["gcp.function.context.type"] = ( - "gcp.function.context.type" - ) + GCP_FUNCTION_CONTEXT_TYPE: Literal["gcp.function.context.type"] = "gcp.function.context.type" """The type of the GCP Cloud Function event context Type: str @@ -4763,9 +4515,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__context__utilization.json - GEN_AI_CONTEXT_UTILIZATION: Literal["gen_ai.context.utilization"] = ( - "gen_ai.context.utilization" - ) + GEN_AI_CONTEXT_UTILIZATION: Literal["gen_ai.context.utilization"] = "gen_ai.context.utilization" """The fraction of the model context window utilized by this generation. Type: float @@ -4776,9 +4526,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__context__window_size.json - GEN_AI_CONTEXT_WINDOW_SIZE: Literal["gen_ai.context.window_size"] = ( - "gen_ai.context.window_size" - ) + GEN_AI_CONTEXT_WINDOW_SIZE: Literal["gen_ai.context.window_size"] = "gen_ai.context.window_size" """The maximum context window size supported by the model for this generation. Type: int @@ -4800,9 +4548,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__cost__cache_creation__input_tokens.json - GEN_AI_COST_CACHE_CREATION_INPUT_TOKENS: Literal[ - "gen_ai.cost.cache_creation.input_tokens" - ] = "gen_ai.cost.cache_creation.input_tokens" + GEN_AI_COST_CACHE_CREATION_INPUT_TOKENS: Literal["gen_ai.cost.cache_creation.input_tokens"] = "gen_ai.cost.cache_creation.input_tokens" """The cost of input tokens written to cache in USD. Type: float @@ -4813,9 +4559,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__cost__cache_read__input_tokens.json - GEN_AI_COST_CACHE_READ_INPUT_TOKENS: Literal[ - "gen_ai.cost.cache_read.input_tokens" - ] = "gen_ai.cost.cache_read.input_tokens" + GEN_AI_COST_CACHE_READ_INPUT_TOKENS: Literal["gen_ai.cost.cache_read.input_tokens"] = "gen_ai.cost.cache_read.input_tokens" """The cost of cached input tokens in USD. Type: float @@ -4826,9 +4570,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__cost__input_tokens.json - GEN_AI_COST_INPUT_TOKENS: Literal["gen_ai.cost.input_tokens"] = ( - "gen_ai.cost.input_tokens" - ) + GEN_AI_COST_INPUT_TOKENS: Literal["gen_ai.cost.input_tokens"] = "gen_ai.cost.input_tokens" """The total cost of all input tokens in USD (includes cached and cache creation tokens). Type: float @@ -4839,9 +4581,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__cost__output_tokens.json - GEN_AI_COST_OUTPUT_TOKENS: Literal["gen_ai.cost.output_tokens"] = ( - "gen_ai.cost.output_tokens" - ) + GEN_AI_COST_OUTPUT_TOKENS: Literal["gen_ai.cost.output_tokens"] = "gen_ai.cost.output_tokens" """The total cost of all output tokens in USD (includes reasoning tokens). Type: float @@ -4852,9 +4592,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__cost__reasoning__output_tokens.json - GEN_AI_COST_REASONING_OUTPUT_TOKENS: Literal[ - "gen_ai.cost.reasoning.output_tokens" - ] = "gen_ai.cost.reasoning.output_tokens" + GEN_AI_COST_REASONING_OUTPUT_TOKENS: Literal["gen_ai.cost.reasoning.output_tokens"] = "gen_ai.cost.reasoning.output_tokens" """The cost of reasoning output tokens in USD. Type: float @@ -4865,9 +4603,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__cost__total_tokens.json - GEN_AI_COST_TOTAL_TOKENS: Literal["gen_ai.cost.total_tokens"] = ( - "gen_ai.cost.total_tokens" - ) + GEN_AI_COST_TOTAL_TOKENS: Literal["gen_ai.cost.total_tokens"] = "gen_ai.cost.total_tokens" """The total cost for the tokens used. Type: float @@ -4879,9 +4615,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__embeddings__input.json - GEN_AI_EMBEDDINGS_INPUT: Literal["gen_ai.embeddings.input"] = ( - "gen_ai.embeddings.input" - ) + GEN_AI_EMBEDDINGS_INPUT: Literal["gen_ai.embeddings.input"] = "gen_ai.embeddings.input" """The input to the embeddings model. Type: str @@ -4915,9 +4649,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__memory__query__text.json - GEN_AI_MEMORY_QUERY_TEXT: Literal["gen_ai.memory.query.text"] = ( - "gen_ai.memory.query.text" - ) + GEN_AI_MEMORY_QUERY_TEXT: Literal["gen_ai.memory.query.text"] = "gen_ai.memory.query.text" """The search query used to retrieve memories. Only applicable to 'search_memory'. Opt-in: instrumentations SHOULD NOT capture this by default and SHOULD gate it behind explicit user opt-in, as it may contain sensitive information. Type: str @@ -4929,9 +4661,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__memory__record__count.json - GEN_AI_MEMORY_RECORD_COUNT: Literal["gen_ai.memory.record.count"] = ( - "gen_ai.memory.record.count" - ) + GEN_AI_MEMORY_RECORD_COUNT: Literal["gen_ai.memory.record.count"] = "gen_ai.memory.record.count" """The number of memory records relevant to the operation. For 'search_memory' this is the number returned; for 'create_memory', 'update_memory', 'upsert_memory' and 'delete_memory' it is the number the operation attempted to create, modify, create-or-update, or delete respectively. Type: int @@ -4942,9 +4672,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__memory__record__id.json - GEN_AI_MEMORY_RECORD_ID: Literal["gen_ai.memory.record.id"] = ( - "gen_ai.memory.record.id" - ) + GEN_AI_MEMORY_RECORD_ID: Literal["gen_ai.memory.record.id"] = "gen_ai.memory.record.id" """The unique identifier of the memory record. Set when the operation applies to a specific memory record. For 'delete_memory', its absence may indicate the operation intends to delete all memory records in the store. Type: str @@ -5074,9 +4802,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__prompt__variable__[key].json - GEN_AI_PROMPT_VARIABLE_KEY: Literal["gen_ai.prompt.variable."] = ( - "gen_ai.prompt.variable." - ) + GEN_AI_PROMPT_VARIABLE_KEY: Literal["gen_ai.prompt.variable."] = "gen_ai.prompt.variable." """Variables supplied to the prompt template. The is the variable name, and the value is the variable value serialized as a string. Type: str @@ -5101,9 +4827,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__available_tools.json - GEN_AI_REQUEST_AVAILABLE_TOOLS: Literal["gen_ai.request.available_tools"] = ( - "gen_ai.request.available_tools" - ) + GEN_AI_REQUEST_AVAILABLE_TOOLS: Literal["gen_ai.request.available_tools"] = "gen_ai.request.available_tools" """The available tools for the model. It has to be a stringified version of an array of objects. Type: str @@ -5116,9 +4840,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__frequency_penalty.json - GEN_AI_REQUEST_FREQUENCY_PENALTY: Literal["gen_ai.request.frequency_penalty"] = ( - "gen_ai.request.frequency_penalty" - ) + GEN_AI_REQUEST_FREQUENCY_PENALTY: Literal["gen_ai.request.frequency_penalty"] = "gen_ai.request.frequency_penalty" """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: float @@ -5130,9 +4852,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__max_tokens.json - GEN_AI_REQUEST_MAX_TOKENS: Literal["gen_ai.request.max_tokens"] = ( - "gen_ai.request.max_tokens" - ) + GEN_AI_REQUEST_MAX_TOKENS: Literal["gen_ai.request.max_tokens"] = "gen_ai.request.max_tokens" """The maximum number of tokens to generate in the response. Type: int @@ -5143,9 +4863,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__messages.json - GEN_AI_REQUEST_MESSAGES: Literal["gen_ai.request.messages"] = ( - "gen_ai.request.messages" - ) + GEN_AI_REQUEST_MESSAGES: Literal["gen_ai.request.messages"] = "gen_ai.request.messages" """The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `"user"`, `"assistant"`, `"tool"`, or `"system"`. For messages of the role `"tool"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: "text", text:"..."}`. Type: str @@ -5170,9 +4888,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__presence_penalty.json - GEN_AI_REQUEST_PRESENCE_PENALTY: Literal["gen_ai.request.presence_penalty"] = ( - "gen_ai.request.presence_penalty" - ) + GEN_AI_REQUEST_PRESENCE_PENALTY: Literal["gen_ai.request.presence_penalty"] = "gen_ai.request.presence_penalty" """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: float @@ -5184,9 +4900,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__reasoning__level.json - GEN_AI_REQUEST_REASONING_LEVEL: Literal["gen_ai.request.reasoning.level"] = ( - "gen_ai.request.reasoning.level" - ) + GEN_AI_REQUEST_REASONING_LEVEL: Literal["gen_ai.request.reasoning.level"] = "gen_ai.request.reasoning.level" """The reasoning or thinking effort level requested for a GenAI model. Type: str @@ -5221,9 +4935,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__stop_sequences.json - GEN_AI_REQUEST_STOP_SEQUENCES: Literal["gen_ai.request.stop_sequences"] = ( - "gen_ai.request.stop_sequences" - ) + GEN_AI_REQUEST_STOP_SEQUENCES: Literal["gen_ai.request.stop_sequences"] = "gen_ai.request.stop_sequences" """List of sequences that the model will use to stop generating further tokens. Type: List[str] @@ -5234,9 +4946,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__temperature.json - GEN_AI_REQUEST_TEMPERATURE: Literal["gen_ai.request.temperature"] = ( - "gen_ai.request.temperature" - ) + GEN_AI_REQUEST_TEMPERATURE: Literal["gen_ai.request.temperature"] = "gen_ai.request.temperature" """For an AI model call, the temperature parameter. Temperature essentially means how random the output will be. Type: float @@ -5272,9 +4982,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__finish_reason.json - GEN_AI_RESPONSE_FINISH_REASON: Literal["gen_ai.response.finish_reason"] = ( - "gen_ai.response.finish_reason" - ) + GEN_AI_RESPONSE_FINISH_REASON: Literal["gen_ai.response.finish_reason"] = "gen_ai.response.finish_reason" """The reason why the model stopped generating (singular form). Type: str @@ -5287,9 +4995,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__finish_reasons.json - GEN_AI_RESPONSE_FINISH_REASONS: Literal["gen_ai.response.finish_reasons"] = ( - "gen_ai.response.finish_reasons" - ) + GEN_AI_RESPONSE_FINISH_REASONS: Literal["gen_ai.response.finish_reasons"] = "gen_ai.response.finish_reasons" """The reason why the model stopped generating. Type: str @@ -5337,9 +5043,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__streaming.json - GEN_AI_RESPONSE_STREAMING: Literal["gen_ai.response.streaming"] = ( - "gen_ai.response.streaming" - ) + GEN_AI_RESPONSE_STREAMING: Literal["gen_ai.response.streaming"] = "gen_ai.response.streaming" """Whether or not the AI model call's response was streamed back asynchronously Type: bool @@ -5363,9 +5067,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__time_to_first_chunk.json - GEN_AI_RESPONSE_TIME_TO_FIRST_CHUNK: Literal[ - "gen_ai.response.time_to_first_chunk" - ] = "gen_ai.response.time_to_first_chunk" + GEN_AI_RESPONSE_TIME_TO_FIRST_CHUNK: Literal["gen_ai.response.time_to_first_chunk"] = "gen_ai.response.time_to_first_chunk" """Time in seconds when the first response content chunk arrived in streaming responses. Type: float @@ -5377,9 +5079,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__time_to_first_token.json - GEN_AI_RESPONSE_TIME_TO_FIRST_TOKEN: Literal[ - "gen_ai.response.time_to_first_token" - ] = "gen_ai.response.time_to_first_token" + GEN_AI_RESPONSE_TIME_TO_FIRST_TOKEN: Literal["gen_ai.response.time_to_first_token"] = "gen_ai.response.time_to_first_token" """Time in seconds when the first response content chunk arrived in streaming responses. Type: float @@ -5392,9 +5092,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__tokens_per_second.json - GEN_AI_RESPONSE_TOKENS_PER_SECOND: Literal["gen_ai.response.tokens_per_second"] = ( - "gen_ai.response.tokens_per_second" - ) + GEN_AI_RESPONSE_TOKENS_PER_SECOND: Literal["gen_ai.response.tokens_per_second"] = "gen_ai.response.tokens_per_second" """The total output tokens per seconds throughput Type: float @@ -5405,9 +5103,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__tool_calls.json - GEN_AI_RESPONSE_TOOL_CALLS: Literal["gen_ai.response.tool_calls"] = ( - "gen_ai.response.tool_calls" - ) + GEN_AI_RESPONSE_TOOL_CALLS: Literal["gen_ai.response.tool_calls"] = "gen_ai.response.tool_calls" """The tool calls in the model's response. It has to be a stringified version of an array of objects. Type: str @@ -5444,9 +5140,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__system_instructions.json - GEN_AI_SYSTEM_INSTRUCTIONS: Literal["gen_ai.system_instructions"] = ( - "gen_ai.system_instructions" - ) + GEN_AI_SYSTEM_INSTRUCTIONS: Literal["gen_ai.system_instructions"] = "gen_ai.system_instructions" """The system instructions passed to the model. Type: str @@ -5458,9 +5152,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__tool__call__arguments.json - GEN_AI_TOOL_CALL_ARGUMENTS: Literal["gen_ai.tool.call.arguments"] = ( - "gen_ai.tool.call.arguments" - ) + GEN_AI_TOOL_CALL_ARGUMENTS: Literal["gen_ai.tool.call.arguments"] = "gen_ai.tool.call.arguments" """The arguments of the tool call. It has to be a stringified version of the arguments to the tool. Type: str @@ -5472,9 +5164,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__tool__call__result.json - GEN_AI_TOOL_CALL_RESULT: Literal["gen_ai.tool.call.result"] = ( - "gen_ai.tool.call.result" - ) + GEN_AI_TOOL_CALL_RESULT: Literal["gen_ai.tool.call.result"] = "gen_ai.tool.call.result" """The result of the tool call. It has to be a stringified version of the result of the tool. Type: str @@ -5486,9 +5176,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__tool__definitions.json - GEN_AI_TOOL_DEFINITIONS: Literal["gen_ai.tool.definitions"] = ( - "gen_ai.tool.definitions" - ) + GEN_AI_TOOL_DEFINITIONS: Literal["gen_ai.tool.definitions"] = "gen_ai.tool.definitions" """The list of source system tool definitions available to the GenAI agent or model. Type: str @@ -5500,9 +5188,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__tool__description.json - GEN_AI_TOOL_DESCRIPTION: Literal["gen_ai.tool.description"] = ( - "gen_ai.tool.description" - ) + GEN_AI_TOOL_DESCRIPTION: Literal["gen_ai.tool.description"] = "gen_ai.tool.description" """The description of the tool being used. Type: str @@ -5576,9 +5262,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__cache_creation__input_tokens.json - GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS: Literal[ - "gen_ai.usage.cache_creation.input_tokens" - ] = "gen_ai.usage.cache_creation.input_tokens" + GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS: Literal["gen_ai.usage.cache_creation.input_tokens"] = "gen_ai.usage.cache_creation.input_tokens" """The number of tokens written to the cache when processing the AI input (prompt). Type: int @@ -5590,9 +5274,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__cache_creation_input_tokens.json - _GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS: Literal[ - "gen_ai.usage.cache_creation_input_tokens" - ] = "gen_ai.usage.cache_creation_input_tokens" + _GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS: Literal["gen_ai.usage.cache_creation_input_tokens"] = "gen_ai.usage.cache_creation_input_tokens" """The number of tokens written to the cache when processing the AI input (prompt). Type: int @@ -5605,9 +5287,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__cache_read__input_tokens.json - GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS: Literal[ - "gen_ai.usage.cache_read.input_tokens" - ] = "gen_ai.usage.cache_read.input_tokens" + GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS: Literal["gen_ai.usage.cache_read.input_tokens"] = "gen_ai.usage.cache_read.input_tokens" """The number of cached tokens used to process the AI input (prompt). Type: int @@ -5619,9 +5299,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__cache_read_input_tokens.json - _GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS: Literal[ - "gen_ai.usage.cache_read_input_tokens" - ] = "gen_ai.usage.cache_read_input_tokens" + _GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS: Literal["gen_ai.usage.cache_read_input_tokens"] = "gen_ai.usage.cache_read_input_tokens" """The number of cached tokens used to process the AI input (prompt). Type: int @@ -5634,9 +5312,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__completion_tokens.json - GEN_AI_USAGE_COMPLETION_TOKENS: Literal["gen_ai.usage.completion_tokens"] = ( - "gen_ai.usage.completion_tokens" - ) + GEN_AI_USAGE_COMPLETION_TOKENS: Literal["gen_ai.usage.completion_tokens"] = "gen_ai.usage.completion_tokens" """The number of tokens used in the GenAI response (completion). Type: int @@ -5649,9 +5325,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__input_tokens.json - GEN_AI_USAGE_INPUT_TOKENS: Literal["gen_ai.usage.input_tokens"] = ( - "gen_ai.usage.input_tokens" - ) + GEN_AI_USAGE_INPUT_TOKENS: Literal["gen_ai.usage.input_tokens"] = "gen_ai.usage.input_tokens" """The number of tokens used to process the AI input (prompt) including cached input tokens. Type: int @@ -5663,9 +5337,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__input_tokens__cache_write.json - GEN_AI_USAGE_INPUT_TOKENS_CACHE_WRITE: Literal[ - "gen_ai.usage.input_tokens.cache_write" - ] = "gen_ai.usage.input_tokens.cache_write" + GEN_AI_USAGE_INPUT_TOKENS_CACHE_WRITE: Literal["gen_ai.usage.input_tokens.cache_write"] = "gen_ai.usage.input_tokens.cache_write" """The number of tokens written to the cache when processing the AI input (prompt). Type: int @@ -5678,9 +5350,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__input_tokens__cached.json - GEN_AI_USAGE_INPUT_TOKENS_CACHED: Literal["gen_ai.usage.input_tokens.cached"] = ( - "gen_ai.usage.input_tokens.cached" - ) + GEN_AI_USAGE_INPUT_TOKENS_CACHED: Literal["gen_ai.usage.input_tokens.cached"] = "gen_ai.usage.input_tokens.cached" """The number of cached tokens used to process the AI input (prompt). Type: int @@ -5693,9 +5363,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__output_tokens.json - GEN_AI_USAGE_OUTPUT_TOKENS: Literal["gen_ai.usage.output_tokens"] = ( - "gen_ai.usage.output_tokens" - ) + GEN_AI_USAGE_OUTPUT_TOKENS: Literal["gen_ai.usage.output_tokens"] = "gen_ai.usage.output_tokens" """The number of tokens used for creating the AI output (including reasoning tokens). Type: int @@ -5707,9 +5375,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__output_tokens__reasoning.json - GEN_AI_USAGE_OUTPUT_TOKENS_REASONING: Literal[ - "gen_ai.usage.output_tokens.reasoning" - ] = "gen_ai.usage.output_tokens.reasoning" + GEN_AI_USAGE_OUTPUT_TOKENS_REASONING: Literal["gen_ai.usage.output_tokens.reasoning"] = "gen_ai.usage.output_tokens.reasoning" """The number of tokens used for reasoning to create the AI output. Type: int @@ -5722,9 +5388,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__prompt_tokens.json - GEN_AI_USAGE_PROMPT_TOKENS: Literal["gen_ai.usage.prompt_tokens"] = ( - "gen_ai.usage.prompt_tokens" - ) + GEN_AI_USAGE_PROMPT_TOKENS: Literal["gen_ai.usage.prompt_tokens"] = "gen_ai.usage.prompt_tokens" """The number of tokens used in the GenAI input (prompt). Type: int @@ -5737,9 +5401,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__reasoning__output_tokens.json - GEN_AI_USAGE_REASONING_OUTPUT_TOKENS: Literal[ - "gen_ai.usage.reasoning.output_tokens" - ] = "gen_ai.usage.reasoning.output_tokens" + GEN_AI_USAGE_REASONING_OUTPUT_TOKENS: Literal["gen_ai.usage.reasoning.output_tokens"] = "gen_ai.usage.reasoning.output_tokens" """The number of tokens used for reasoning to create the AI output. Type: int @@ -5751,9 +5413,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__total_tokens.json - GEN_AI_USAGE_TOTAL_TOKENS: Literal["gen_ai.usage.total_tokens"] = ( - "gen_ai.usage.total_tokens" - ) + GEN_AI_USAGE_TOTAL_TOKENS: Literal["gen_ai.usage.total_tokens"] = "gen_ai.usage.total_tokens" """The total number of tokens used to process the prompt. (input tokens plus output todkens) Type: int @@ -5799,9 +5459,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/graphql/graphql__processing__type.json - GRAPHQL_PROCESSING_TYPE: Literal["graphql.processing.type"] = ( - "graphql.processing.type" - ) + GRAPHQL_PROCESSING_TYPE: Literal["graphql.processing.type"] = "graphql.processing.type" """The type of processing represented by this span. Type: str @@ -5828,9 +5486,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__bad_request__field_violations.json - GRPC_ERROR_BAD_REQUEST_FIELD_VIOLATIONS: Literal[ - "grpc.error.bad_request.field_violations" - ] = "grpc.error.bad_request.field_violations" + GRPC_ERROR_BAD_REQUEST_FIELD_VIOLATIONS: Literal["grpc.error.bad_request.field_violations"] = "grpc.error.bad_request.field_violations" """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: List[str] @@ -5841,9 +5497,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__debug_info__detail.json - GRPC_ERROR_DEBUG_INFO_DETAIL: Literal["grpc.error.debug_info.detail"] = ( - "grpc.error.debug_info.detail" - ) + GRPC_ERROR_DEBUG_INFO_DETAIL: Literal["grpc.error.debug_info.detail"] = "grpc.error.debug_info.detail" """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: str @@ -5854,9 +5508,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__debug_info__stack_entries.json - GRPC_ERROR_DEBUG_INFO_STACK_ENTRIES: Literal[ - "grpc.error.debug_info.stack_entries" - ] = "grpc.error.debug_info.stack_entries" + GRPC_ERROR_DEBUG_INFO_STACK_ENTRIES: Literal["grpc.error.debug_info.stack_entries"] = "grpc.error.debug_info.stack_entries" """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: List[str] @@ -5867,9 +5519,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__error_info__domain.json - GRPC_ERROR_ERROR_INFO_DOMAIN: Literal["grpc.error.error_info.domain"] = ( - "grpc.error.error_info.domain" - ) + GRPC_ERROR_ERROR_INFO_DOMAIN: Literal["grpc.error.error_info.domain"] = "grpc.error.error_info.domain" """The logical grouping to which the gRPC error reason belongs, from the google.rpc.ErrorInfo error detail. Type: str @@ -5880,9 +5530,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__error_info__metadata__[key].json - GRPC_ERROR_ERROR_INFO_METADATA_KEY: Literal[ - "grpc.error.error_info.metadata." - ] = "grpc.error.error_info.metadata." + GRPC_ERROR_ERROR_INFO_METADATA_KEY: Literal["grpc.error.error_info.metadata."] = "grpc.error.error_info.metadata." """Additional structured metadata attached to a google.rpc.ErrorInfo error detail, with being the metadata key name. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly. Type: str @@ -5894,9 +5542,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__error_info__reason.json - GRPC_ERROR_ERROR_INFO_REASON: Literal["grpc.error.error_info.reason"] = ( - "grpc.error.error_info.reason" - ) + GRPC_ERROR_ERROR_INFO_REASON: Literal["grpc.error.error_info.reason"] = "grpc.error.error_info.reason" """The reason for the gRPC error, as defined by the service that generated it, from the google.rpc.ErrorInfo error detail. Type: str @@ -5907,9 +5553,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__precondition_failure__violations.json - GRPC_ERROR_PRECONDITION_FAILURE_VIOLATIONS: Literal[ - "grpc.error.precondition_failure.violations" - ] = "grpc.error.precondition_failure.violations" + GRPC_ERROR_PRECONDITION_FAILURE_VIOLATIONS: Literal["grpc.error.precondition_failure.violations"] = "grpc.error.precondition_failure.violations" """The individual precondition violations from a google.rpc.PreconditionFailure error detail. Each entry is a JSON-encoded object with type, subject, and description keys. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly, since violation subjects may identify specific resources or users. Type: List[str] @@ -5920,9 +5564,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__quota_failure__violations.json - GRPC_ERROR_QUOTA_FAILURE_VIOLATIONS: Literal[ - "grpc.error.quota_failure.violations" - ] = "grpc.error.quota_failure.violations" + GRPC_ERROR_QUOTA_FAILURE_VIOLATIONS: Literal["grpc.error.quota_failure.violations"] = "grpc.error.quota_failure.violations" """The individual quota violations from a google.rpc.QuotaFailure error detail. Each entry is a JSON-encoded object with subject, description, api_service, quota_metric, quota_id, quota_dimensions, quota_value, and (optional) future_quota_value keys, mirroring google.rpc.QuotaFailure.Violation. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly, since violation subjects may identify specific resources or users. Type: List[str] @@ -5933,9 +5575,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__resource_info__description.json - GRPC_ERROR_RESOURCE_INFO_DESCRIPTION: Literal[ - "grpc.error.resource_info.description" - ] = "grpc.error.resource_info.description" + GRPC_ERROR_RESOURCE_INFO_DESCRIPTION: Literal["grpc.error.resource_info.description"] = "grpc.error.resource_info.description" """A description of the error that occurred while accessing the resource, from a google.rpc.ResourceInfo error detail. Type: str @@ -5946,9 +5586,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__resource_info__owner.json - GRPC_ERROR_RESOURCE_INFO_OWNER: Literal["grpc.error.resource_info.owner"] = ( - "grpc.error.resource_info.owner" - ) + GRPC_ERROR_RESOURCE_INFO_OWNER: Literal["grpc.error.resource_info.owner"] = "grpc.error.resource_info.owner" """The owner of the resource being accessed (e.g. project or account owning it), from a google.rpc.ResourceInfo error detail. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly. Type: str @@ -5959,9 +5597,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__resource_info__resource_name.json - GRPC_ERROR_RESOURCE_INFO_RESOURCE_NAME: Literal[ - "grpc.error.resource_info.resource_name" - ] = "grpc.error.resource_info.resource_name" + GRPC_ERROR_RESOURCE_INFO_RESOURCE_NAME: Literal["grpc.error.resource_info.resource_name"] = "grpc.error.resource_info.resource_name" """The name of the resource being accessed, from a google.rpc.ResourceInfo error detail. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly. Type: str @@ -5972,9 +5608,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__resource_info__resource_type.json - GRPC_ERROR_RESOURCE_INFO_RESOURCE_TYPE: Literal[ - "grpc.error.resource_info.resource_type" - ] = "grpc.error.resource_info.resource_type" + GRPC_ERROR_RESOURCE_INFO_RESOURCE_TYPE: Literal["grpc.error.resource_info.resource_type"] = "grpc.error.resource_info.resource_type" """The type of resource being accessed, from a google.rpc.ResourceInfo error detail. Type: str @@ -5985,9 +5619,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__retry_info__retry_delay_ms.json - GRPC_ERROR_RETRY_INFO_RETRY_DELAY_MS: Literal[ - "grpc.error.retry_info.retry_delay_ms" - ] = "grpc.error.retry_info.retry_delay_ms" + GRPC_ERROR_RETRY_INFO_RETRY_DELAY_MS: Literal["grpc.error.retry_info.retry_delay_ms"] = "grpc.error.retry_info.retry_delay_ms" """How long the client should wait before retrying the gRPC call, in milliseconds, from the google.rpc.RetryInfo error detail. Type: int @@ -6024,9 +5656,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__decoded_response_content_length.json - HTTP_DECODED_RESPONSE_CONTENT_LENGTH: Literal[ - "http.decoded_response_content_length" - ] = "http.decoded_response_content_length" + HTTP_DECODED_RESPONSE_CONTENT_LENGTH: Literal["http.decoded_response_content_length"] = "http.decoded_response_content_length" """The decoded body size of the response (in bytes). Type: int @@ -6111,9 +5741,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__body__decoded_size.json - HTTP_REQUEST_BODY_DECODED_SIZE: Literal["http.request.body.decoded_size"] = ( - "http.request.body.decoded_size" - ) + HTTP_REQUEST_BODY_DECODED_SIZE: Literal["http.request.body.decoded_size"] = "http.request.body.decoded_size" """The decoded body size of the request (in bytes). Type: int @@ -6137,9 +5765,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__connect_start.json - HTTP_REQUEST_CONNECT_START: Literal["http.request.connect_start"] = ( - "http.request.connect_start" - ) + HTTP_REQUEST_CONNECT_START: Literal["http.request.connect_start"] = "http.request.connect_start" """The UNIX timestamp representing the time immediately before the user agent starts establishing the connection to the server to retrieve the resource. Type: float @@ -6150,9 +5776,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__connection_end.json - HTTP_REQUEST_CONNECTION_END: Literal["http.request.connection_end"] = ( - "http.request.connection_end" - ) + HTTP_REQUEST_CONNECTION_END: Literal["http.request.connection_end"] = "http.request.connection_end" """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: float @@ -6163,9 +5787,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__domain_lookup_end.json - HTTP_REQUEST_DOMAIN_LOOKUP_END: Literal["http.request.domain_lookup_end"] = ( - "http.request.domain_lookup_end" - ) + HTTP_REQUEST_DOMAIN_LOOKUP_END: Literal["http.request.domain_lookup_end"] = "http.request.domain_lookup_end" """The UNIX timestamp representing the time immediately after the browser finishes the domain-name lookup for the resource. Type: float @@ -6176,9 +5798,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__domain_lookup_start.json - HTTP_REQUEST_DOMAIN_LOOKUP_START: Literal["http.request.domain_lookup_start"] = ( - "http.request.domain_lookup_start" - ) + HTTP_REQUEST_DOMAIN_LOOKUP_START: Literal["http.request.domain_lookup_start"] = "http.request.domain_lookup_start" """The UNIX timestamp representing the time immediately before the browser starts the domain name lookup for the resource. Type: float @@ -6200,9 +5820,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__fetch_start.json - HTTP_REQUEST_FETCH_START: Literal["http.request.fetch_start"] = ( - "http.request.fetch_start" - ) + HTTP_REQUEST_FETCH_START: Literal["http.request.fetch_start"] = "http.request.fetch_start" """The UNIX timestamp representing the time immediately before the browser starts to fetch the resource. Type: float @@ -6213,9 +5831,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__header__[key].json - HTTP_REQUEST_HEADER_KEY: Literal["http.request.header."] = ( - "http.request.header." - ) + HTTP_REQUEST_HEADER_KEY: Literal["http.request.header."] = "http.request.header." """HTTP request headers, being the lower-cased, but otherwise unchanged HTTP Header name, the value being the header values. Type: List[str] @@ -6240,9 +5856,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__redirect_end.json - HTTP_REQUEST_REDIRECT_END: Literal["http.request.redirect_end"] = ( - "http.request.redirect_end" - ) + HTTP_REQUEST_REDIRECT_END: Literal["http.request.redirect_end"] = "http.request.redirect_end" """The UNIX timestamp representing the timestamp immediately after receiving the last byte of the response of the last redirect Type: float @@ -6253,9 +5867,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__redirect_start.json - HTTP_REQUEST_REDIRECT_START: Literal["http.request.redirect_start"] = ( - "http.request.redirect_start" - ) + HTTP_REQUEST_REDIRECT_START: Literal["http.request.redirect_start"] = "http.request.redirect_start" """The UNIX timestamp representing the start time of the fetch which that initiates the redirect. Type: float @@ -6266,9 +5878,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__request_start.json - HTTP_REQUEST_REQUEST_START: Literal["http.request.request_start"] = ( - "http.request.request_start" - ) + HTTP_REQUEST_REQUEST_START: Literal["http.request.request_start"] = "http.request.request_start" """The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request. Type: float @@ -6279,9 +5889,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__resend_count.json - HTTP_REQUEST_RESEND_COUNT: Literal["http.request.resend_count"] = ( - "http.request.resend_count" - ) + HTTP_REQUEST_RESEND_COUNT: Literal["http.request.resend_count"] = "http.request.resend_count" """The ordinal number of request resending attempt (for any reason, including redirects). Type: int @@ -6292,9 +5900,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__response_end.json - HTTP_REQUEST_RESPONSE_END: Literal["http.request.response_end"] = ( - "http.request.response_end" - ) + HTTP_REQUEST_RESPONSE_END: Literal["http.request.response_end"] = "http.request.response_end" """The UNIX timestamp representing the time immediately after the browser receives the last byte of the resource or immediately before the transport connection is closed, whichever comes first. Type: float @@ -6305,9 +5911,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__response_start.json - HTTP_REQUEST_RESPONSE_START: Literal["http.request.response_start"] = ( - "http.request.response_start" - ) + HTTP_REQUEST_RESPONSE_START: Literal["http.request.response_start"] = "http.request.response_start" """The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request. Type: float @@ -6318,9 +5922,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__same_origin.json - HTTP_REQUEST_SAME_ORIGIN: Literal["http.request.same_origin"] = ( - "http.request.same_origin" - ) + HTTP_REQUEST_SAME_ORIGIN: Literal["http.request.same_origin"] = "http.request.same_origin" """Indicates that a URL has the same origin as the current page's origin in the browser. Type: bool @@ -6332,9 +5934,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__secure_connection_start.json - HTTP_REQUEST_SECURE_CONNECTION_START: Literal[ - "http.request.secure_connection_start" - ] = "http.request.secure_connection_start" + HTTP_REQUEST_SECURE_CONNECTION_START: Literal["http.request.secure_connection_start"] = "http.request.secure_connection_start" """The UNIX timestamp representing the time immediately before the browser starts the handshake process to secure the current connection. If a secure connection is not used, the property returns zero. Type: float @@ -6345,9 +5945,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__time_to_first_byte.json - HTTP_REQUEST_TIME_TO_FIRST_BYTE: Literal["http.request.time_to_first_byte"] = ( - "http.request.time_to_first_byte" - ) + HTTP_REQUEST_TIME_TO_FIRST_BYTE: Literal["http.request.time_to_first_byte"] = "http.request.time_to_first_byte" """The time in seconds from the browser's timeorigin to when the first byte of the request's response was received. See https://web.dev/articles/ttfb#measure-resource-requests Type: float @@ -6358,9 +5956,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__worker_start.json - HTTP_REQUEST_WORKER_START: Literal["http.request.worker_start"] = ( - "http.request.worker_start" - ) + HTTP_REQUEST_WORKER_START: Literal["http.request.worker_start"] = "http.request.worker_start" """The UNIX timestamp representing the timestamp immediately before dispatching the FetchEvent if a Service Worker thread is already running, or immediately before starting the Service Worker thread if it is not already running. Type: float @@ -6371,9 +5967,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request_content_length.json - HTTP_REQUEST_CONTENT_LENGTH: Literal["http.request_content_length"] = ( - "http.request_content_length" - ) + HTTP_REQUEST_CONTENT_LENGTH: Literal["http.request_content_length"] = "http.request_content_length" """The encoded body size of the request (in bytes). Type: int @@ -6386,9 +5980,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request_content_length_uncompressed.json - HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED: Literal[ - "http.request_content_length_uncompressed" - ] = "http.request_content_length_uncompressed" + HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED: Literal["http.request_content_length_uncompressed"] = "http.request_content_length_uncompressed" """The decoded body size of the request (in bytes). Type: int @@ -6414,9 +6006,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response__body__decoded_size.json - HTTP_RESPONSE_BODY_DECODED_SIZE: Literal["http.response.body.decoded_size"] = ( - "http.response.body.decoded_size" - ) + HTTP_RESPONSE_BODY_DECODED_SIZE: Literal["http.response.body.decoded_size"] = "http.response.body.decoded_size" """The decoded body size of the response (in bytes). Type: int @@ -6428,9 +6018,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response__body__size.json - HTTP_RESPONSE_BODY_SIZE: Literal["http.response.body.size"] = ( - "http.response.body.size" - ) + HTTP_RESPONSE_BODY_SIZE: Literal["http.response.body.size"] = "http.response.body.size" """The encoded body size of the response (in bytes). Type: int @@ -6442,9 +6030,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response__header__[key].json - HTTP_RESPONSE_HEADER_KEY: Literal["http.response.header."] = ( - "http.response.header." - ) + HTTP_RESPONSE_HEADER_KEY: Literal["http.response.header."] = "http.response.header." """HTTP response headers, being the lower-cased, but otherwise unchanged HTTP Header name, the value being the header values. Type: List[str] @@ -6457,9 +6043,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response__header__content-length.json - HTTP_RESPONSE_HEADER_CONTENT_LENGTH: Literal[ - "http.response.header.content-length" - ] = "http.response.header.content-length" + HTTP_RESPONSE_HEADER_CONTENT_LENGTH: Literal["http.response.header.content-length"] = "http.response.header.content-length" """The size of the message body sent to the recipient (in bytes) Type: str @@ -6483,9 +6067,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response__status_code.json - HTTP_RESPONSE_STATUS_CODE: Literal["http.response.status_code"] = ( - "http.response.status_code" - ) + HTTP_RESPONSE_STATUS_CODE: Literal["http.response.status_code"] = "http.response.status_code" """The status code of the HTTP response. Type: int @@ -6497,9 +6079,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response__status_text.json - HTTP_RESPONSE_STATUS_TEXT: Literal["http.response.status_text"] = ( - "http.response.status_text" - ) + HTTP_RESPONSE_STATUS_TEXT: Literal["http.response.status_text"] = "http.response.status_text" """The reason phrase of the HTTP response. Type: str @@ -6511,9 +6091,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response_content_length.json - HTTP_RESPONSE_CONTENT_LENGTH: Literal["http.response_content_length"] = ( - "http.response_content_length" - ) + HTTP_RESPONSE_CONTENT_LENGTH: Literal["http.response_content_length"] = "http.response_content_length" """The encoded body size of the response (in bytes). Type: int @@ -6526,9 +6104,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response_content_length_uncompressed.json - HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED: Literal[ - "http.response_content_length_uncompressed" - ] = "http.response_content_length_uncompressed" + HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED: Literal["http.response_content_length_uncompressed"] = "http.response_content_length_uncompressed" """The decoded body size of the response (in bytes). Type: int @@ -6541,9 +6117,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response_transfer_size.json - HTTP_RESPONSE_TRANSFER_SIZE: Literal["http.response_transfer_size"] = ( - "http.response_transfer_size" - ) + HTTP_RESPONSE_TRANSFER_SIZE: Literal["http.response_transfer_size"] = "http.response_transfer_size" """The transfer size of the response (in bytes). Type: int @@ -6583,9 +6157,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__server__request__time_in_queue.json - HTTP_SERVER_REQUEST_TIME_IN_QUEUE: Literal["http.server.request.time_in_queue"] = ( - "http.server.request.time_in_queue" - ) + HTTP_SERVER_REQUEST_TIME_IN_QUEUE: Literal["http.server.request.time_in_queue"] = "http.server.request.time_in_queue" """The time in milliseconds the request spent in the server queue before processing began. Measured from the X-Request-Start header set by reverse proxies (e.g., Nginx, HAProxy, Heroku) to when the application started handling the request. Type: float @@ -6741,9 +6313,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/jsonrpc/jsonrpc__protocol__version.json - JSONRPC_PROTOCOL_VERSION: Literal["jsonrpc.protocol.version"] = ( - "jsonrpc.protocol.version" - ) + JSONRPC_PROTOCOL_VERSION: Literal["jsonrpc.protocol.version"] = "jsonrpc.protocol.version" """The version of the JSON-RPC protocol used. Type: str @@ -6960,9 +6530,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/litestar/litestar__middleware_name.json - LITESTAR_MIDDLEWARE_NAME: Literal["litestar.middleware_name"] = ( - "litestar.middleware_name" - ) + LITESTAR_MIDDLEWARE_NAME: Literal["litestar.middleware_name"] = "litestar.middleware_name" """The name of the Litestar middleware. Type: str @@ -7009,9 +6577,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__cancelled__request_id.json - MCP_CANCELLED_REQUEST_ID: Literal["mcp.cancelled.request_id"] = ( - "mcp.cancelled.request_id" - ) + MCP_CANCELLED_REQUEST_ID: Literal["mcp.cancelled.request_id"] = "mcp.cancelled.request_id" """Request ID of the cancelled MCP operation. Type: str @@ -7144,9 +6710,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__progress__percentage.json - MCP_PROGRESS_PERCENTAGE: Literal["mcp.progress.percentage"] = ( - "mcp.progress.percentage" - ) + MCP_PROGRESS_PERCENTAGE: Literal["mcp.progress.percentage"] = "mcp.progress.percentage" """Calculated progress percentage of an MCP operation. Computed from current/total * 100. Type: float @@ -7193,9 +6757,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__prompt__result__[key]__content.json - MCP_PROMPT_RESULT_KEY_CONTENT: Literal["mcp.prompt.result..content"] = ( - "mcp.prompt.result..content" - ) + MCP_PROMPT_RESULT_KEY_CONTENT: Literal["mcp.prompt.result..content"] = "mcp.prompt.result..content" """Legacy text content of an indexed message in a multi-message MCP prompt result. Type: str @@ -7206,9 +6768,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__prompt__result__[key]__role.json - MCP_PROMPT_RESULT_KEY_ROLE: Literal["mcp.prompt.result..role"] = ( - "mcp.prompt.result..role" - ) + MCP_PROMPT_RESULT_KEY_ROLE: Literal["mcp.prompt.result..role"] = "mcp.prompt.result..role" """Legacy role of an indexed message in a multi-message MCP prompt result. Type: str @@ -7220,9 +6780,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__prompt__result__description.json - MCP_PROMPT_RESULT_DESCRIPTION: Literal["mcp.prompt.result.description"] = ( - "mcp.prompt.result.description" - ) + MCP_PROMPT_RESULT_DESCRIPTION: Literal["mcp.prompt.result.description"] = "mcp.prompt.result.description" """Description of the prompt result. Type: str @@ -7233,9 +6791,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__prompt__result__message_content.json - MCP_PROMPT_RESULT_MESSAGE_CONTENT: Literal["mcp.prompt.result.message_content"] = ( - "mcp.prompt.result.message_content" - ) + MCP_PROMPT_RESULT_MESSAGE_CONTENT: Literal["mcp.prompt.result.message_content"] = "mcp.prompt.result.message_content" """Content of the message in the prompt result. Used for single message results only. Type: str @@ -7246,9 +6802,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__prompt__result__message_count.json - MCP_PROMPT_RESULT_MESSAGE_COUNT: Literal["mcp.prompt.result.message_count"] = ( - "mcp.prompt.result.message_count" - ) + MCP_PROMPT_RESULT_MESSAGE_COUNT: Literal["mcp.prompt.result.message_count"] = "mcp.prompt.result.message_count" """Number of messages in the prompt result. Type: int @@ -7259,9 +6813,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__prompt__result__message_role.json - MCP_PROMPT_RESULT_MESSAGE_ROLE: Literal["mcp.prompt.result.message_role"] = ( - "mcp.prompt.result.message_role" - ) + MCP_PROMPT_RESULT_MESSAGE_ROLE: Literal["mcp.prompt.result.message_role"] = "mcp.prompt.result.message_role" """Role of the message in the prompt result. Used for single message results only. Type: str @@ -7294,9 +6846,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__request__argument__[key].json - MCP_REQUEST_ARGUMENT_KEY: Literal["mcp.request.argument."] = ( - "mcp.request.argument." - ) + MCP_REQUEST_ARGUMENT_KEY: Literal["mcp.request.argument."] = "mcp.request.argument." """MCP request argument with dynamic key suffix. The is replaced with the actual argument name. The value is a JSON-stringified representation of the argument value. Type: str @@ -7308,9 +6858,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__request__argument__name.json - MCP_REQUEST_ARGUMENT_NAME: Literal["mcp.request.argument.name"] = ( - "mcp.request.argument.name" - ) + MCP_REQUEST_ARGUMENT_NAME: Literal["mcp.request.argument.name"] = "mcp.request.argument.name" """Name argument from prompts/get MCP request. Type: str @@ -7321,9 +6869,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__request__argument__uri.json - MCP_REQUEST_ARGUMENT_URI: Literal["mcp.request.argument.uri"] = ( - "mcp.request.argument.uri" - ) + MCP_REQUEST_ARGUMENT_URI: Literal["mcp.request.argument.uri"] = "mcp.request.argument.uri" """URI argument from resources/read MCP request. Type: str @@ -7427,9 +6973,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__content.json - MCP_TOOL_RESULT_KEY_CONTENT: Literal["mcp.tool.result..content"] = ( - "mcp.tool.result..content" - ) + MCP_TOOL_RESULT_KEY_CONTENT: Literal["mcp.tool.result..content"] = "mcp.tool.result..content" """Legacy text content of an indexed content item in a multi-item MCP tool result. Type: str @@ -7441,9 +6985,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__content_type.json - MCP_TOOL_RESULT_KEY_CONTENT_TYPE: Literal["mcp.tool.result..content_type"] = ( - "mcp.tool.result..content_type" - ) + MCP_TOOL_RESULT_KEY_CONTENT_TYPE: Literal["mcp.tool.result..content_type"] = "mcp.tool.result..content_type" """Legacy content type of an indexed content item in a multi-item MCP tool result. Type: str @@ -7456,9 +6998,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__data_size.json - MCP_TOOL_RESULT_KEY_DATA_SIZE: Literal["mcp.tool.result..data_size"] = ( - "mcp.tool.result..data_size" - ) + MCP_TOOL_RESULT_KEY_DATA_SIZE: Literal["mcp.tool.result..data_size"] = "mcp.tool.result..data_size" """Legacy length of the data string in UTF-16 code units of an indexed content item in a multi-item MCP tool result. Type: int @@ -7471,9 +7011,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__mime_type.json - MCP_TOOL_RESULT_KEY_MIME_TYPE: Literal["mcp.tool.result..mime_type"] = ( - "mcp.tool.result..mime_type" - ) + MCP_TOOL_RESULT_KEY_MIME_TYPE: Literal["mcp.tool.result..mime_type"] = "mcp.tool.result..mime_type" """Legacy MIME type of an indexed content item in a multi-item MCP tool result. Type: str @@ -7486,9 +7024,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__name.json - MCP_TOOL_RESULT_KEY_NAME: Literal["mcp.tool.result..name"] = ( - "mcp.tool.result..name" - ) + MCP_TOOL_RESULT_KEY_NAME: Literal["mcp.tool.result..name"] = "mcp.tool.result..name" """Legacy resource link name of an indexed content item in a multi-item MCP tool result. Type: str @@ -7500,9 +7036,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__resource_mime_type.json - MCP_TOOL_RESULT_KEY_RESOURCE_MIME_TYPE: Literal[ - "mcp.tool.result..resource_mime_type" - ] = "mcp.tool.result..resource_mime_type" + MCP_TOOL_RESULT_KEY_RESOURCE_MIME_TYPE: Literal["mcp.tool.result..resource_mime_type"] = "mcp.tool.result..resource_mime_type" """Legacy embedded resource MIME type of an indexed content item in a multi-item MCP tool result. Type: str @@ -7514,9 +7048,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__resource_uri.json - MCP_TOOL_RESULT_KEY_RESOURCE_URI: Literal["mcp.tool.result..resource_uri"] = ( - "mcp.tool.result..resource_uri" - ) + MCP_TOOL_RESULT_KEY_RESOURCE_URI: Literal["mcp.tool.result..resource_uri"] = "mcp.tool.result..resource_uri" """Legacy embedded resource URI of an indexed content item in a multi-item MCP tool result. Type: str @@ -7528,9 +7060,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__uri.json - MCP_TOOL_RESULT_KEY_URI: Literal["mcp.tool.result..uri"] = ( - "mcp.tool.result..uri" - ) + MCP_TOOL_RESULT_KEY_URI: Literal["mcp.tool.result..uri"] = "mcp.tool.result..uri" """Legacy resource link URI of an indexed content item in a multi-item MCP tool result. Type: str @@ -7542,9 +7072,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__content.json - MCP_TOOL_RESULT_CONTENT: Literal["mcp.tool.result.content"] = ( - "mcp.tool.result.content" - ) + MCP_TOOL_RESULT_CONTENT: Literal["mcp.tool.result.content"] = "mcp.tool.result.content" """The content of the tool result. Type: str @@ -7557,9 +7085,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__content_count.json - MCP_TOOL_RESULT_CONTENT_COUNT: Literal["mcp.tool.result.content_count"] = ( - "mcp.tool.result.content_count" - ) + MCP_TOOL_RESULT_CONTENT_COUNT: Literal["mcp.tool.result.content_count"] = "mcp.tool.result.content_count" """Number of content items in the tool result. Type: int @@ -7571,9 +7097,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__content_type.json - MCP_TOOL_RESULT_CONTENT_TYPE: Literal["mcp.tool.result.content_type"] = ( - "mcp.tool.result.content_type" - ) + MCP_TOOL_RESULT_CONTENT_TYPE: Literal["mcp.tool.result.content_type"] = "mcp.tool.result.content_type" """Legacy content type of the content item in a single-item MCP tool result. Type: str @@ -7586,9 +7110,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__data_size.json - MCP_TOOL_RESULT_DATA_SIZE: Literal["mcp.tool.result.data_size"] = ( - "mcp.tool.result.data_size" - ) + MCP_TOOL_RESULT_DATA_SIZE: Literal["mcp.tool.result.data_size"] = "mcp.tool.result.data_size" """Legacy length of the data string in UTF-16 code units of the content item in a single-item MCP tool result. Type: int @@ -7601,9 +7123,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__is_error.json - MCP_TOOL_RESULT_IS_ERROR: Literal["mcp.tool.result.is_error"] = ( - "mcp.tool.result.is_error" - ) + MCP_TOOL_RESULT_IS_ERROR: Literal["mcp.tool.result.is_error"] = "mcp.tool.result.is_error" """Whether a tool execution resulted in an error. Type: bool @@ -7615,9 +7135,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__mime_type.json - MCP_TOOL_RESULT_MIME_TYPE: Literal["mcp.tool.result.mime_type"] = ( - "mcp.tool.result.mime_type" - ) + MCP_TOOL_RESULT_MIME_TYPE: Literal["mcp.tool.result.mime_type"] = "mcp.tool.result.mime_type" """Legacy MIME type of the content item in a single-item MCP tool result. Type: str @@ -7642,9 +7160,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__resource_mime_type.json - MCP_TOOL_RESULT_RESOURCE_MIME_TYPE: Literal[ - "mcp.tool.result.resource_mime_type" - ] = "mcp.tool.result.resource_mime_type" + MCP_TOOL_RESULT_RESOURCE_MIME_TYPE: Literal["mcp.tool.result.resource_mime_type"] = "mcp.tool.result.resource_mime_type" """Legacy embedded resource MIME type of the content item in a single-item MCP tool result. Type: str @@ -7656,9 +7172,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__resource_uri.json - MCP_TOOL_RESULT_RESOURCE_URI: Literal["mcp.tool.result.resource_uri"] = ( - "mcp.tool.result.resource_uri" - ) + MCP_TOOL_RESULT_RESOURCE_URI: Literal["mcp.tool.result.resource_uri"] = "mcp.tool.result.resource_uri" """Legacy embedded resource URI of the content item in a single-item MCP tool result. Type: str @@ -7706,9 +7220,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__batch__message_count.json - MESSAGING_BATCH_MESSAGE_COUNT: Literal["messaging.batch.message_count"] = ( - "messaging.batch.message_count" - ) + MESSAGING_BATCH_MESSAGE_COUNT: Literal["messaging.batch.message_count"] = "messaging.batch.message_count" """The number of messages sent, received, or processed in the scope of the batching operation. Type: int @@ -7719,9 +7231,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__conversation_id.json - MESSAGING_CONVERSATION_ID: Literal["messaging.conversation_id"] = ( - "messaging.conversation_id" - ) + MESSAGING_CONVERSATION_ID: Literal["messaging.conversation_id"] = "messaging.conversation_id" """The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". Type: str @@ -7747,9 +7257,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__destination__connection.json - MESSAGING_DESTINATION_CONNECTION: Literal["messaging.destination.connection"] = ( - "messaging.destination.connection" - ) + MESSAGING_DESTINATION_CONNECTION: Literal["messaging.destination.connection"] = "messaging.destination.connection" """The message destination connection. Type: str @@ -7760,9 +7268,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__destination__name.json - MESSAGING_DESTINATION_NAME: Literal["messaging.destination.name"] = ( - "messaging.destination.name" - ) + MESSAGING_DESTINATION_NAME: Literal["messaging.destination.name"] = "messaging.destination.name" """The message destination name. Type: str @@ -7774,9 +7280,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__destination__partition__id.json - MESSAGING_DESTINATION_PARTITION_ID: Literal[ - "messaging.destination.partition.id" - ] = "messaging.destination.partition.id" + MESSAGING_DESTINATION_PARTITION_ID: Literal["messaging.destination.partition.id"] = "messaging.destination.partition.id" """The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name. Type: str @@ -7787,9 +7291,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__destination_kind.json - MESSAGING_DESTINATION_KIND: Literal["messaging.destination_kind"] = ( - "messaging.destination_kind" - ) + MESSAGING_DESTINATION_KIND: Literal["messaging.destination_kind"] = "messaging.destination_kind" """The kind of message destination. Type: str @@ -7801,9 +7303,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__kafka__message__key.json - MESSAGING_KAFKA_MESSAGE_KEY: Literal["messaging.kafka.message.key"] = ( - "messaging.kafka.message.key" - ) + MESSAGING_KAFKA_MESSAGE_KEY: Literal["messaging.kafka.message.key"] = "messaging.kafka.message.key" """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: str @@ -7814,9 +7314,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__kafka__message__tombstone.json - MESSAGING_KAFKA_MESSAGE_TOMBSTONE: Literal["messaging.kafka.message.tombstone"] = ( - "messaging.kafka.message.tombstone" - ) + MESSAGING_KAFKA_MESSAGE_TOMBSTONE: Literal["messaging.kafka.message.tombstone"] = "messaging.kafka.message.tombstone" """A boolean that is true if the message is a tombstone. Type: bool @@ -7838,9 +7336,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__message__body__size.json - MESSAGING_MESSAGE_BODY_SIZE: Literal["messaging.message.body.size"] = ( - "messaging.message.body.size" - ) + MESSAGING_MESSAGE_BODY_SIZE: Literal["messaging.message.body.size"] = "messaging.message.body.size" """The size of the message body in bytes. Type: int @@ -7851,9 +7347,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__message__conversation_id.json - MESSAGING_MESSAGE_CONVERSATION_ID: Literal["messaging.message.conversation_id"] = ( - "messaging.message.conversation_id" - ) + MESSAGING_MESSAGE_CONVERSATION_ID: Literal["messaging.message.conversation_id"] = "messaging.message.conversation_id" """The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". Type: str @@ -7865,9 +7359,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__message__envelope__size.json - MESSAGING_MESSAGE_ENVELOPE_SIZE: Literal["messaging.message.envelope.size"] = ( - "messaging.message.envelope.size" - ) + MESSAGING_MESSAGE_ENVELOPE_SIZE: Literal["messaging.message.envelope.size"] = "messaging.message.envelope.size" """The size of the message body and metadata in bytes. Type: int @@ -7890,9 +7382,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__message__receive__latency.json - MESSAGING_MESSAGE_RECEIVE_LATENCY: Literal["messaging.message.receive.latency"] = ( - "messaging.message.receive.latency" - ) + MESSAGING_MESSAGE_RECEIVE_LATENCY: Literal["messaging.message.receive.latency"] = "messaging.message.receive.latency" """The latency between when the message was published and received. Type: int @@ -7903,9 +7393,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__message__retry__count.json - MESSAGING_MESSAGE_RETRY_COUNT: Literal["messaging.message.retry.count"] = ( - "messaging.message.retry.count" - ) + MESSAGING_MESSAGE_RETRY_COUNT: Literal["messaging.message.retry.count"] = "messaging.message.retry.count" """The amount of attempts to send the message. Type: int @@ -7942,9 +7430,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__operation__name.json - MESSAGING_OPERATION_NAME: Literal["messaging.operation.name"] = ( - "messaging.operation.name" - ) + MESSAGING_OPERATION_NAME: Literal["messaging.operation.name"] = "messaging.operation.name" """The name of the messaging operation being performed Type: str @@ -7956,9 +7442,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__operation__type.json - MESSAGING_OPERATION_TYPE: Literal["messaging.operation.type"] = ( - "messaging.operation.type" - ) + MESSAGING_OPERATION_TYPE: Literal["messaging.operation.type"] = "messaging.operation.type" """A string identifying the type of the messaging operation Type: str @@ -7982,9 +7466,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__protocol_version.json - MESSAGING_PROTOCOL_VERSION: Literal["messaging.protocol_version"] = ( - "messaging.protocol_version" - ) + MESSAGING_PROTOCOL_VERSION: Literal["messaging.protocol_version"] = "messaging.protocol_version" """The actual version of the protocol used for network communication. Type: str @@ -7997,9 +7479,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__rabbitmq__destination__routing_key.json - MESSAGING_RABBITMQ_DESTINATION_ROUTING_KEY: Literal[ - "messaging.rabbitmq.destination.routing_key" - ] = "messaging.rabbitmq.destination.routing_key" + MESSAGING_RABBITMQ_DESTINATION_ROUTING_KEY: Literal["messaging.rabbitmq.destination.routing_key"] = "messaging.rabbitmq.destination.routing_key" """RabbitMQ message routing key. Type: str @@ -8011,9 +7491,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__rabbitmq__routing_key.json - MESSAGING_RABBITMQ_ROUTING_KEY: Literal["messaging.rabbitmq.routing_key"] = ( - "messaging.rabbitmq.routing_key" - ) + MESSAGING_RABBITMQ_ROUTING_KEY: Literal["messaging.rabbitmq.routing_key"] = "messaging.rabbitmq.routing_key" """RabbitMQ message routing key. Type: str @@ -8375,9 +7853,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/network/network__connection__effective_type.json - NETWORK_CONNECTION_EFFECTIVE_TYPE: Literal["network.connection.effective_type"] = ( - "network.connection.effective_type" - ) + NETWORK_CONNECTION_EFFECTIVE_TYPE: Literal["network.connection.effective_type"] = "network.connection.effective_type" """Specifies the effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g). Type: str @@ -8401,9 +7877,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/network/network__connection__type.json - NETWORK_CONNECTION_TYPE: Literal["network.connection.type"] = ( - "network.connection.type" - ) + NETWORK_CONNECTION_TYPE: Literal["network.connection.type"] = "network.connection.type" """Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc). Type: str @@ -8476,9 +7950,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/network/network__protocol__version.json - NETWORK_PROTOCOL_VERSION: Literal["network.protocol.version"] = ( - "network.protocol.version" - ) + NETWORK_PROTOCOL_VERSION: Literal["network.protocol.version"] = "network.protocol.version" """The actual version of the protocol used for network communication. Type: str @@ -8672,9 +8144,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/otel/otel__status_description.json - OTEL_STATUS_DESCRIPTION: Literal["otel.status_description"] = ( - "otel.status_description" - ) + OTEL_STATUS_DESCRIPTION: Literal["otel.status_description"] = "otel.status_description" """Description of the Status if it has a value, otherwise not set. Type: str @@ -8698,9 +8168,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/performance/performance__activationStart.json - PERFORMANCE_ACTIVATIONSTART: Literal["performance.activationStart"] = ( - "performance.activationStart" - ) + PERFORMANCE_ACTIVATIONSTART: Literal["performance.activationStart"] = "performance.activationStart" """The time between initiating a navigation to a page and the browser activating the page Type: float @@ -8761,9 +8229,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/process/process__executable__name.json - PROCESS_EXECUTABLE_NAME: Literal["process.executable.name"] = ( - "process.executable.name" - ) + PROCESS_EXECUTABLE_NAME: Literal["process.executable.name"] = "process.executable.name" """The name of the executable that started the process. Type: str @@ -8786,9 +8252,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/process/process__runtime__description.json - PROCESS_RUNTIME_DESCRIPTION: Literal["process.runtime.description"] = ( - "process.runtime.description" - ) + PROCESS_RUNTIME_DESCRIPTION: Literal["process.runtime.description"] = "process.runtime.description" """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: str @@ -8800,9 +8264,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/process/process__runtime__engine__name.json - PROCESS_RUNTIME_ENGINE_NAME: Literal["process.runtime.engine.name"] = ( - "process.runtime.engine.name" - ) + PROCESS_RUNTIME_ENGINE_NAME: Literal["process.runtime.engine.name"] = "process.runtime.engine.name" """The name of the runtime engine. Type: str @@ -8813,9 +8275,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/process/process__runtime__engine__version.json - PROCESS_RUNTIME_ENGINE_VERSION: Literal["process.runtime.engine.version"] = ( - "process.runtime.engine.version" - ) + PROCESS_RUNTIME_ENGINE_VERSION: Literal["process.runtime.engine.version"] = "process.runtime.engine.version" """The version of the runtime engine. Type: str @@ -8838,9 +8298,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/process/process__runtime__version.json - PROCESS_RUNTIME_VERSION: Literal["process.runtime.version"] = ( - "process.runtime.version" - ) + PROCESS_RUNTIME_VERSION: Literal["process.runtime.version"] = "process.runtime.version" """The version of the runtime of this process, as returned by the runtime without modification. Equivalent to `version` in the Sentry runtime context. Type: str @@ -8902,9 +8360,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__architecture.json - REACT_NATIVE_ARCHITECTURE: Literal["react_native.architecture"] = ( - "react_native.architecture" - ) + REACT_NATIVE_ARCHITECTURE: Literal["react_native.architecture"] = "react_native.architecture" """The React Native architecture the app is running on. `new` for the New Architecture, where native modules are resolved as TurboModules through `TurboModuleRegistry`, `legacy` for the Old Architecture bridge. Type: str @@ -8917,9 +8373,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__call__count.json - REACT_NATIVE_MODULE_CALL_COUNT: Literal["react_native.module.call.count"] = ( - "react_native.module.call.count" - ) + REACT_NATIVE_MODULE_CALL_COUNT: Literal["react_native.module.call.count"] = "react_native.module.call.count" """The number of native module calls observed during the lifetime of the span. Type: int @@ -8931,9 +8385,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__call__distinct_count.json - REACT_NATIVE_MODULE_CALL_DISTINCT_COUNT: Literal[ - "react_native.module.call.distinct_count" - ] = "react_native.module.call.distinct_count" + REACT_NATIVE_MODULE_CALL_DISTINCT_COUNT: Literal["react_native.module.call.distinct_count"] = "react_native.module.call.distinct_count" """The number of distinct native module and method pairs called during the lifetime of the span. Useful as a cardinality signal when the per-method breakdown has been truncated. Type: int @@ -8945,9 +8397,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__duration__max.json - REACT_NATIVE_MODULE_DURATION_MAX: Literal["react_native.module.duration.max"] = ( - "react_native.module.duration.max" - ) + REACT_NATIVE_MODULE_DURATION_MAX: Literal["react_native.module.duration.max"] = "react_native.module.duration.max" """The duration of the slowest single native module call observed during the lifetime of the span, in milliseconds. Type: float @@ -8958,9 +8408,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__duration__total.json - REACT_NATIVE_MODULE_DURATION_TOTAL: Literal[ - "react_native.module.duration.total" - ] = "react_native.module.duration.total" + REACT_NATIVE_MODULE_DURATION_TOTAL: Literal["react_native.module.duration.total"] = "react_native.module.duration.total" """The combined wall-clock duration of all native module calls observed during the lifetime of the span, in milliseconds. Calls overlap, so this can exceed the span duration. Type: float @@ -8972,9 +8420,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__error__count.json - REACT_NATIVE_MODULE_ERROR_COUNT: Literal["react_native.module.error.count"] = ( - "react_native.module.error.count" - ) + REACT_NATIVE_MODULE_ERROR_COUNT: Literal["react_native.module.error.count"] = "react_native.module.error.count" """The number of native module calls that failed during the lifetime of the span. A call counts as failed when it threw, rejected, or — on the Old Architecture bridge only — invoked its failure callback. Type: int @@ -8986,9 +8432,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__kind.json - REACT_NATIVE_MODULE_KIND: Literal["react_native.module.kind"] = ( - "react_native.module.kind" - ) + REACT_NATIVE_MODULE_KIND: Literal["react_native.module.kind"] = "react_native.module.kind" """Whether the native module call completed synchronously or reported completion later through a Promise or a callback. One of `sync` or `async`. Type: str @@ -9000,9 +8444,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__method.json - REACT_NATIVE_MODULE_METHOD: Literal["react_native.module.method"] = ( - "react_native.module.method" - ) + REACT_NATIVE_MODULE_METHOD: Literal["react_native.module.method"] = "react_native.module.method" """The name of the native module method that was called. Type: str @@ -9014,9 +8456,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__name.json - REACT_NATIVE_MODULE_NAME: Literal["react_native.module.name"] = ( - "react_native.module.name" - ) + REACT_NATIVE_MODULE_NAME: Literal["react_native.module.name"] = "react_native.module.name" """The name of the native module the call was dispatched to. On the New Architecture this is the TurboModule name, on the Old Architecture the `NativeModules` key. Type: str @@ -9028,9 +8468,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__top__duration.json - REACT_NATIVE_MODULE_TOP_DURATION: Literal["react_native.module.top.duration"] = ( - "react_native.module.top.duration" - ) + REACT_NATIVE_MODULE_TOP_DURATION: Literal["react_native.module.top.duration"] = "react_native.module.top.duration" """The total duration attributed to `react_native.module.top.name`, in milliseconds. Type: float @@ -9042,9 +8480,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__top__name.json - REACT_NATIVE_MODULE_TOP_NAME: Literal["react_native.module.top.name"] = ( - "react_native.module.top.name" - ) + REACT_NATIVE_MODULE_TOP_NAME: Literal["react_native.module.top.name"] = "react_native.module.top.name" """The native module and method that accounted for the most total duration during the lifetime of the span, formatted as `.`. Type: str @@ -9095,9 +8531,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/remix/remix__action_form_data__[key].json - REMIX_ACTION_FORM_DATA_KEY: Literal["remix.action_form_data."] = ( - "remix.action_form_data." - ) + REMIX_ACTION_FORM_DATA_KEY: Literal["remix.action_form_data."] = "remix.action_form_data." """Remix form data, being the form data key, the value being the form data value. Type: str @@ -9135,9 +8569,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/resource/resource__deployment__environment.json - RESOURCE_DEPLOYMENT_ENVIRONMENT: Literal["resource.deployment.environment"] = ( - "resource.deployment.environment" - ) + RESOURCE_DEPLOYMENT_ENVIRONMENT: Literal["resource.deployment.environment"] = "resource.deployment.environment" """The software deployment environment name. Type: str @@ -9149,9 +8581,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/resource/resource__deployment__environment__name.json - RESOURCE_DEPLOYMENT_ENVIRONMENT_NAME: Literal[ - "resource.deployment.environment.name" - ] = "resource.deployment.environment.name" + RESOURCE_DEPLOYMENT_ENVIRONMENT_NAME: Literal["resource.deployment.environment.name"] = "resource.deployment.environment.name" """The software deployment environment name. Type: str @@ -9163,9 +8593,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/resource/resource__render_blocking_status.json - RESOURCE_RENDER_BLOCKING_STATUS: Literal["resource.render_blocking_status"] = ( - "resource.render_blocking_status" - ) + RESOURCE_RENDER_BLOCKING_STATUS: Literal["resource.render_blocking_status"] = "resource.render_blocking_status" """The render blocking status of the resource. Type: str @@ -9189,9 +8617,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/router/router__navigation__origin.json - ROUTER_NAVIGATION_ORIGIN: Literal["router.navigation.origin"] = ( - "router.navigation.origin" - ) + ROUTER_NAVIGATION_ORIGIN: Literal["router.navigation.origin"] = "router.navigation.origin" """The origin of the navigation (usually client side router navigations). Should preferably be a parameterized template (like url.template) or a URL path otherwise. Type: str @@ -9203,9 +8629,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/router/router__navigation__route__id.json - ROUTER_NAVIGATION_ROUTE_ID: Literal["router.navigation.route.id"] = ( - "router.navigation.route.id" - ) + ROUTER_NAVIGATION_ROUTE_ID: Literal["router.navigation.route.id"] = "router.navigation.route.id" """The identifier of the matched client-side route, as assigned by the routing framework (e.g., vue-router name, react-router id). Type: str @@ -9254,9 +8678,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/rpc/rpc__response__status_code.json - RPC_RESPONSE_STATUS_CODE: Literal["rpc.response.status_code"] = ( - "rpc.response.status_code" - ) + RPC_RESPONSE_STATUS_CODE: Literal["rpc.response.status_code"] = "rpc.response.status_code" """Status code of the RPC returned by the RPC server or generated by the client. Type: str @@ -9329,9 +8751,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/runtime/runtime__raw_description.json - RUNTIME_RAW_DESCRIPTION: Literal["runtime.raw_description"] = ( - "runtime.raw_description" - ) + RUNTIME_RAW_DESCRIPTION: Literal["runtime.raw_description"] = "runtime.raw_description" """Unprocessed description string as obtained from the runtime. Used to extract name and version for well-known runtimes. Type: str @@ -9440,9 +8860,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__cancellation_reason.json - SENTRY_CANCELLATION_REASON: Literal["sentry.cancellation_reason"] = ( - "sentry.cancellation_reason" - ) + SENTRY_CANCELLATION_REASON: Literal["sentry.cancellation_reason"] = "sentry.cancellation_reason" """The reason why a span ended early. Type: str @@ -9501,9 +8919,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__client_sample_rate.json - SENTRY_CLIENT_SAMPLE_RATE: Literal["sentry.client_sample_rate"] = ( - "sentry.client_sample_rate" - ) + SENTRY_CLIENT_SAMPLE_RATE: Literal["sentry.client_sample_rate"] = "sentry.client_sample_rate" """Rate at which a span was sampled in the SDK. Type: float @@ -9648,9 +9064,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__event__serialized_breadcrumbs.json - SENTRY_EVENT_SERIALIZED_BREADCRUMBS: Literal[ - "sentry.event.serialized_breadcrumbs" - ] = "sentry.event.serialized_breadcrumbs" + SENTRY_EVENT_SERIALIZED_BREADCRUMBS: Literal["sentry.event.serialized_breadcrumbs"] = "sentry.event.serialized_breadcrumbs" """JSON-serialized `breadcrumbs` property from a Sentry event. Type: str @@ -9660,9 +9074,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__event__serialized_contexts.json - SENTRY_EVENT_SERIALIZED_CONTEXTS: Literal["sentry.event.serialized_contexts"] = ( - "sentry.event.serialized_contexts" - ) + SENTRY_EVENT_SERIALIZED_CONTEXTS: Literal["sentry.event.serialized_contexts"] = "sentry.event.serialized_contexts" """JSON-serialized `contexts` property from a Sentry event. Type: str @@ -9672,9 +9084,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__event__serialized_extra.json - SENTRY_EVENT_SERIALIZED_EXTRA: Literal["sentry.event.serialized_extra"] = ( - "sentry.event.serialized_extra" - ) + SENTRY_EVENT_SERIALIZED_EXTRA: Literal["sentry.event.serialized_extra"] = "sentry.event.serialized_extra" """JSON-serialized `extra` property from a Sentry event. Type: str @@ -9684,9 +9094,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__event__serialized_meta.json - SENTRY_EVENT_SERIALIZED_META: Literal["sentry.event.serialized_meta"] = ( - "sentry.event.serialized_meta" - ) + SENTRY_EVENT_SERIALIZED_META: Literal["sentry.event.serialized_meta"] = "sentry.event.serialized_meta" """JSON-serialized `_meta` for the `sentry.event.serialized_*` properties from a Sentry event. Type: str @@ -9746,9 +9154,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__graphql__operation.json - SENTRY_GRAPHQL_OPERATION: Literal["sentry.graphql.operation"] = ( - "sentry.graphql.operation" - ) + SENTRY_GRAPHQL_OPERATION: Literal["sentry.graphql.operation"] = "sentry.graphql.operation" """Indicates the type of graphql operation, emitted by the Javascript SDK. Type: str @@ -9780,9 +9186,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__idle_span_finish_reason.json - SENTRY_IDLE_SPAN_FINISH_REASON: Literal["sentry.idle_span_finish_reason"] = ( - "sentry.idle_span_finish_reason" - ) + SENTRY_IDLE_SPAN_FINISH_REASON: Literal["sentry.idle_span_finish_reason"] = "sentry.idle_span_finish_reason" """The reason why an idle span ended early. Type: str @@ -9856,9 +9260,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__message__parameter__[key].json - SENTRY_MESSAGE_PARAMETER_KEY: Literal["sentry.message.parameter."] = ( - "sentry.message.parameter." - ) + SENTRY_MESSAGE_PARAMETER_KEY: Literal["sentry.message.parameter."] = "sentry.message.parameter." """A parameter used in the message template. can either be the number that represent the parameter's position in the template string (sentry.message.parameter.0, sentry.message.parameter.1, etc) or the parameter's name (sentry.message.parameter.item_id, sentry.message.parameter.user_id, etc) Type: str @@ -9869,9 +9271,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__message__template.json - SENTRY_MESSAGE_TEMPLATE: Literal["sentry.message.template"] = ( - "sentry.message.template" - ) + SENTRY_MESSAGE_TEMPLATE: Literal["sentry.message.template"] = "sentry.message.template" """The parameterized template string. Type: str @@ -9916,9 +9316,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__nextjs__ssr__function__route.json - SENTRY_NEXTJS_SSR_FUNCTION_ROUTE: Literal["sentry.nextjs.ssr.function.route"] = ( - "sentry.nextjs.ssr.function.route" - ) + SENTRY_NEXTJS_SSR_FUNCTION_ROUTE: Literal["sentry.nextjs.ssr.function.route"] = "sentry.nextjs.ssr.function.route" """A parameterized route for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions when the file location of the function is known. Type: str @@ -9929,9 +9327,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__nextjs__ssr__function__type.json - SENTRY_NEXTJS_SSR_FUNCTION_TYPE: Literal["sentry.nextjs.ssr.function.type"] = ( - "sentry.nextjs.ssr.function.type" - ) + SENTRY_NEXTJS_SSR_FUNCTION_TYPE: Literal["sentry.nextjs.ssr.function.type"] = "sentry.nextjs.ssr.function.type" """A descriptor for a for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions. Type: str @@ -9942,9 +9338,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__normalized_db_query.json - SENTRY_NORMALIZED_DB_QUERY: Literal["sentry.normalized_db_query"] = ( - "sentry.normalized_db_query" - ) + SENTRY_NORMALIZED_DB_QUERY: Literal["sentry.normalized_db_query"] = "sentry.normalized_db_query" """The normalized version of `db.query.text`. Type: str @@ -9955,9 +9349,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__normalized_db_query__hash.json - SENTRY_NORMALIZED_DB_QUERY_HASH: Literal["sentry.normalized_db_query.hash"] = ( - "sentry.normalized_db_query.hash" - ) + SENTRY_NORMALIZED_DB_QUERY_HASH: Literal["sentry.normalized_db_query.hash"] = "sentry.normalized_db_query.hash" """The hash of `sentry.normalized_db_query`. Type: str @@ -9967,9 +9359,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__normalized_description.json - SENTRY_NORMALIZED_DESCRIPTION: Literal["sentry.normalized_description"] = ( - "sentry.normalized_description" - ) + SENTRY_NORMALIZED_DESCRIPTION: Literal["sentry.normalized_description"] = "sentry.normalized_description" """Used as a generic attribute representing the normalized `sentry.description`. This refers to the legacy use case of `sentry.description` where it holds relevant data depending on the type of span (e.g. database query, resource url, http request description, etc). Type: str @@ -9980,9 +9370,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__observed_timestamp_nanos.json - SENTRY_OBSERVED_TIMESTAMP_NANOS: Literal["sentry.observed_timestamp_nanos"] = ( - "sentry.observed_timestamp_nanos" - ) + SENTRY_OBSERVED_TIMESTAMP_NANOS: Literal["sentry.observed_timestamp_nanos"] = "sentry.observed_timestamp_nanos" """The timestamp at which an envelope was received by Relay, in nanoseconds. Type: str @@ -10015,9 +9403,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__pageload__span_id.json - SENTRY_PAGELOAD_SPAN_ID: Literal["sentry.pageload.span_id"] = ( - "sentry.pageload.span_id" - ) + SENTRY_PAGELOAD_SPAN_ID: Literal["sentry.pageload.span_id"] = "sentry.pageload.span_id" """The id of the pageload span, set by web vital spans and metrics Type: str @@ -10108,9 +9494,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__replay_is_buffering.json - SENTRY_REPLAY_IS_BUFFERING: Literal["sentry.replay_is_buffering"] = ( - "sentry.replay_is_buffering" - ) + SENTRY_REPLAY_IS_BUFFERING: Literal["sentry.replay_is_buffering"] = "sentry.replay_is_buffering" """A sentinel attribute on log events indicating whether the current Session Replay is being buffered (onErrorSampleRate). Type: bool @@ -10133,9 +9517,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__sdk__integrations.json - SENTRY_SDK_INTEGRATIONS: Literal["sentry.sdk.integrations"] = ( - "sentry.sdk.integrations" - ) + SENTRY_SDK_INTEGRATIONS: Literal["sentry.sdk.integrations"] = "sentry.sdk.integrations" """A list of names identifying enabled integrations. The list shouldhave all enabled integrations, including default integrations. Defaultintegrations are included because different SDK releases may contain differentdefault integrations. Type: List[str] @@ -10192,9 +9574,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__segment__name__source.json - SENTRY_SEGMENT_NAME_SOURCE: Literal["sentry.segment.name.source"] = ( - "sentry.segment.name.source" - ) + SENTRY_SEGMENT_NAME_SOURCE: Literal["sentry.segment.name.source"] = "sentry.segment.name.source" """The source of the segment span name. Should only be set on segment spans. Type: str @@ -10230,9 +9610,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__server_sample_rate.json - SENTRY_SERVER_SAMPLE_RATE: Literal["sentry.server_sample_rate"] = ( - "sentry.server_sample_rate" - ) + SENTRY_SERVER_SAMPLE_RATE: Literal["sentry.server_sample_rate"] = "sentry.server_sample_rate" """Rate at which a span was sampled in Relay. Type: float @@ -10314,9 +9692,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__sveltekit__navigation__from.json - SENTRY_SVELTEKIT_NAVIGATION_FROM: Literal["sentry.sveltekit.navigation.from"] = ( - "sentry.sveltekit.navigation.from" - ) + SENTRY_SVELTEKIT_NAVIGATION_FROM: Literal["sentry.sveltekit.navigation.from"] = "sentry.sveltekit.navigation.from" """the navigation origin (sveltekit router) Type: str @@ -10329,9 +9705,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__sveltekit__navigation__to.json - SENTRY_SVELTEKIT_NAVIGATION_TO: Literal["sentry.sveltekit.navigation.to"] = ( - "sentry.sveltekit.navigation.to" - ) + SENTRY_SVELTEKIT_NAVIGATION_TO: Literal["sentry.sveltekit.navigation.to"] = "sentry.sveltekit.navigation.to" """the navigation destination Type: str @@ -10343,9 +9717,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__sveltekit__navigation__type.json - SENTRY_SVELTEKIT_NAVIGATION_TYPE: Literal["sentry.sveltekit.navigation.type"] = ( - "sentry.sveltekit.navigation.type" - ) + SENTRY_SVELTEKIT_NAVIGATION_TYPE: Literal["sentry.sveltekit.navigation.type"] = "sentry.sveltekit.navigation.type" """The type of navigation event emitted from the sveltekit client router Type: str @@ -10370,9 +9742,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__timestamp__sequence.json - SENTRY_TIMESTAMP_SEQUENCE: Literal["sentry.timestamp.sequence"] = ( - "sentry.timestamp.sequence" - ) + SENTRY_TIMESTAMP_SEQUENCE: Literal["sentry.timestamp.sequence"] = "sentry.timestamp.sequence" """A sequencing counter for deterministic ordering of logs or metrics when timestamps share the same integer millisecond. Starts at 0 on SDK initialization, increments by 1 for each captured item, and resets to 0 when the integer millisecond of the current item differs from the previous one. Type: int @@ -10383,9 +9753,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__trace__parent_span_id.json - SENTRY_TRACE_PARENT_SPAN_ID: Literal["sentry.trace.parent_span_id"] = ( - "sentry.trace.parent_span_id" - ) + SENTRY_TRACE_PARENT_SPAN_ID: Literal["sentry.trace.parent_span_id"] = "sentry.trace.parent_span_id" """The span id of the span that was active when the log was collected. This should not be set if there was no active span. Type: str @@ -10456,9 +9824,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__user__geo__country_code.json - SENTRY_USER_GEO_COUNTRY_CODE: Literal["sentry.user.geo.country_code"] = ( - "sentry.user.geo.country_code" - ) + SENTRY_USER_GEO_COUNTRY_CODE: Literal["sentry.user.geo.country_code"] = "sentry.user.geo.country_code" """Two-letter country code (ISO 3166-1 alpha-2). Type: str @@ -10482,9 +9848,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__user__geo__subdivision.json - SENTRY_USER_GEO_SUBDIVISION: Literal["sentry.user.geo.subdivision"] = ( - "sentry.user.geo.subdivision" - ) + SENTRY_USER_GEO_SUBDIVISION: Literal["sentry.user.geo.subdivision"] = "sentry.user.geo.subdivision" """Human readable subdivision name. Type: str @@ -10627,9 +9991,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/starlette/starlette__middleware_name.json - STARLETTE_MIDDLEWARE_NAME: Literal["starlette.middleware_name"] = ( - "starlette.middleware_name" - ) + STARLETTE_MIDDLEWARE_NAME: Literal["starlette.middleware_name"] = "starlette.middleware_name" """The name of the Starlette middleware. Type: str @@ -10642,9 +10004,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/starlite/starlite__middleware_name.json - STARLITE_MIDDLEWARE_NAME: Literal["starlite.middleware_name"] = ( - "starlite.middleware_name" - ) + STARLITE_MIDDLEWARE_NAME: Literal["starlite.middleware_name"] = "starlite.middleware_name" """The name of the Starlite middleware. Type: str @@ -10681,9 +10041,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sveltekit/sveltekit__load__environment.json - SVELTEKIT_LOAD_ENVIRONMENT: Literal["sveltekit.load.environment"] = ( - "sveltekit.load.environment" - ) + SVELTEKIT_LOAD_ENVIRONMENT: Literal["sveltekit.load.environment"] = "sveltekit.load.environment" """The runtime environment in which the SvelteKit load function was executed. Known values are `'server'` and `'client'`. Type: str @@ -10707,9 +10065,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sveltekit/sveltekit__load__node_type.json - SVELTEKIT_LOAD_NODE_TYPE: Literal["sveltekit.load.node_type"] = ( - "sveltekit.load.node_type" - ) + SVELTEKIT_LOAD_NODE_TYPE: Literal["sveltekit.load.node_type"] = "sveltekit.load.node_type" """The kind of SvelteKit load function that was executed, distinguishing page from layout and universal from server load functions. Type: str @@ -10722,9 +10078,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sveltekit/sveltekit__tracing__original_name.json - SVELTEKIT_TRACING_ORIGINAL_NAME: Literal["sveltekit.tracing.original_name"] = ( - "sveltekit.tracing.original_name" - ) + SVELTEKIT_TRACING_ORIGINAL_NAME: Literal["sveltekit.tracing.original_name"] = "sveltekit.tracing.original_name" """The original span name as emitted by SvelteKit. Type: str @@ -10781,9 +10135,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/time_to_initial_display.json - TIME_TO_INITIAL_DISPLAY: Literal["time_to_initial_display"] = ( - "time_to_initial_display" - ) + TIME_TO_INITIAL_DISPLAY: Literal["time_to_initial_display"] = "time_to_initial_display" """The duration of time to initial display in milliseconds Type: float @@ -10897,9 +10249,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_module/turbo_module__top_module.json - TURBO_MODULE_TOP_MODULE: Literal["turbo_module.top_module"] = ( - "turbo_module.top_module" - ) + TURBO_MODULE_TOP_MODULE: Literal["turbo_module.top_module"] = "turbo_module.top_module" """The native module and method that accounted for the most total duration during the lifetime of the span. Only applies to React Native. Type: str @@ -10912,9 +10262,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_module/turbo_module__top_module_duration_ms.json - TURBO_MODULE_TOP_MODULE_DURATION_MS: Literal[ - "turbo_module.top_module_duration_ms" - ] = "turbo_module.top_module_duration_ms" + TURBO_MODULE_TOP_MODULE_DURATION_MS: Literal["turbo_module.top_module_duration_ms"] = "turbo_module.top_module_duration_ms" """The total duration attributed to the top native module method, in milliseconds. Only applies to React Native. Type: float @@ -10927,9 +10275,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_module/turbo_module__total_call_count.json - TURBO_MODULE_TOTAL_CALL_COUNT: Literal["turbo_module.total_call_count"] = ( - "turbo_module.total_call_count" - ) + TURBO_MODULE_TOTAL_CALL_COUNT: Literal["turbo_module.total_call_count"] = "turbo_module.total_call_count" """The number of native module calls observed during the lifetime of the span. Only applies to React Native. Type: int @@ -10942,9 +10288,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_module/turbo_module__total_duration_ms.json - TURBO_MODULE_TOTAL_DURATION_MS: Literal["turbo_module.total_duration_ms"] = ( - "turbo_module.total_duration_ms" - ) + TURBO_MODULE_TOTAL_DURATION_MS: Literal["turbo_module.total_duration_ms"] = "turbo_module.total_duration_ms" """The combined duration of all native module calls observed during the lifetime of the span, in milliseconds. Only applies to React Native. Type: float @@ -10957,9 +10301,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_module/turbo_module__total_error_count.json - TURBO_MODULE_TOTAL_ERROR_COUNT: Literal["turbo_module.total_error_count"] = ( - "turbo_module.total_error_count" - ) + TURBO_MODULE_TOTAL_ERROR_COUNT: Literal["turbo_module.total_error_count"] = "turbo_module.total_error_count" """The number of native module calls that failed during the lifetime of the span. Only applies to React Native. Type: int @@ -10972,9 +10314,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_module/turbo_module__unique_methods.json - TURBO_MODULE_UNIQUE_METHODS: Literal["turbo_module.unique_methods"] = ( - "turbo_module.unique_methods" - ) + TURBO_MODULE_UNIQUE_METHODS: Literal["turbo_module.unique_methods"] = "turbo_module.unique_methods" """The number of distinct native module and method pairs called during the lifetime of the span. Only applies to React Native. Type: int @@ -10987,9 +10327,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_modules/turbo_modules__total_call_count.json - TURBO_MODULES_TOTAL_CALL_COUNT: Literal["turbo_modules.total_call_count"] = ( - "turbo_modules.total_call_count" - ) + TURBO_MODULES_TOTAL_CALL_COUNT: Literal["turbo_modules.total_call_count"] = "turbo_modules.total_call_count" """The number of native module calls in the flushed call aggregate. Only applies to React Native. Type: int @@ -11002,9 +10340,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_modules/turbo_modules__total_duration_ms.json - TURBO_MODULES_TOTAL_DURATION_MS: Literal["turbo_modules.total_duration_ms"] = ( - "turbo_modules.total_duration_ms" - ) + TURBO_MODULES_TOTAL_DURATION_MS: Literal["turbo_modules.total_duration_ms"] = "turbo_modules.total_duration_ms" """The combined duration of all native module calls in the flushed call aggregate, in milliseconds. Only applies to React Native. Type: float @@ -11017,9 +10353,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_modules/turbo_modules__total_error_count.json - TURBO_MODULES_TOTAL_ERROR_COUNT: Literal["turbo_modules.total_error_count"] = ( - "turbo_modules.total_error_count" - ) + TURBO_MODULES_TOTAL_ERROR_COUNT: Literal["turbo_modules.total_error_count"] = "turbo_modules.total_error_count" """The number of failed native module calls in the flushed call aggregate. Only applies to React Native. Type: int @@ -11032,9 +10366,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_modules/turbo_modules__unique_methods.json - TURBO_MODULES_UNIQUE_METHODS: Literal["turbo_modules.unique_methods"] = ( - "turbo_modules.unique_methods" - ) + TURBO_MODULES_UNIQUE_METHODS: Literal["turbo_modules.unique_methods"] = "turbo_modules.unique_methods" """The number of distinct native module and method pairs in the flushed call aggregate. Only applies to React Native. Type: int @@ -11235,9 +10567,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/url/url__path__parameter__[key].json - URL_PATH_PARAMETER_KEY: Literal["url.path.parameter."] = ( - "url.path.parameter." - ) + URL_PATH_PARAMETER_KEY: Literal["url.path.parameter."] = "url.path.parameter." """Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router. Type: str @@ -11478,9 +10808,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__ai__telemetry__metadata__[key].json - VERCEL_AI_TELEMETRY_METADATA_KEY: Literal["vercel.ai.telemetry.metadata."] = ( - "vercel.ai.telemetry.metadata." - ) + VERCEL_AI_TELEMETRY_METADATA_KEY: Literal["vercel.ai.telemetry.metadata."] = "vercel.ai.telemetry.metadata." """Metadata passed to a Vercel AI SDK call through `experimental_telemetry.metadata`, with being the metadata key name. Type: str @@ -11558,9 +10886,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__execution_region.json - VERCEL_EXECUTION_REGION: Literal["vercel.execution_region"] = ( - "vercel.execution_region" - ) + VERCEL_EXECUTION_REGION: Literal["vercel.execution_region"] = "vercel.execution_region" """Region where the request is executed Type: str @@ -11681,9 +11007,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__lambda_region.json - VERCEL_PROXY_LAMBDA_REGION: Literal["vercel.proxy.lambda_region"] = ( - "vercel.proxy.lambda_region" - ) + VERCEL_PROXY_LAMBDA_REGION: Literal["vercel.proxy.lambda_region"] = "vercel.proxy.lambda_region" """Region where lambda function executed Type: str @@ -11727,9 +11051,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__path_type_variant.json - VERCEL_PROXY_PATH_TYPE_VARIANT: Literal["vercel.proxy.path_type_variant"] = ( - "vercel.proxy.path_type_variant" - ) + VERCEL_PROXY_PATH_TYPE_VARIANT: Literal["vercel.proxy.path_type_variant"] = "vercel.proxy.path_type_variant" """Variant of the path type Type: str @@ -11762,9 +11084,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__response_byte_size.json - VERCEL_PROXY_RESPONSE_BYTE_SIZE: Literal["vercel.proxy.response_byte_size"] = ( - "vercel.proxy.response_byte_size" - ) + VERCEL_PROXY_RESPONSE_BYTE_SIZE: Literal["vercel.proxy.response_byte_size"] = "vercel.proxy.response_byte_size" """Size of the response in bytes Type: int @@ -11786,9 +11106,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__status_code.json - VERCEL_PROXY_STATUS_CODE: Literal["vercel.proxy.status_code"] = ( - "vercel.proxy.status_code" - ) + VERCEL_PROXY_STATUS_CODE: Literal["vercel.proxy.status_code"] = "vercel.proxy.status_code" """HTTP status code of the proxy request Type: int @@ -11810,9 +11128,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__user_agent.json - VERCEL_PROXY_USER_AGENT: Literal["vercel.proxy.user_agent"] = ( - "vercel.proxy.user_agent" - ) + VERCEL_PROXY_USER_AGENT: Literal["vercel.proxy.user_agent"] = "vercel.proxy.user_agent" """User agent strings of the request Type: List[str] @@ -11823,9 +11139,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__vercel_cache.json - VERCEL_PROXY_VERCEL_CACHE: Literal["vercel.proxy.vercel_cache"] = ( - "vercel.proxy.vercel_cache" - ) + VERCEL_PROXY_VERCEL_CACHE: Literal["vercel.proxy.vercel_cache"] = "vercel.proxy.vercel_cache" """Cache status sent to the browser Type: str @@ -11847,9 +11161,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__waf_action.json - VERCEL_PROXY_WAF_ACTION: Literal["vercel.proxy.waf_action"] = ( - "vercel.proxy.waf_action" - ) + VERCEL_PROXY_WAF_ACTION: Literal["vercel.proxy.waf_action"] = "vercel.proxy.waf_action" """Action taken by firewall rules Type: str @@ -11860,9 +11172,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__waf_rule_id.json - VERCEL_PROXY_WAF_RULE_ID: Literal["vercel.proxy.waf_rule_id"] = ( - "vercel.proxy.waf_rule_id" - ) + VERCEL_PROXY_WAF_RULE_ID: Literal["vercel.proxy.waf_rule_id"] = "vercel.proxy.waf_rule_id" """ID of the firewall rule that matched Type: str @@ -11910,14 +11220,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "address": AttributeMetadata( brief="The destination hostname or IP address for a TCP connection.", type=AttributeType.STRING, - keys=( - "server.address", - "address", - "http.server_name", - "net.host.name", - "server_name", + keys=("server.address", "address", "http.server_name", "net.host.name", "server_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="example.com", @@ -11925,35 +11231,22 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="server.address", reason="Old namespace-less attribute, to be replaced with server.address for span-first future", - status=DeprecationStatus.BACKFILL, - ), - aliases=[ - "server.address", - "http.server_name", - "net.host.name", - "http.host", - "server_name", - "net.peer.name", - ], - changelog=[ - ChangelogEntry( - version="0.24.0", prs=[647], description="Added server_name as an alias" - ), - ChangelogEntry( - version="0.21.0", - prs=[588, 602], - description="Added net.peer.name as an alias", - ), - ChangelogEntry( - version="0.19.0", prs=[534], description="Added address attribute" - ), + status=DeprecationStatus.BACKFILL + ), + aliases=["server.address","http.server_name","net.host.name","http.host","server_name","net.peer.name"], + changelog=[ + ChangelogEntry(version="0.24.0", prs=[647], description="Added server_name as an alias"), + ChangelogEntry(version="0.21.0", prs=[588, 602], description="Added net.peer.name as an alias"), + ChangelogEntry(version="0.19.0", prs=[534], description="Added address attribute"), ], ), "ai.citations": AttributeMetadata( brief="References or sources cited by the AI model in its response.", type=AttributeType.STRING_ARRAY, keys=("ai.citations",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=["Citation 1", "Citation 2"], @@ -11966,19 +11259,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.completion_tokens.used": AttributeMetadata( brief="The number of tokens used to respond to the message.", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.output_tokens", - "ai.completion_tokens.used", - "gen_ai.usage.completion_tokens", + keys=("gen_ai.usage.output_tokens", "ai.completion_tokens.used", "gen_ai.usage.completion_tokens",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=10, deprecation=DeprecationInfo( - replacement="gen_ai.usage.output_tokens", status=DeprecationStatus.BACKFILL + replacement="gen_ai.usage.output_tokens", + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.usage.output_tokens", "gen_ai.usage.completion_tokens"], + aliases=["gen_ai.usage.output_tokens","gen_ai.usage.completion_tokens"], changelog=[ ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[57, 61]), @@ -11989,7 +11281,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Documents or content chunks used as context for the AI model.", type=AttributeType.STRING_ARRAY, keys=("ai.documents",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=["document1.txt", "document2.pdf"], @@ -12002,18 +11296,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.finish_reason": AttributeMetadata( brief="The reason why the model stopped generating.", type=AttributeType.STRING, - keys=( - "gen_ai.response.finish_reasons", - "ai.finish_reason", - "gen_ai.response.finish_reason", + keys=("gen_ai.response.finish_reasons", "ai.finish_reason", "gen_ai.response.finish_reason",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="COMPLETE", deprecation=DeprecationInfo( replacement="gen_ai.response.finish_reasons", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.response.finish_reasons"], changelog=[ @@ -12023,17 +11315,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.frequency_penalty": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=( - "gen_ai.request.frequency_penalty", - "ai.frequency_penalty", + keys=("gen_ai.request.frequency_penalty", "ai.frequency_penalty",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, deprecation=DeprecationInfo( replacement="gen_ai.request.frequency_penalty", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.request.frequency_penalty"], changelog=[ @@ -12044,19 +11335,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.function_call": AttributeMetadata( brief="For an AI model call, the function that was called. This is deprecated for OpenAI, and replaced by tool_calls", type=AttributeType.STRING, - keys=( - "gen_ai.tool.name", - "ai.function_call", - "mcp.tool.name", + keys=("gen_ai.tool.name", "ai.function_call", "mcp.tool.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="function_name", deprecation=DeprecationInfo( - replacement="gen_ai.tool.name", status=DeprecationStatus.BACKFILL + replacement="gen_ai.tool.name", + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.tool.name", "mcp.tool.name"], + aliases=["gen_ai.tool.name","mcp.tool.name"], changelog=[ ChangelogEntry(version="0.1.0", prs=[55, 57, 61, 108]), ], @@ -12064,45 +11354,36 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.generation_id": AttributeMetadata( brief="Unique identifier for the completion.", type=AttributeType.STRING, - keys=( - "gen_ai.response.id", - "ai.generation_id", - "ai.response.id", + keys=("gen_ai.response.id", "ai.generation_id", "ai.response.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="gen_123abc", deprecation=DeprecationInfo( - replacement="gen_ai.response.id", status=DeprecationStatus.BACKFILL + replacement="gen_ai.response.id", + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.response.id", "ai.response.id"], + aliases=["gen_ai.response.id","ai.response.id"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[583], - description="Added ai.response.id as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.id as an alias"), ChangelogEntry(version="0.1.0", prs=[55, 57, 61, 108, 127]), ], ), "ai.input_messages": AttributeMetadata( brief="The input messages sent to the model", type=AttributeType.STRING, - keys=( - "gen_ai.input.messages", - "ai.input_messages", - "ai.prompt", - "ai.prompt.messages", - "ai.texts", - "gen_ai.prompt", + keys=("gen_ai.input.messages", "ai.input_messages", "ai.prompt", "ai.prompt.messages", "ai.texts", "gen_ai.prompt",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example='[{"role": "user", "message": "hello"}]', + example="[{\"role\": \"user\", \"message\": \"hello\"}]", deprecation=DeprecationInfo( - replacement="gen_ai.input.messages", status=DeprecationStatus.BACKFILL + replacement="gen_ai.input.messages", + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.request.messages"], changelog=[ @@ -12114,7 +11395,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Boolean indicating if the model needs to perform a search.", type=AttributeType.BOOLEAN, keys=("ai.is_search_required",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=False, @@ -12128,10 +11411,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Extra metadata passed to an AI pipeline step.", type=AttributeType.STRING, keys=("ai.metadata",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example='{"user_id": 123, "session_id": "abc123"}', + example="{\"user_id\": 123, \"session_id\": \"abc123\"}", deprecation=DeprecationInfo(), changelog=[ ChangelogEntry(version="0.5.0", prs=[264]), @@ -12141,12 +11426,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.model.id": AttributeMetadata( brief="The id of the model used by the Vercel AI SDK.", type=AttributeType.STRING, - keys=( - "gen_ai.request.model", - "ai.model.id", - "ai.model_id", + keys=("gen_ai.request.model", "ai.model.id", "ai.model_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="gpt-4o", @@ -12154,31 +11437,28 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.request.model", reason="This attribute is being deprecated in favor of gen_ai.request.model.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.request.model", "ai.model_id"], + aliases=["gen_ai.request.model","ai.model_id"], changelog=[ - ChangelogEntry( - version="0.21.0", prs=[583], description="Added ai.model.id attribute" - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.model.id attribute"), ], ), "ai.model.provider": AttributeMetadata( brief="The provider of the model.", type=AttributeType.STRING, - keys=( - "gen_ai.provider.name", - "ai.model.provider", - "gen_ai.system", + keys=("gen_ai.provider.name", "ai.model.provider", "gen_ai.system",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="openai", deprecation=DeprecationInfo( - replacement="gen_ai.provider.name", status=DeprecationStatus.BACKFILL + replacement="gen_ai.provider.name", + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.provider.name", "gen_ai.system"], + aliases=["gen_ai.provider.name","gen_ai.system"], changelog=[ ChangelogEntry(version="0.4.0", prs=[253]), ChangelogEntry(version="0.1.0", prs=[57, 61, 108, 127]), @@ -12187,23 +11467,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.model_id": AttributeMetadata( brief="The vendor-specific ID of the model used.", type=AttributeType.STRING, - keys=( - "gen_ai.request.model", - "ai.model.id", - "ai.model_id", + keys=("gen_ai.request.model", "ai.model.id", "ai.model_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="gpt-4", deprecation=DeprecationInfo( - replacement="gen_ai.request.model", status=DeprecationStatus.BACKFILL + replacement="gen_ai.request.model", + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.request.model", "ai.model.id"], + aliases=["gen_ai.request.model","ai.model.id"], changelog=[ - ChangelogEntry( - version="0.21.0", prs=[583], description="Added ai.model.id as an alias" - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.model.id as an alias"), ChangelogEntry(version="0.1.0", prs=[57, 61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -12211,42 +11488,36 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.pipeline.name": AttributeMetadata( brief="The name of the AI pipeline.", type=AttributeType.STRING, - keys=( - "gen_ai.pipeline.name", - "ai.pipeline.name", - "langchain.chain.name", + keys=("gen_ai.pipeline.name", "ai.pipeline.name", "langchain.chain.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Autofix Pipeline", deprecation=DeprecationInfo( - replacement="gen_ai.pipeline.name", status=DeprecationStatus.BACKFILL + replacement="gen_ai.pipeline.name", + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.pipeline.name", "langchain.chain.name"], + aliases=["gen_ai.pipeline.name","langchain.chain.name"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[599], - description="Added langchain.chain.name as an alias", - ), + ChangelogEntry(version="0.22.0", prs=[599], description="Added langchain.chain.name as an alias"), ChangelogEntry(version="0.1.0", prs=[53, 76, 108, 127]), ], ), "ai.preamble": AttributeMetadata( 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=AttributeType.STRING, - keys=( - "gen_ai.system_instructions", - "ai.preamble", - "gen_ai.system.message", + keys=("gen_ai.system_instructions", "ai.preamble", "gen_ai.system.message",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="You are now a clown.", deprecation=DeprecationInfo( - replacement="gen_ai.system_instructions", status=DeprecationStatus.BACKFILL + replacement="gen_ai.system_instructions", + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.system_instructions"], changelog=[ @@ -12257,17 +11528,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.presence_penalty": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=( - "gen_ai.request.presence_penalty", - "ai.presence_penalty", + keys=("gen_ai.request.presence_penalty", "ai.presence_penalty",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, deprecation=DeprecationInfo( replacement="gen_ai.request.presence_penalty", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.request.presence_penalty"], changelog=[ @@ -12278,109 +11548,79 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.prompt": AttributeMetadata( brief="The prompt passed to the Vercel AI SDK, as a stringified object.", type=AttributeType.STRING, - keys=( - "gen_ai.input.messages", - "ai.input_messages", - "ai.prompt", - "ai.prompt.messages", - "ai.texts", - "gen_ai.prompt", + keys=("gen_ai.input.messages", "ai.input_messages", "ai.prompt", "ai.prompt.messages", "ai.texts", "gen_ai.prompt",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example='{"prompt":"What is the weather in Paris?"}', - examples=['{"prompt":"What is the weather in Paris?"}'], + example="{\"prompt\":\"What is the weather in Paris?\"}", + examples=["{\"prompt\":\"What is the weather in Paris?\"}"], deprecation=DeprecationInfo( replacement="gen_ai.input.messages", reason="This attribute is being deprecated in favor of gen_ai.input.messages.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=[ - "gen_ai.input.messages", - "ai.texts", - "ai.prompt.messages", - "gen_ai.prompt", - ], + aliases=["gen_ai.input.messages","ai.texts","ai.prompt.messages","gen_ai.prompt"], changelog=[ - ChangelogEntry( - version="0.21.0", prs=[583], description="Added ai.prompt attribute" - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.prompt attribute"), ], ), "ai.prompt.messages": AttributeMetadata( brief="The input messages sent to the AI model.", type=AttributeType.STRING, - keys=( - "gen_ai.input.messages", - "ai.input_messages", - "ai.prompt", - "ai.prompt.messages", - "ai.texts", - "gen_ai.prompt", + keys=("gen_ai.input.messages", "ai.input_messages", "ai.prompt", "ai.prompt.messages", "ai.texts", "gen_ai.prompt",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example='[{"role": "user", "message": "hello"}]', + example="[{\"role\": \"user\", \"message\": \"hello\"}]", deprecation=DeprecationInfo( - replacement="gen_ai.input.messages", status=DeprecationStatus.BACKFILL + replacement="gen_ai.input.messages", + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.input.messages", "ai.texts", "gen_ai.prompt", "ai.prompt"], + aliases=["gen_ai.input.messages","ai.texts","gen_ai.prompt","ai.prompt"], changelog=[ - ChangelogEntry( - version="0.21.0", prs=[583], description="Added ai.prompt as an alias" - ), - ChangelogEntry( - version="0.19.0", - prs=[498], - description="Added ai.prompt.messages attribute", - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.prompt as an alias"), + ChangelogEntry(version="0.19.0", prs=[498], description="Added ai.prompt.messages attribute"), ], ), "ai.prompt.tools": AttributeMetadata( brief="The tools made available to the model, as an array of stringified tool definitions.", type=AttributeType.STRING_ARRAY, - keys=( - "gen_ai.tool.definitions", - "ai.prompt.tools", - "ai.tools", - "gen_ai.request.available_tools", + keys=("gen_ai.tool.definitions", "ai.prompt.tools", "ai.tools", "gen_ai.request.available_tools",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example=['{"type":"function","name":"get_weather"}'], - examples=[['{"type":"function","name":"get_weather"}']], + example=["{\"type\":\"function\",\"name\":\"get_weather\"}"], + examples=[["{\"type\":\"function\",\"name\":\"get_weather\"}"]], deprecation=DeprecationInfo( replacement="gen_ai.tool.definitions", reason="This attribute is being deprecated in favor of gen_ai.tool.definitions.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[583], - description="Added ai.prompt.tools attribute", - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.prompt.tools attribute"), ], ), "ai.prompt_tokens.used": AttributeMetadata( brief="The number of tokens used to process just the prompt.", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.input_tokens", - "ai.prompt_tokens.used", - "gen_ai.usage.prompt_tokens", + keys=("gen_ai.usage.input_tokens", "ai.prompt_tokens.used", "gen_ai.usage.prompt_tokens",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=20, deprecation=DeprecationInfo( - replacement="gen_ai.usage.input_tokens", status=DeprecationStatus.BACKFILL + replacement="gen_ai.usage.input_tokens", + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.usage.prompt_tokens", "gen_ai.usage.input_tokens"], + aliases=["gen_ai.usage.prompt_tokens","gen_ai.usage.input_tokens"], changelog=[ ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[57, 61]), @@ -12391,7 +11631,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="When enabled, the user’s prompt will be sent to the model without any pre-processing.", type=AttributeType.BOOLEAN, keys=("ai.raw_prompting",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -12404,12 +11646,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.response.id": AttributeMetadata( brief="The id of the response returned by the model.", type=AttributeType.STRING, - keys=( - "gen_ai.response.id", - "ai.generation_id", - "ai.response.id", + keys=("gen_ai.response.id", "ai.generation_id", "ai.response.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="chatcmpl-BuKJgVSKAMTUYbBSjHTMUuNGKzOPY", @@ -12417,25 +11657,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.response.id", reason="This attribute is being deprecated in favor of gen_ai.response.id.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.response.id", "ai.generation_id"], + aliases=["gen_ai.response.id","ai.generation_id"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[583], - description="Added ai.response.id attribute", - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.id attribute"), ], ), "ai.response.model": AttributeMetadata( brief="The id of the model that produced the response.", type=AttributeType.STRING, - keys=( - "gen_ai.response.model", - "ai.response.model", + keys=("gen_ai.response.model", "ai.response.model",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="gpt-4o-2024-08-06", @@ -12443,22 +11678,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.response.model", reason="This attribute is being deprecated in favor of gen_ai.response.model.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.response.model"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[583], - description="Added ai.response.model attribute", - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.model attribute"), ], ), "ai.response.object": AttributeMetadata( brief="The type of the object returned by the model.", type=AttributeType.STRING, keys=("ai.response.object",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="chat.completion", @@ -12467,44 +11700,35 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is deprecated. The Sentry conventions have no replacement for the raw Vercel AI response object type." ), changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[583], - description="Added ai.response.object attribute", - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.object attribute"), ], ), "ai.response.text": AttributeMetadata( brief="The text response from the AI model.", type=AttributeType.STRING, - keys=( - "gen_ai.output.messages", - "ai.response.text", - "ai.response.toolCalls", - "ai.responses", - "ai.tool_calls", + keys=("gen_ai.output.messages", "ai.response.text", "ai.response.toolCalls", "ai.responses", "ai.tool_calls",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="The weather in Paris is currently rainy.", deprecation=DeprecationInfo( - replacement="gen_ai.output.messages", status=DeprecationStatus.BACKFILL + replacement="gen_ai.output.messages", + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.output.messages", "ai.response.toolCalls"], + aliases=["gen_ai.output.messages","ai.response.toolCalls"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[498], - description="Added ai.response.text attribute", - ), + ChangelogEntry(version="0.19.0", prs=[498], description="Added ai.response.text attribute"), ], ), "ai.response.timestamp": AttributeMetadata( brief="The ISO 8601 timestamp at which the response was produced.", type=AttributeType.STRING, keys=("ai.response.timestamp",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="2026-02-19T15:32:11.000Z", @@ -12513,44 +11737,35 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is deprecated. The span start and end timestamps carry the same information." ), changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[583], - description="Added ai.response.timestamp attribute", - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.timestamp attribute"), ], ), "ai.response.toolCalls": AttributeMetadata( brief="The tool calls in the AI model response.", type=AttributeType.STRING, - keys=( - "gen_ai.output.messages", - "ai.response.text", - "ai.response.toolCalls", - "ai.responses", - "ai.tool_calls", + keys=("gen_ai.output.messages", "ai.response.text", "ai.response.toolCalls", "ai.responses", "ai.tool_calls",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example='[{"name": "get_weather", "arguments": {"location": "Paris"}}]', + example="[{\"name\": \"get_weather\", \"arguments\": {\"location\": \"Paris\"}}]", deprecation=DeprecationInfo( - replacement="gen_ai.output.messages", status=DeprecationStatus.BACKFILL + replacement="gen_ai.output.messages", + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.output.messages", "ai.response.text"], + aliases=["gen_ai.output.messages","ai.response.text"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[498], - description="Added ai.response.toolCalls attribute", - ), + ChangelogEntry(version="0.19.0", prs=[498], description="Added ai.response.toolCalls attribute"), ], ), "ai.response_format": AttributeMetadata( brief="For an AI model call, the format of the response", type=AttributeType.STRING, keys=("ai.response_format",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="json_object", @@ -12563,19 +11778,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.responses": AttributeMetadata( brief="The response messages sent back by the AI model.", type=AttributeType.STRING_ARRAY, - keys=( - "gen_ai.output.messages", - "ai.response.text", - "ai.response.toolCalls", - "ai.responses", - "ai.tool_calls", + keys=("gen_ai.output.messages", "ai.response.text", "ai.response.toolCalls", "ai.responses", "ai.tool_calls",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=["hello", "world"], deprecation=DeprecationInfo( - replacement="gen_ai.output.messages", status=DeprecationStatus.BACKFILL + replacement="gen_ai.output.messages", + status=DeprecationStatus.BACKFILL ), changelog=[ ChangelogEntry(version="0.1.0", prs=[65, 127]), @@ -12586,25 +11798,27 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The stringified JSON schema the model output must conform to.", type=AttributeType.STRING, keys=("ai.schema",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example='{"type":"object","properties":{"city":{"type":"string"}}}', - examples=['{"type":"object","properties":{"city":{"type":"string"}}}'], + example="{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}}}", + examples=["{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}}}"], deprecation=DeprecationInfo( reason="This attribute is deprecated. The Sentry conventions have no replacement for the requested output schema." ), changelog=[ - ChangelogEntry( - version="0.21.0", prs=[583], description="Added ai.schema attribute" - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.schema attribute"), ], ), "ai.search_queries": AttributeMetadata( brief="Queries used to search for relevant context or documents.", type=AttributeType.STRING_ARRAY, keys=("ai.search_queries",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=["climate change effects", "renewable energy"], @@ -12618,7 +11832,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Results returned from search queries for context.", type=AttributeType.STRING_ARRAY, keys=("ai.search_results",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=["search_result_1, search_result_2"], @@ -12631,16 +11847,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.seed": AttributeMetadata( brief="The seed, ideally models given the same seed and same other parameters will produce the exact same output.", type=AttributeType.STRING, - keys=( - "gen_ai.request.seed", - "ai.seed", + keys=("gen_ai.request.seed", "ai.seed",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1234567890", deprecation=DeprecationInfo( - replacement="gen_ai.request.seed", status=DeprecationStatus.BACKFILL + replacement="gen_ai.request.seed", + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.request.seed"], changelog=[ @@ -12650,16 +11866,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.streaming": AttributeMetadata( brief="Whether the request was streamed back.", type=AttributeType.BOOLEAN, - keys=( - "gen_ai.response.streaming", - "ai.streaming", + keys=("gen_ai.response.streaming", "ai.streaming",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, deprecation=DeprecationInfo( - replacement="gen_ai.response.streaming", status=DeprecationStatus.BACKFILL + replacement="gen_ai.response.streaming", + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.response.streaming"], changelog=[ @@ -12671,10 +11887,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Tags that describe an AI pipeline step.", type=AttributeType.STRING, keys=("ai.tags",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example='{"executed_function": "add_integers"}', + example="{\"executed_function\": \"add_integers\"}", deprecation=DeprecationInfo(), changelog=[ ChangelogEntry(version="0.5.0", prs=[264]), @@ -12684,16 +11902,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.temperature": AttributeMetadata( brief="For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.", type=AttributeType.DOUBLE, - keys=( - "gen_ai.request.temperature", - "ai.temperature", + keys=("gen_ai.request.temperature", "ai.temperature",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.1, deprecation=DeprecationInfo( - replacement="gen_ai.request.temperature", status=DeprecationStatus.BACKFILL + replacement="gen_ai.request.temperature", + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.request.temperature"], changelog=[ @@ -12704,31 +11922,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.texts": AttributeMetadata( brief="Raw text inputs provided to the model.", type=AttributeType.STRING_ARRAY, - keys=( - "gen_ai.input.messages", - "ai.input_messages", - "ai.prompt", - "ai.prompt.messages", - "ai.texts", - "gen_ai.prompt", + keys=("gen_ai.input.messages", "ai.input_messages", "ai.prompt", "ai.prompt.messages", "ai.texts", "gen_ai.prompt",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example=["Hello, how are you?", "What is the capital of France?"], deprecation=DeprecationInfo( - replacement="gen_ai.input.messages", status=DeprecationStatus.BACKFILL + replacement="gen_ai.input.messages", + status=DeprecationStatus.BACKFILL ), - aliases=[ - "gen_ai.input.messages", - "ai.prompt.messages", - "gen_ai.prompt", - "ai.prompt", - ], + aliases=["gen_ai.input.messages","ai.prompt.messages","gen_ai.prompt","ai.prompt"], changelog=[ - ChangelogEntry( - version="0.21.0", prs=[583], description="Added ai.prompt as an alias" - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.prompt as an alias"), ChangelogEntry(version="0.5.0", prs=[264]), ChangelogEntry(version="0.1.0", prs=[55]), ], @@ -12736,76 +11943,54 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.toolCall.args": AttributeMetadata( brief="The arguments of the tool call.", type=AttributeType.STRING, - keys=( - "gen_ai.tool.call.arguments", - "ai.toolCall.args", - "gen_ai.tool.input", + keys=("gen_ai.tool.call.arguments", "ai.toolCall.args", "gen_ai.tool.input",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example='{"location": "Paris"}', + example="{\"location\": \"Paris\"}", deprecation=DeprecationInfo( - replacement="gen_ai.tool.call.arguments", status=DeprecationStatus.BACKFILL + replacement="gen_ai.tool.call.arguments", + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.tool.call.arguments", "gen_ai.tool.input"], + aliases=["gen_ai.tool.call.arguments","gen_ai.tool.input"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[498], - description="Added ai.toolCall.args attribute", - ), + ChangelogEntry(version="0.19.0", prs=[498], description="Added ai.toolCall.args attribute"), ], ), "ai.toolCall.result": AttributeMetadata( brief="The result of the tool call.", type=AttributeType.STRING, - keys=( - "gen_ai.tool.call.result", - "ai.toolCall.result", - "anthropic.tool_result.content", - "gen_ai.tool.message", - "gen_ai.tool.output", - "mcp.tool.result.content", + keys=("gen_ai.tool.call.result", "ai.toolCall.result", "anthropic.tool_result.content", "gen_ai.tool.message", "gen_ai.tool.output", "mcp.tool.result.content",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="rainy, 57°F", deprecation=DeprecationInfo( - replacement="gen_ai.tool.call.result", status=DeprecationStatus.BACKFILL + replacement="gen_ai.tool.call.result", + status=DeprecationStatus.BACKFILL ), - aliases=[ - "gen_ai.tool.call.result", - "gen_ai.tool.output", - "gen_ai.tool.message", - "mcp.tool.result.content", - "anthropic.tool_result.content", - ], + aliases=["gen_ai.tool.call.result","gen_ai.tool.output","gen_ai.tool.message","mcp.tool.result.content","anthropic.tool_result.content"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[498], - description="Added ai.toolCall.result attribute", - ), + ChangelogEntry(version="0.19.0", prs=[498], description="Added ai.toolCall.result attribute"), ], ), "ai.tool_calls": AttributeMetadata( brief="For an AI model call, the tool calls that were made.", type=AttributeType.STRING_ARRAY, - keys=( - "gen_ai.output.messages", - "ai.response.text", - "ai.response.toolCalls", - "ai.responses", - "ai.tool_calls", + keys=("gen_ai.output.messages", "ai.response.text", "ai.response.toolCalls", "ai.responses", "ai.tool_calls",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example=["tool_call_1", "tool_call_2"], deprecation=DeprecationInfo( - replacement="gen_ai.output.messages", status=DeprecationStatus.BACKFILL + replacement="gen_ai.output.messages", + status=DeprecationStatus.BACKFILL ), changelog=[ ChangelogEntry(version="0.1.0", prs=[55, 65]), @@ -12814,18 +11999,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.tools": AttributeMetadata( brief="For an AI model call, the functions that are available", type=AttributeType.STRING_ARRAY, - keys=( - "gen_ai.tool.definitions", - "ai.prompt.tools", - "ai.tools", - "gen_ai.request.available_tools", + keys=("gen_ai.tool.definitions", "ai.prompt.tools", "ai.tools", "gen_ai.request.available_tools",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=["function_1", "function_2"], deprecation=DeprecationInfo( - replacement="gen_ai.tool.definitions", status=DeprecationStatus.BACKFILL + replacement="gen_ai.tool.definitions", + status=DeprecationStatus.BACKFILL ), changelog=[ ChangelogEntry(version="0.1.0", prs=[55, 65, 127]), @@ -12834,16 +12017,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.top_k": AttributeMetadata( 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=AttributeType.INTEGER, - keys=( - "gen_ai.request.top_k", - "ai.top_k", + keys=("gen_ai.request.top_k", "ai.top_k",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=35, deprecation=DeprecationInfo( - replacement="gen_ai.request.top_k", status=DeprecationStatus.BACKFILL + replacement="gen_ai.request.top_k", + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.request.top_k"], changelog=[ @@ -12854,16 +12037,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.top_p": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=( - "gen_ai.request.top_p", - "ai.top_p", + keys=("gen_ai.request.top_p", "ai.top_p",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.7, deprecation=DeprecationInfo( - replacement="gen_ai.request.top_p", status=DeprecationStatus.BACKFILL + replacement="gen_ai.request.top_p", + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.request.top_p"], changelog=[ @@ -12874,16 +12057,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.total_cost": AttributeMetadata( brief="The total cost for the tokens used.", type=AttributeType.DOUBLE, - keys=( - "gen_ai.cost.total_tokens", - "ai.total_cost", + keys=("gen_ai.cost.total_tokens", "ai.total_cost",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=12.34, deprecation=DeprecationInfo( - replacement="gen_ai.cost.total_tokens", status=DeprecationStatus.BACKFILL + replacement="gen_ai.cost.total_tokens", + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.cost.total_tokens"], changelog=[ @@ -12891,30 +12074,28 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[53]), ], - search_alias=SearchAlias(name="ai.total_cost", type="currency"), + search_alias=SearchAlias( + name="ai.total_cost", + type="currency" + ), ), "ai.total_tokens.used": AttributeMetadata( brief="The total number of tokens used to process the prompt.", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.total_tokens", - "ai.total_tokens.used", - "ai.usage.tokens", + keys=("gen_ai.usage.total_tokens", "ai.total_tokens.used", "ai.usage.tokens",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=30, deprecation=DeprecationInfo( - replacement="gen_ai.usage.total_tokens", status=DeprecationStatus.BACKFILL + replacement="gen_ai.usage.total_tokens", + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.usage.total_tokens", "ai.usage.tokens"], + aliases=["gen_ai.usage.total_tokens","ai.usage.tokens"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[583], - description="Added ai.usage.tokens as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.usage.tokens as an alias"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[57, 61, 108]), ChangelogEntry(version="0.0.0"), @@ -12923,12 +12104,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.usage.tokens": AttributeMetadata( brief="The total number of tokens used for the request and the response.", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.total_tokens", - "ai.total_tokens.used", - "ai.usage.tokens", + keys=("gen_ai.usage.total_tokens", "ai.total_tokens.used", "ai.usage.tokens",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=150, @@ -12936,40 +12115,38 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.usage.total_tokens", reason="This attribute is being deprecated in favor of gen_ai.usage.total_tokens.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.usage.total_tokens", "ai.total_tokens.used"], + aliases=["gen_ai.usage.total_tokens","ai.total_tokens.used"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[583], - description="Added ai.usage.tokens attribute", - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.usage.tokens attribute"), ], ), "ai.values": AttributeMetadata( brief="The stringified values produced by a Vercel AI SDK object or array generation.", type=AttributeType.STRING, keys=("ai.values",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example='[{"city":"Paris"}]', - examples=['[{"city":"Paris"}]'], + example="[{\"city\":\"Paris\"}]", + examples=["[{\"city\":\"Paris\"}]"], deprecation=DeprecationInfo( reason="This attribute is deprecated. Use gen_ai.output.messages for model output instead." ), changelog=[ - ChangelogEntry( - version="0.21.0", prs=[583], description="Added ai.values attribute" - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.values attribute"), ], ), "ai.warnings": AttributeMetadata( brief="Warning messages generated during model execution.", type=AttributeType.STRING_ARRAY, keys=("ai.warnings",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=["Token limit exceeded"], @@ -12983,30 +12160,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The version of the Angular framework", type=AttributeType.STRING, keys=("angular.version",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="17.1.0", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[367], - description="Added angular.version attribute", - ), + ChangelogEntry(version="0.7.0", prs=[367], description="Added angular.version attribute"), ], ), "anthropic.tool_result.content": AttributeMetadata( brief="The content of the tool result.", type=AttributeType.STRING, - keys=( - "gen_ai.tool.call.result", - "ai.toolCall.result", - "anthropic.tool_result.content", - "gen_ai.tool.message", - "gen_ai.tool.output", - "mcp.tool.result.content", + keys=("gen_ai.tool.call.result", "ai.toolCall.result", "anthropic.tool_result.content", "gen_ai.tool.message", "gen_ai.tool.output", "mcp.tool.result.content",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="rainy, 57°F", @@ -13014,632 +12184,480 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.tool.call.result", reason="Use gen_ai.tool.call.result for tool results.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=[ - "gen_ai.tool.call.result", - "gen_ai.tool.output", - "gen_ai.tool.message", - "mcp.tool.result.content", - "ai.toolCall.result", - ], + aliases=["gen_ai.tool.call.result","gen_ai.tool.output","gen_ai.tool.message","mcp.tool.result.content","ai.toolCall.result"], changelog=[ - ChangelogEntry( - version="0.26.0", - prs=[660], - description="Added anthropic.tool_result.content attribute, deprecated in favor of gen_ai.tool.call.result", - ), + ChangelogEntry(version="0.26.0", prs=[660], description="Added anthropic.tool_result.content attribute, deprecated in favor of gen_ai.tool.call.result"), ], ), "app.app_build": AttributeMetadata( brief="Internal build identifier, as it appears on the platform.", type=AttributeType.STRING, - keys=( - "app.build", - "app.app_build", + keys=("app.build", "app.app_build",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1", deprecation=DeprecationInfo( replacement="app.build", reason="Deprecated in favor of app.build", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.build"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[296], - description="Added and deprecated app.app_build in favor of app.build", - ), + ChangelogEntry(version="0.5.0", prs=[296], description="Added and deprecated app.app_build in favor of app.build"), ], ), "app.app_identifier": AttributeMetadata( brief="Version-independent application identifier, often a dotted bundle ID.", type=AttributeType.STRING, - keys=( - "app.identifier", - "app.app_identifier", + keys=("app.identifier", "app.app_identifier",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="com.example.myapp", deprecation=DeprecationInfo( replacement="app.identifier", reason="Deprecated in favor of app.identifier", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.identifier"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[296], - description="Added and deprecated app.app_identifier in favor of app.identifier", - ), + ChangelogEntry(version="0.5.0", prs=[296], description="Added and deprecated app.app_identifier in favor of app.identifier"), ], ), "app.app_name": AttributeMetadata( brief="Human readable application name, as it appears on the platform.", type=AttributeType.STRING, - keys=( - "app.name", - "app.app_name", + keys=("app.name", "app.app_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="My App", deprecation=DeprecationInfo( replacement="app.name", reason="Deprecated in favor of app.name", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.name"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[296], - description="Added and deprecated app.app_name in favor of app.name", - ), + ChangelogEntry(version="0.5.0", prs=[296], description="Added and deprecated app.app_name in favor of app.name"), ], ), "app.app_start_time": AttributeMetadata( brief="Formatted UTC timestamp when the user started the application.", type=AttributeType.STRING, - keys=( - "app.start_time", - "app.app_start_time", + keys=("app.start_time", "app.app_start_time",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="2025-01-01T00:00:00.000Z", deprecation=DeprecationInfo( replacement="app.start_time", reason="Deprecated in favor of app.start_time", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.start_time"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[296], - description="Added and deprecated app.app_start_time in favor of app.start_time", - ), + ChangelogEntry(version="0.5.0", prs=[296], description="Added and deprecated app.app_start_time in favor of app.start_time"), ], ), "app.app_version": AttributeMetadata( brief="Human readable application version, as it appears on the platform.", type=AttributeType.STRING, - keys=( - "app.version", - "app.app_version", + keys=("app.version", "app.app_version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1.0.0", deprecation=DeprecationInfo( replacement="app.version", reason="Deprecated in favor of app.version", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.version"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[296], - description="Added and deprecated app.app_version in favor of app.version", - ), + ChangelogEntry(version="0.5.0", prs=[296], description="Added and deprecated app.app_version in favor of app.version"), ], ), "app.build": AttributeMetadata( brief="Internal build identifier, as it appears on the platform.", type=AttributeType.STRING, - keys=( - "app.build", - "app.app_build", + keys=("app.build", "app.app_build",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1", aliases=["app.app_build"], changelog=[ - ChangelogEntry( - version="0.5.0", prs=[296], description="Added app.build attribute" - ), + ChangelogEntry(version="0.5.0", prs=[296], description="Added app.build attribute"), ], ), "app.identifier": AttributeMetadata( brief="Version-independent application identifier, often a dotted bundle ID.", type=AttributeType.STRING, - keys=( - "app.identifier", - "app.app_identifier", + keys=("app.identifier", "app.app_identifier",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="com.example.myapp", aliases=["app.app_identifier"], changelog=[ - ChangelogEntry( - version="0.5.0", prs=[296], description="Added app.identifier attribute" - ), + ChangelogEntry(version="0.5.0", prs=[296], description="Added app.identifier attribute"), ], ), "app.in_foreground": AttributeMetadata( brief="Whether the application is currently in the foreground.", type=AttributeType.BOOLEAN, keys=("app.in_foreground",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[296], - description="Added app.in_foreground attribute", - ), + ChangelogEntry(version="0.5.0", prs=[296], description="Added app.in_foreground attribute"), ], ), "app.name": AttributeMetadata( brief="Human readable application name, as it appears on the platform.", type=AttributeType.STRING, - keys=( - "app.name", - "app.app_name", + keys=("app.name", "app.app_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="My App", aliases=["app.app_name"], changelog=[ - ChangelogEntry( - version="0.5.0", prs=[296], description="Added app.name attribute" - ), + ChangelogEntry(version="0.5.0", prs=[296], description="Added app.name attribute"), ], ), "app.start_time": AttributeMetadata( brief="Formatted UTC timestamp when the user started the application.", type=AttributeType.STRING, - keys=( - "app.start_time", - "app.app_start_time", + keys=("app.start_time", "app.app_start_time",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="2025-01-01T00:00:00.000Z", aliases=["app.app_start_time"], changelog=[ - ChangelogEntry( - version="0.5.0", prs=[296], description="Added app.start_time attribute" - ), + ChangelogEntry(version="0.5.0", prs=[296], description="Added app.start_time attribute"), ], ), "app.version": AttributeMetadata( brief="Human readable application version, as it appears on the platform.", type=AttributeType.STRING, - keys=( - "app.version", - "app.app_version", + keys=("app.version", "app.app_version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1.0.0", aliases=["app.app_version"], changelog=[ - ChangelogEntry( - version="0.5.0", prs=[296], description="Added app.version attribute" - ), + ChangelogEntry(version="0.5.0", prs=[296], description="Added app.version attribute"), ], ), "app.vitals.frames.delay.value": AttributeMetadata( 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=AttributeType.INTEGER, - keys=( - "app.vitals.frames.delay.value", - "frames.delay", - "mobile.frames_delay", + keys=("app.vitals.frames.delay.value", "frames.delay", "mobile.frames_delay",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=5, aliases=["frames.delay"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Added app.vitals.frames.delay.value to replace frames.delay", - ), + ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.frames.delay.value to replace frames.delay"), ], ), "app.vitals.frames.frozen.count": AttributeMetadata( brief="The number of frozen frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=( - "app.vitals.frames.frozen.count", - "frames.frozen", - "mobile.frozen_frames", - "sentry.frames.frozen", + keys=("app.vitals.frames.frozen.count", "frames.frozen", "mobile.frozen_frames", "sentry.frames.frozen",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=3, - aliases=["frames.frozen", "sentry.frames.frozen"], + aliases=["frames.frozen","sentry.frames.frozen"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[500], - description="Added sentry.frames.frozen as an alias", - ), - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Added app.vitals.frames.frozen.count to replace frames.frozen", - ), + ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.frozen as an alias"), + ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.frames.frozen.count to replace frames.frozen"), ], ), "app.vitals.frames.frozen.rate": AttributeMetadata( brief="The fraction of rendered frames that were frozen, calculated as `app.vitals.frames.frozen.count` divided by `app.vitals.frames.total.count`. This is computed by Relay.", type=AttributeType.DOUBLE, - keys=( - "app.vitals.frames.frozen.rate", - "frames_frozen_rate", + keys=("app.vitals.frames.frozen.rate", "frames_frozen_rate",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, aliases=["frames_frozen_rate"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[493], - description="Added app.vitals.frames.frozen.rate attribute", - ), + ChangelogEntry(version="0.19.0", prs=[493], description="Added app.vitals.frames.frozen.rate attribute"), ], ), "app.vitals.frames.slow.count": AttributeMetadata( brief="The number of slow frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=( - "app.vitals.frames.slow.count", - "frames.slow", - "mobile.slow_frames", - "sentry.frames.slow", + keys=("app.vitals.frames.slow.count", "frames.slow", "mobile.slow_frames", "sentry.frames.slow",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, - aliases=["frames.slow", "sentry.frames.slow"], + aliases=["frames.slow","sentry.frames.slow"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[500], - description="Added sentry.frames.slow as an alias", - ), - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Added app.vitals.frames.slow.count to replace frames.slow", - ), + ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.slow as an alias"), + ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.frames.slow.count to replace frames.slow"), ], ), "app.vitals.frames.slow.rate": AttributeMetadata( brief="The fraction of rendered frames that were slow, calculated as `app.vitals.frames.slow.count` divided by `app.vitals.frames.total.count`. This is computed by Relay.", type=AttributeType.DOUBLE, - keys=( - "app.vitals.frames.slow.rate", - "frames_slow_rate", + keys=("app.vitals.frames.slow.rate", "frames_slow_rate",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.25, aliases=["frames_slow_rate"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[493], - description="Added app.vitals.frames.slow.rate attribute", - ), + ChangelogEntry(version="0.19.0", prs=[493], description="Added app.vitals.frames.slow.rate attribute"), ], ), "app.vitals.frames.total.count": AttributeMetadata( brief="The number of total frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=( - "app.vitals.frames.total.count", - "frames.total", - "mobile.total_frames", - "sentry.frames.total", + keys=("app.vitals.frames.total.count", "frames.total", "mobile.total_frames", "sentry.frames.total",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=60, - aliases=["frames.total", "sentry.frames.total"], + aliases=["frames.total","sentry.frames.total"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[500], - description="Added sentry.frames.total as an alias", - ), - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Added app.vitals.frames.total.count to replace frames.total", - ), + ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.total as an alias"), + ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.frames.total.count to replace frames.total"), ], ), "app.vitals.stall.duration": AttributeMetadata( brief="The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay.", type=AttributeType.DOUBLE, - keys=( - "app.vitals.stall.duration", - "stall_total_time", + keys=("app.vitals.stall.duration", "stall_total_time",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=4000, aliases=["stall_total_time"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[493], - description="Added app.vitals.stall.duration attribute", - ), + ChangelogEntry(version="0.19.0", prs=[493], description="Added app.vitals.stall.duration attribute"), ], ), "app.vitals.stall.percentage": AttributeMetadata( brief="The fraction of transaction duration during which the app was stalled, between 0.0 and 1.0. For example, 0.8 represents 80%. Only applies to React Native. This is computed by Relay.", type=AttributeType.DOUBLE, - keys=( - "app.vitals.stall.percentage", - "stall_percentage", + keys=("app.vitals.stall.percentage", "stall_percentage",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.8, aliases=["stall_percentage"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[493], - description="Added app.vitals.stall.percentage attribute", - ), + ChangelogEntry(version="0.19.0", prs=[493], description="Added app.vitals.stall.percentage attribute"), ], ), "app.vitals.start.cold.value": AttributeMetadata( brief="The duration of a cold app start in milliseconds", type=AttributeType.DOUBLE, - keys=( - "app.vitals.start.cold.value", - "app_start_cold", + keys=("app.vitals.start.cold.value", "app_start_cold",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, aliases=["app_start_cold"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Added app.vitals.start.cold.value attribute", - ), + ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.start.cold.value attribute"), ], ), "app.vitals.start.prewarmed": AttributeMetadata( brief="Whether the app start was prewarmed.", type=AttributeType.BOOLEAN, keys=("app.vitals.start.prewarmed",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[379], - description="Added app.vitals.start.prewarmed attribute", - ), + ChangelogEntry(version="0.11.0", prs=[379], description="Added app.vitals.start.prewarmed attribute"), ], ), "app.vitals.start.reason": AttributeMetadata( brief="The reason that triggered the app start.", type=AttributeType.STRING, keys=("app.vitals.start.reason",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="push", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[353], - description="Added app.vitals.start.reason attribute", - ), + ChangelogEntry(version="0.7.0", prs=[353], description="Added app.vitals.start.reason attribute"), ], ), "app.vitals.start.screen": AttributeMetadata( brief="The screen that is rendered when the app start is complete. This is the screen the user first sees and can interact with after launch. The absence of this attribute on the app start span indicates a background app start where no UI was rendered.", type=AttributeType.STRING, keys=("app.vitals.start.screen",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="MainActivity", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[353], - description="Added app.vitals.start.screen attribute", - ), + ChangelogEntry(version="0.7.0", prs=[353], description="Added app.vitals.start.screen attribute"), ], ), "app.vitals.start.type": AttributeMetadata( brief="The type of app start, for example `cold` or `warm`", type=AttributeType.STRING, - keys=( - "app.vitals.start.type", - "app_start_type", + keys=("app.vitals.start.type", "app_start_type",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="cold", aliases=["app_start_type"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Added app.vitals.start.type attribute", - ), + ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.start.type attribute"), ], ), "app.vitals.start.warm.value": AttributeMetadata( brief="The duration of a warm app start in milliseconds", type=AttributeType.DOUBLE, - keys=( - "app.vitals.start.warm.value", - "app_start_warm", + keys=("app.vitals.start.warm.value", "app_start_warm",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, aliases=["app_start_warm"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Added app.vitals.start.warm.value attribute", - ), + ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.start.warm.value attribute"), ], ), "app.vitals.ttfd.value": AttributeMetadata( brief="The duration of time to full display in milliseconds", type=AttributeType.DOUBLE, - keys=( - "app.vitals.ttfd.value", - "time_to_full_display", + keys=("app.vitals.ttfd.value", "time_to_full_display",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, aliases=["time_to_full_display"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Added app.vitals.ttfd.value attribute", - ), + ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.ttfd.value attribute"), ], ), "app.vitals.ttid.value": AttributeMetadata( brief="The duration of time to initial display in milliseconds", type=AttributeType.DOUBLE, - keys=( - "app.vitals.ttid.value", - "time_to_initial_display", + keys=("app.vitals.ttid.value", "time_to_initial_display",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, aliases=["time_to_initial_display"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Added app.vitals.ttid.value attribute", - ), + ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.ttid.value attribute"), ], ), "app_start_cold": AttributeMetadata( brief="The duration of a cold app start in milliseconds", type=AttributeType.DOUBLE, - keys=( - "app.vitals.start.cold.value", - "app_start_cold", + keys=("app.vitals.start.cold.value", "app_start_cold",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.vitals.start.cold.value"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[323], - description="Added and deprecated in favor of app.vitals.start.cold.value", - ), + ChangelogEntry(version="0.5.0", prs=[323], description="Added and deprecated in favor of app.vitals.start.cold.value"), ], ), "app_start_type": AttributeMetadata( brief="Mobile app start variant. Either cold or warm.", type=AttributeType.STRING, - keys=( - "app.vitals.start.type", - "app_start_type", + keys=("app.vitals.start.type", "app_start_type",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="cold", deprecation=DeprecationInfo( replacement="app.vitals.start.type", reason="Replaced by app.vitals.start.type to align with the app.vitals.* namespace for mobile performance attributes", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.vitals.start.type"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Deprecated in favor of app.vitals.start.type", - ), + ChangelogEntry(version="0.5.0", prs=[313], description="Deprecated in favor of app.vitals.start.type"), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -13647,798 +12665,663 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "app_start_warm": AttributeMetadata( brief="The duration of a warm app start in milliseconds", type=AttributeType.DOUBLE, - keys=( - "app.vitals.start.warm.value", - "app_start_warm", + keys=("app.vitals.start.warm.value", "app_start_warm",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.vitals.start.warm.value"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[323], - description="Added and deprecated in favor of app.vitals.start.warm.value", - ), + ChangelogEntry(version="0.5.0", prs=[323], description="Added and deprecated in favor of app.vitals.start.warm.value"), ], ), "art.gc.blocking_count": AttributeMetadata( brief="Total number of blocking (stop-the-world) garbage collections performed by the Android Runtime", type=AttributeType.INTEGER, keys=("art.gc.blocking_count",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[382], - description="Added art.gc.blocking_count attribute", - ), + ChangelogEntry(version="0.11.0", prs=[382], description="Added art.gc.blocking_count attribute"), ], ), "art.gc.blocking_time": AttributeMetadata( brief="Total time spent in blocking (stop-the-world) garbage collections by the Android Runtime, in milliseconds", type=AttributeType.DOUBLE, keys=("art.gc.blocking_time",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=11.873, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[382], - description="Added art.gc.blocking_time attribute", - ), + ChangelogEntry(version="0.11.0", prs=[382], description="Added art.gc.blocking_time attribute"), ], ), "art.gc.pre_oome_count": AttributeMetadata( brief="Total number of garbage collections triggered as a last resort before an OutOfMemoryError by the Android Runtime", type=AttributeType.INTEGER, keys=("art.gc.pre_oome_count",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=0, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[382], - description="Added art.gc.pre_oome_count attribute", - ), + ChangelogEntry(version="0.11.0", prs=[382], description="Added art.gc.pre_oome_count attribute"), ], ), "art.gc.total_count": AttributeMetadata( brief="Total number of garbage collections performed by the Android Runtime", type=AttributeType.INTEGER, keys=("art.gc.total_count",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[382], - description="Added art.gc.total_count attribute", - ), + ChangelogEntry(version="0.11.0", prs=[382], description="Added art.gc.total_count attribute"), ], ), "art.gc.total_time": AttributeMetadata( brief="Total time spent in garbage collection by the Android Runtime, in milliseconds", type=AttributeType.DOUBLE, keys=("art.gc.total_time",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=11.807, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[382], - description="Added art.gc.total_time attribute", - ), + ChangelogEntry(version="0.11.0", prs=[382], description="Added art.gc.total_time attribute"), ], ), "art.gc.waiting_time": AttributeMetadata( brief="Total time threads spent waiting for garbage collection to complete in the Android Runtime, in milliseconds", type=AttributeType.DOUBLE, keys=("art.gc.waiting_time",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=8.054, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[382], - description="Added art.gc.waiting_time attribute", - ), + ChangelogEntry(version="0.11.0", prs=[382], description="Added art.gc.waiting_time attribute"), ], ), "art.memory.free": AttributeMetadata( brief="Free memory available to the process as reported by the Android Runtime, in bytes", type=AttributeType.INTEGER, keys=("art.memory.free",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=3181568, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[382], - description="Added art.memory.free attribute", - ), + ChangelogEntry(version="0.11.0", prs=[382], description="Added art.memory.free attribute"), ], ), "art.memory.free_until_gc": AttributeMetadata( brief="Free memory available before a garbage collection would be triggered by the Android Runtime, in bytes", type=AttributeType.INTEGER, keys=("art.memory.free_until_gc",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=3181568, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[382], - description="Added art.memory.free_until_gc attribute", - ), + ChangelogEntry(version="0.11.0", prs=[382], description="Added art.memory.free_until_gc attribute"), ], ), "art.memory.free_until_oome": AttributeMetadata( brief="Free memory available before an OutOfMemoryError would be thrown by the Android Runtime, in bytes", type=AttributeType.INTEGER, keys=("art.memory.free_until_oome",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=196083712, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[382], - description="Added art.memory.free_until_oome attribute", - ), + ChangelogEntry(version="0.11.0", prs=[382], description="Added art.memory.free_until_oome attribute"), ], ), "art.memory.max": AttributeMetadata( brief="Maximum memory the process is allowed to use as reported by the Android Runtime, in bytes", type=AttributeType.INTEGER, keys=("art.memory.max",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=201326592, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[382], - description="Added art.memory.max attribute", - ), + ChangelogEntry(version="0.11.0", prs=[382], description="Added art.memory.max attribute"), ], ), "art.memory.total": AttributeMetadata( brief="Total memory currently allocated to the process by the Android Runtime, in bytes", type=AttributeType.INTEGER, keys=("art.memory.total",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=7774208, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[382], - description="Added art.memory.total attribute", - ), + ChangelogEntry(version="0.11.0", prs=[382], description="Added art.memory.total attribute"), ], ), "aws.cloudwatch.logs.log_group": AttributeMetadata( brief="The name of the CloudWatch Logs log group", type=AttributeType.STRING, keys=("aws.cloudwatch.logs.log_group",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="/aws/lambda/my-function", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[369], - description="Added aws.cloudwatch.logs.log_group attribute", - ), + ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.cloudwatch.logs.log_group attribute"), ], ), "aws.cloudwatch.logs.log_stream": AttributeMetadata( brief="The name of the CloudWatch Logs log stream", type=AttributeType.STRING, keys=("aws.cloudwatch.logs.log_stream",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="2024/01/01/[$LATEST]abcdef1234567890", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[369], - description="Added aws.cloudwatch.logs.log_stream attribute", - ), + ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.cloudwatch.logs.log_stream attribute"), ], ), "aws.cloudwatch.logs.url": AttributeMetadata( brief="The URL to the CloudWatch Logs log group", type=AttributeType.STRING, keys=("aws.cloudwatch.logs.url",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logsV2:log-groups/log-group/my-log-group", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[369], - description="Added aws.cloudwatch.logs.url attribute", - ), + ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.cloudwatch.logs.url attribute"), ], ), "aws.dynamodb.attribute_definitions": AttributeMetadata( brief="The JSON-serialized value of each item in the `AttributeDefinitions` request field.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.attribute_definitions",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, - example=['{ "AttributeName": "string", "AttributeType": "string" }'], + example=["{ \"AttributeName\": \"string\", \"AttributeType\": \"string\" }"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.attribute_definitions attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.attribute_definitions attribute"), ], ), "aws.dynamodb.attributes_to_get": AttributeMetadata( brief="The value of the `AttributesToGet` request parameter.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.attributes_to_get",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=["lives", "id"], examples=[["lives", "id"]], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[672], - description="Added aws.dynamodb.attributes_to_get attribute", - ), + ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.dynamodb.attributes_to_get attribute"), ], ), "aws.dynamodb.consistent_read": AttributeMetadata( brief="The value of the `ConsistentRead` request parameter.", type=AttributeType.BOOLEAN, keys=("aws.dynamodb.consistent_read",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.consistent_read attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.consistent_read attribute"), ], ), "aws.dynamodb.consumed_capacity": AttributeMetadata( brief="The JSON-serialized value of each item in the `ConsumedCapacity` response field.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.consumed_capacity",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=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 }' - ], + 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=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.consumed_capacity attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.consumed_capacity attribute"), ], ), "aws.dynamodb.count": AttributeMetadata( brief="The value of the `Count` response parameter.", type=AttributeType.INTEGER, keys=("aws.dynamodb.count",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.count attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.count attribute"), ], ), "aws.dynamodb.exclusive_start_table": AttributeMetadata( brief="The value of the `ExclusiveStartTableName` request parameter.", type=AttributeType.STRING, keys=("aws.dynamodb.exclusive_start_table",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="Users", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.exclusive_start_table attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.exclusive_start_table attribute"), ], ), "aws.dynamodb.global_secondary_index_updates": AttributeMetadata( brief="The JSON-serialized value of each item in the `GlobalSecondaryIndexUpdates` request field.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.global_secondary_index_updates",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, - example=[ - '{ "Create": { "IndexName": "string", "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" }, "ProvisionedThroughput": { "ReadCapacityUnits": number, "WriteCapacityUnits": number } }' - ], + example=["{ \"Create\": { \"IndexName\": \"string\", \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.global_secondary_index_updates attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.global_secondary_index_updates attribute"), ], ), "aws.dynamodb.global_secondary_indexes": AttributeMetadata( brief="The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.global_secondary_indexes",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, - example=[ - '{ "IndexName": "string", "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" }, "ProvisionedThroughput": { "ReadCapacityUnits": number, "WriteCapacityUnits": number } }' - ], + example=["{ \"IndexName\": \"string\", \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.global_secondary_indexes attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.global_secondary_indexes attribute"), ], ), "aws.dynamodb.index_name": AttributeMetadata( brief="The value of the `IndexName` request parameter.", type=AttributeType.STRING, keys=("aws.dynamodb.index_name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="name_to_group", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.index_name attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.index_name attribute"), ], ), "aws.dynamodb.item_collection_metrics": AttributeMetadata( brief="The JSON-serialized value of the `ItemCollectionMetrics` response field.", type=AttributeType.STRING, keys=("aws.dynamodb.item_collection_metrics",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, - example='{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob, "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" : "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, "S": "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } ] }', + example="{ \"string\" : [ { \"ItemCollectionKey\": { \"string\" : { \"B\": blob, \"BOOL\": boolean, \"BS\": [ blob ], \"L\": [ \"AttributeValue\" ], \"M\": { \"string\" : \"AttributeValue\" }, \"N\": \"string\", \"NS\": [ \"string\" ], \"NULL\": boolean, \"S\": \"string\", \"SS\": [ \"string\" ] } }, \"SizeEstimateRangeGB\": [ number ] } ] }", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.item_collection_metrics attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.item_collection_metrics attribute"), ], ), "aws.dynamodb.limit": AttributeMetadata( brief="The value of the `Limit` request parameter.", type=AttributeType.INTEGER, keys=("aws.dynamodb.limit",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.limit attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.limit attribute"), ], ), "aws.dynamodb.local_secondary_indexes": AttributeMetadata( brief="The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.local_secondary_indexes",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, - example=[ - '{ "IndexArn": "string", "IndexName": "string", "IndexSizeBytes": number, "ItemCount": number, "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" } }' - ], + example=["{ \"IndexArn\": \"string\", \"IndexName\": \"string\", \"IndexSizeBytes\": number, \"ItemCount\": number, \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" } }"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.local_secondary_indexes attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.local_secondary_indexes attribute"), ], ), "aws.dynamodb.projection": AttributeMetadata( brief="The value of the `ProjectionExpression` request parameter.", type=AttributeType.STRING, keys=("aws.dynamodb.projection",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="Title, Price, Color", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.projection attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.projection attribute"), ], ), "aws.dynamodb.provisioned_read_capacity": AttributeMetadata( brief="The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter.", type=AttributeType.DOUBLE, keys=("aws.dynamodb.provisioned_read_capacity",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=1, changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.provisioned_read_capacity attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.provisioned_read_capacity attribute"), ], ), "aws.dynamodb.provisioned_write_capacity": AttributeMetadata( brief="The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter.", type=AttributeType.DOUBLE, keys=("aws.dynamodb.provisioned_write_capacity",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=2, changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.provisioned_write_capacity attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.provisioned_write_capacity attribute"), ], ), "aws.dynamodb.scan_forward": AttributeMetadata( brief="The value of the `ScanIndexForward` request parameter.", type=AttributeType.BOOLEAN, keys=("aws.dynamodb.scan_forward",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.scan_forward attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.scan_forward attribute"), ], ), "aws.dynamodb.scanned_count": AttributeMetadata( brief="The value of the `ScannedCount` response parameter.", type=AttributeType.INTEGER, keys=("aws.dynamodb.scanned_count",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=50, changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.scanned_count attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.scanned_count attribute"), ], ), "aws.dynamodb.segment": AttributeMetadata( brief="The value of the `Segment` request parameter.", type=AttributeType.INTEGER, keys=("aws.dynamodb.segment",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.segment attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.segment attribute"), ], ), "aws.dynamodb.select": AttributeMetadata( brief="The value of the `Select` request parameter.", type=AttributeType.STRING, keys=("aws.dynamodb.select",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="ALL_ATTRIBUTES", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.select attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.select attribute"), ], ), "aws.dynamodb.table_count": AttributeMetadata( brief="The number of items in the `TableNames` response parameter.", type=AttributeType.INTEGER, keys=("aws.dynamodb.table_count",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=20, changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.table_count attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.table_count attribute"), ], ), "aws.dynamodb.table_names": AttributeMetadata( brief="The keys in the `RequestItems` object field.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.table_names",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=["Users", "Cats"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.table_names attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.table_names attribute"), ], ), "aws.dynamodb.total_segments": AttributeMetadata( brief="The value of the `TotalSegments` request parameter.", type=AttributeType.INTEGER, keys=("aws.dynamodb.total_segments",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=100, changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[479], - description="Added aws.dynamodb.total_segments attribute", - ), + ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.total_segments attribute"), ], ), "aws.extended_request_id": AttributeMetadata( brief="The AWS extended request ID as returned in the response headers.", type=AttributeType.STRING, - keys=( - "aws.extended_request_id", - "aws.request.extended_id", + keys=("aws.extended_request_id", "aws.request.extended_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="wzHcyEWfmOGDIE5QOhTAqFDoDWP3y8IUvpNINCwL9N4TEHbUw0/gZJ+VZTmCNCWR7fezEN3eCiQ=", aliases=["aws.request.extended_id"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[480], - description="Added aws.extended_request_id attribute", - ), + ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.extended_request_id attribute"), ], ), "aws.kinesis.stream.name": AttributeMetadata( brief="The name of the AWS Kinesis stream the request refers to.", type=AttributeType.STRING, - keys=( - "aws.kinesis.stream_name", - "aws.kinesis.stream.name", + keys=("aws.kinesis.stream_name", "aws.kinesis.stream.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="some-stream-name", deprecation=DeprecationInfo( replacement="aws.kinesis.stream_name", reason="This attribute is being deprecated in favor of aws.kinesis.stream_name, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["aws.kinesis.stream_name"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[480], - description="Added aws.kinesis.stream.name attribute, deprecated in favor of aws.kinesis.stream_name", - ), + ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.kinesis.stream.name attribute, deprecated in favor of aws.kinesis.stream_name"), ], ), "aws.kinesis.stream_name": AttributeMetadata( brief="The name of the AWS Kinesis stream the request refers to.", type=AttributeType.STRING, - keys=( - "aws.kinesis.stream_name", - "aws.kinesis.stream.name", + keys=("aws.kinesis.stream_name", "aws.kinesis.stream.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="some-stream-name", aliases=["aws.kinesis.stream.name"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[480], - description="Added aws.kinesis.stream_name attribute", - ), + ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.kinesis.stream_name attribute"), ], ), "aws.lambda.aws_request_id": AttributeMetadata( brief="The AWS request ID as received by the Lambda function runtime", type=AttributeType.STRING, - keys=( - "faas.invocation_id", - "aws.lambda.aws_request_id", - "faas.execution", + keys=("faas.invocation_id", "aws.lambda.aws_request_id", "faas.execution",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="8476a536-e9f4-11e8-9739-2dfe598c3fcd", deprecation=DeprecationInfo( replacement="faas.invocation_id", reason="This attribute is being deprecated in favor of faas.invocation_id", - status=DeprecationStatus.BACKFILL, - ), - aliases=["faas.invocation_id", "faas.execution"], - changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[473], - description="Added faas.execution as an alias", - ), - ChangelogEntry( - version="0.11.1", - prs=[414, 424], - description="Deprecated aws.lambda.aws_request_id in favor of faas.invocation_id", - ), - ChangelogEntry( - version="0.7.0", - prs=[369], - description="Added aws.lambda.aws_request_id attribute", - ), + status=DeprecationStatus.BACKFILL + ), + aliases=["faas.invocation_id","faas.execution"], + changelog=[ + ChangelogEntry(version="0.16.0", prs=[473], description="Added faas.execution as an alias"), + ChangelogEntry(version="0.11.1", prs=[414, 424], description="Deprecated aws.lambda.aws_request_id in favor of faas.invocation_id"), + ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.lambda.aws_request_id attribute"), ], ), "aws.lambda.execution_duration_in_millis": AttributeMetadata( brief="The execution duration of the Lambda function invocation in milliseconds", type=AttributeType.DOUBLE, keys=("aws.lambda.execution_duration_in_millis",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[369], - description="Added aws.lambda.execution_duration_in_millis attribute", - ), + ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.lambda.execution_duration_in_millis attribute"), ], ), "aws.lambda.function_name": AttributeMetadata( brief="The name of the Lambda function", type=AttributeType.STRING, - keys=( - "faas.name", - "aws.lambda.function_name", + keys=("faas.name", "aws.lambda.function_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="my-function", deprecation=DeprecationInfo( replacement="faas.name", reason="Use the OTel-aligned faas.name attribute instead", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["faas.name"], changelog=[ - ChangelogEntry( - version="0.11.1", - prs=[414], - description="Deprecated aws.lambda.function_name in favor of faas.name", - ), - ChangelogEntry( - version="0.7.0", - prs=[369], - description="Added aws.lambda.function_name attribute", - ), + ChangelogEntry(version="0.11.1", prs=[414], description="Deprecated aws.lambda.function_name in favor of faas.name"), + ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.lambda.function_name attribute"), ], ), "aws.lambda.function_version": AttributeMetadata( brief="The version of the Lambda function", type=AttributeType.STRING, - keys=( - "faas.version", - "aws.lambda.function_version", + keys=("faas.version", "aws.lambda.function_version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="$LATEST", deprecation=DeprecationInfo( replacement="faas.version", reason="Use the OTel-aligned faas.version attribute instead", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["faas.version"], changelog=[ - ChangelogEntry( - version="0.11.1", - prs=[414, 424], - description="Deprecated aws.lambda.function_version in favor of faas.version", - ), - ChangelogEntry( - version="0.7.0", - prs=[369], - description="Added aws.lambda.function_version attribute", - ), + ChangelogEntry(version="0.11.1", prs=[414, 424], description="Deprecated aws.lambda.function_version in favor of faas.version"), + ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.lambda.function_version attribute"), ], ), "aws.lambda.invoked_arn": AttributeMetadata( brief="The full ARN of the Lambda function that was invoked", type=AttributeType.STRING, - keys=( - "aws.lambda.invoked_arn", - "aws.lambda.invoked_function_arn", + keys=("aws.lambda.invoked_arn", "aws.lambda.invoked_function_arn",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="arn:aws:lambda:us-east-1:123456789012:function:my-function", @@ -14450,54 +13333,45 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "aws.lambda.invoked_function_arn": AttributeMetadata( brief="The full ARN of the Lambda function that was invoked", type=AttributeType.STRING, - keys=( - "aws.lambda.invoked_arn", - "aws.lambda.invoked_function_arn", + keys=("aws.lambda.invoked_arn", "aws.lambda.invoked_function_arn",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="arn:aws:lambda:us-east-1:123456789012:function:my-function", deprecation=DeprecationInfo( replacement="aws.lambda.invoked_arn", reason="This attribute is being deprecated in favor of aws.lambda.invoked_arn", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["aws.lambda.invoked_arn"], changelog=[ - ChangelogEntry( - version="0.11.1", - prs=[414], - description="Deprecated aws.lambda.invoked_function_arn in favor of aws.lambda.invoked_arn", - ), - ChangelogEntry( - version="0.7.0", - prs=[369], - description="Added aws.lambda.invoked_function_arn attribute", - ), + ChangelogEntry(version="0.11.1", prs=[414], description="Deprecated aws.lambda.invoked_function_arn in favor of aws.lambda.invoked_arn"), + ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.lambda.invoked_function_arn attribute"), ], ), "aws.lambda.remaining_time_in_millis": AttributeMetadata( brief="The remaining time in milliseconds before the Lambda function times out", type=AttributeType.DOUBLE, keys=("aws.lambda.remaining_time_in_millis",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=5000, changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[369], - description="Added aws.lambda.remaining_time_in_millis attribute", - ), + ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.lambda.remaining_time_in_millis attribute"), ], ), "aws.log.group.names": AttributeMetadata( brief="The name(s) of the AWS log group(s) an application is writing to.", type=AttributeType.STRING_ARRAY, keys=("aws.log.group.names",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=["/aws/lambda/my-function", "opentelemetry-service"], @@ -14509,7 +13383,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name(s) of the AWS log stream(s) an application is writing to.", type=AttributeType.STRING_ARRAY, keys=("aws.log.stream.names",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=["logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"], @@ -14520,11 +13396,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "aws.operation_name": AttributeMetadata( brief="The name of the API operation invoked on an AWS service.", type=AttributeType.STRING, - keys=( - "rpc.method", - "aws.operation_name", + keys=("rpc.method", "aws.operation_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="PutObject", @@ -14532,354 +13407,294 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="rpc.method", reason="This attribute is being deprecated in favor of rpc.method, which is the framework-agnostic replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["rpc.method"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[536], - description="Added aws.operation_name attribute", - ), + ChangelogEntry(version="0.19.0", prs=[536], description="Added aws.operation_name attribute"), ], ), "aws.request.extended_id": AttributeMetadata( brief="The AWS extended request ID as returned in the response headers.", type=AttributeType.STRING, - keys=( - "aws.extended_request_id", - "aws.request.extended_id", + keys=("aws.extended_request_id", "aws.request.extended_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="wzHcyEWfmOGDIE5QOhTAqFDoDWP3y8IUvpNINCwL9N4TEHbUw0/gZJ+VZTmCNCWR7fezEN3eCiQ=", deprecation=DeprecationInfo( replacement="aws.extended_request_id", reason="This attribute is being deprecated in favor of aws.extended_request_id, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["aws.extended_request_id"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[480], - description="Added aws.request.extended_id attribute, deprecated in favor of aws.extended_request_id", - ), + ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.request.extended_id attribute, deprecated in favor of aws.extended_request_id"), ], ), "aws.request.id": AttributeMetadata( brief="The AWS request ID as returned in the response headers.", type=AttributeType.STRING, - keys=( - "aws.request_id", - "aws.request.id", + keys=("aws.request_id", "aws.request.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="79b9da39-b7ae-508a-a6bc-864b2829c622", deprecation=DeprecationInfo( replacement="aws.request_id", reason="This attribute is being deprecated in favor of aws.request_id, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["aws.request_id"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[480], - description="Added aws.request.id attribute, deprecated in favor of aws.request_id", - ), + ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.request.id attribute, deprecated in favor of aws.request_id"), ], ), "aws.request.url": AttributeMetadata( brief="The URL of the AWS API request.", type=AttributeType.STRING, - keys=( - "url.full", - "aws.request.url", - "http.url", - "messaging.url", - "url", + keys=("url.full", "aws.request.url", "http.url", "messaging.url", "url",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://sqs.us-east-1.amazonaws.com/123456789/my-queue", deprecation=DeprecationInfo( replacement="url.full", reason="This attribute is being deprecated in favor of url.full, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["url.full", "http.url", "url", "messaging.url"], + aliases=["url.full","http.url","url","messaging.url"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.url as an alias", - ), - ChangelogEntry( - version="0.19.0", - prs=[488], - description="Added aws.request.url attribute, deprecated in favor of url.full", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.url as an alias"), + ChangelogEntry(version="0.19.0", prs=[488], description="Added aws.request.url attribute, deprecated in favor of url.full"), ], ), "aws.request_id": AttributeMetadata( brief="The AWS request ID as returned in the response headers.", type=AttributeType.STRING, - keys=( - "aws.request_id", - "aws.request.id", + keys=("aws.request_id", "aws.request.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="79b9da39-b7ae-508a-a6bc-864b2829c622", aliases=["aws.request.id"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[480], - description="Added aws.request_id attribute", - ), + ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.request_id attribute"), ], ), "aws.s3.bucket": AttributeMetadata( brief="The S3 bucket name the request refers to.", type=AttributeType.STRING, keys=("aws.s3.bucket",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="ot-demo-test", changelog=[ - ChangelogEntry( - version="0.16.0", prs=[480], description="Added aws.s3.bucket attribute" - ), + ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.s3.bucket attribute"), ], ), "aws.s3.copy_source": AttributeMetadata( brief="The source object (in the form bucket/key) for the copy operation.", type=AttributeType.STRING, keys=("aws.s3.copy_source",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), - is_in_otel=True, + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), + is_in_otel=True, visibility=Visibility.PUBLIC, example="someFile.yml", examples=["someFile.yml"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[672], - description="Added aws.s3.copy_source attribute", - ), - ], - additional_context=[ - "Applicable to the copy-object and upload-part-copy operations, corresponding to the CopySource parameter." + ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.s3.copy_source attribute"), ], + additional_context=["Applicable to the copy-object and upload-part-copy operations, corresponding to the CopySource parameter."], ), "aws.s3.delete": AttributeMetadata( brief="The delete request container that specifies the objects to be deleted.", type=AttributeType.STRING, keys=("aws.s3.delete",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean", - examples=[ - "Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean" - ], + examples=["Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean"], changelog=[ - ChangelogEntry( - version="0.27.0", prs=[672], description="Added aws.s3.delete attribute" - ), - ], - additional_context=[ - "Applicable only to the delete-objects operation, corresponding to its Delete parameter." + ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.s3.delete attribute"), ], + additional_context=["Applicable only to the delete-objects operation, corresponding to its Delete parameter."], ), "aws.s3.key": AttributeMetadata( brief="The S3 object key the request refers to. Corresponds to the --key parameter of the S3 API operations.", type=AttributeType.STRING, keys=("aws.s3.key",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="someFile.yml", examples=["someFile.yml"], changelog=[ - ChangelogEntry( - version="0.27.0", prs=[672], description="Added aws.s3.key attribute" - ), + ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.s3.key attribute"), ], ), "aws.s3.part_number": AttributeMetadata( brief="The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000.", type=AttributeType.INTEGER, keys=("aws.s3.part_number",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=3456, examples=[3456], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[672], - description="Added aws.s3.part_number attribute", - ), - ], - additional_context=[ - "Applicable only to the upload-part and upload-part-copy operations." + ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.s3.part_number attribute"), ], + additional_context=["Applicable only to the upload-part and upload-part-copy operations."], ), "aws.s3.upload_id": AttributeMetadata( brief="Upload ID that identifies the multipart upload.", type=AttributeType.STRING, keys=("aws.s3.upload_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJ", examples=["dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJ"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[672], - description="Added aws.s3.upload_id attribute", - ), + ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.s3.upload_id attribute"), ], ), "aws.secretsmanager.secret.arn": AttributeMetadata( brief="The ARN of the Secret stored in Secrets Manager.", type=AttributeType.STRING, keys=("aws.secretsmanager.secret.arn",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretName-6RandomCharacters", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[480], - description="Added aws.secretsmanager.secret.arn attribute", - ), + ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.secretsmanager.secret.arn attribute"), ], ), "aws.sns.topic.arn": AttributeMetadata( brief="The ARN of the AWS SNS Topic. An Amazon SNS topic is a logical access point that acts as a communication channel.", type=AttributeType.STRING, keys=("aws.sns.topic.arn",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="arn:aws:sns:us-east-1:123456789012:mystack-mytopic-NZJ5JSMVGFIE", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[480], - description="Added aws.sns.topic.arn attribute", - ), + ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.sns.topic.arn attribute"), ], ), "aws.sqs.queue.url": AttributeMetadata( brief="The URL of the AWS SQS Queue. It’s a unique identifier for a queue in Amazon Simple Queue Service (SQS) and is used to access the queue and perform actions on it.", type=AttributeType.STRING, keys=("aws.sqs.queue.url",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue", examples=["https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[672], - description="Added aws.sqs.queue.url attribute", - ), + ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.sqs.queue.url attribute"), ], ), "aws.step_functions.activity.arn": AttributeMetadata( brief="The ARN of the AWS Step Functions Activity.", type=AttributeType.STRING, keys=("aws.step_functions.activity.arn",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="arn:aws:states:us-east-1:123456789012:activity:get-greeting", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[480], - description="Added aws.step_functions.activity.arn attribute", - ), + ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.step_functions.activity.arn attribute"), ], ), "aws.step_functions.execution.arn": AttributeMetadata( brief="The ARN of the AWS Step Functions Execution.", type=AttributeType.STRING, keys=("aws.step_functions.execution.arn",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="arn:aws:states:us-east-1:123456789012:execution:myStateMachine:myExecution", - examples=[ - "arn:aws:states:us-east-1:123456789012:execution:myStateMachine:myExecution" - ], + examples=["arn:aws:states:us-east-1:123456789012:execution:myStateMachine:myExecution"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[672], - description="Added aws.step_functions.execution.arn attribute", - ), + ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.step_functions.execution.arn attribute"), ], ), "aws.step_functions.state_machine.arn": AttributeMetadata( brief="The ARN of the AWS Step Functions State Machine.", type=AttributeType.STRING, keys=("aws.step_functions.state_machine.arn",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[480], - description="Added aws.step_functions.state_machine.arn attribute", - ), + ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.step_functions.state_machine.arn attribute"), ], ), "aws_region": AttributeMetadata( brief="The geographical region the AWS resource is running", type=AttributeType.STRING, - keys=( - "cloud.region", - "aws_region", - "gcp_region", + keys=("cloud.region", "aws_region", "gcp_region",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="us-east-1", examples=["us-east-1"], deprecation=DeprecationInfo( - replacement="cloud.region", status=DeprecationStatus.BACKFILL + replacement="cloud.region", + status=DeprecationStatus.BACKFILL ), - aliases=["cloud.region", "gcp_region"], + aliases=["cloud.region","gcp_region"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[537], description="Added aws_region attribute" - ), + ChangelogEntry(version="0.19.0", prs=[537], description="Added aws_region attribute"), ], ), "blocked_main_thread": AttributeMetadata( brief="Whether the main thread was blocked by the span.", type=AttributeType.BOOLEAN, keys=("blocked_main_thread",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -14891,83 +13706,69 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Which frame in the page's frame tree a back/forward cache not-restored reason originated from: the top document or a child frame.", type=AttributeType.STRING, keys=("browser.bfcache.frame",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="top", examples=["top", "child"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[513], - description="Added browser.bfcache.frame attribute", - ), + ChangelogEntry(version="0.19.0", prs=[513], description="Added browser.bfcache.frame attribute"), ], ), "browser.bfcache.not_restored_reason_count": AttributeMetadata( brief="The number of reported reasons a page was not restored from the back/forward cache on a back/forward navigation. 0 when the browser reported no reasons (e.g. non-Chromium browsers).", type=AttributeType.INTEGER, keys=("browser.bfcache.not_restored_reason_count",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, examples=[2], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[513], - description="Added browser.bfcache.not_restored_reason_count attribute", - ), + ChangelogEntry(version="0.19.0", prs=[513], description="Added browser.bfcache.not_restored_reason_count attribute"), ], ), "browser.bfcache.outcome": AttributeMetadata( brief="Whether a back/forward navigation was restored from the browser's back/forward cache (bfcache). 'hit' means the page was restored; 'miss' means it was reloaded.", type=AttributeType.STRING, keys=("browser.bfcache.outcome",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="hit", examples=["hit", "miss"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[513], - description="Added browser.bfcache.outcome attribute", - ), + ChangelogEntry(version="0.19.0", prs=[513], description="Added browser.bfcache.outcome attribute"), ], ), "browser.bfcache.reason": AttributeMetadata( brief="A browser-reported reason a page was not restored from the back/forward cache on a back/forward navigation, taken from the notRestoredReasons API. Reported per reason (a single miss can have several). Currently Chromium-only.", type=AttributeType.STRING, keys=("browser.bfcache.reason",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="unload-listener", - examples=[ - "unload-listener", - "websocket", - "idbversionchangeevent", - "response-cache-control-no-store", - ], + examples=["unload-listener", "websocket", "idbversionchangeevent", "response-cache-control-no-store"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[513], - description="Added browser.bfcache.reason attribute", - ), + ChangelogEntry(version="0.19.0", prs=[513], description="Added browser.bfcache.reason attribute"), ], ), "browser.name": AttributeMetadata( brief="The name of the browser.", type=AttributeType.STRING, - keys=( - "browser.name", - "sentry.browser.name", + keys=("browser.name", "sentry.browser.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Chrome", @@ -14981,130 +13782,88 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The identifier of the navigation the measurement belongs to, incremented by the browser for each navigation within a page's lifetime.", type=AttributeType.INTEGER, keys=("browser.navigation.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, examples=[1, 3, 0], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[640], - description="Document 0 as the fallback value when the browser does not support `navigationId`", - ), - ChangelogEntry( - version="0.22.0", - prs=[634], - description="Added browser.navigation.id attribute", - ), - ], - additional_context=[ - "Sourced from `PerformanceEntry.navigationId`, defined by the Soft Navigations spec. Despite its origin it is not soft-navigation specific: the field is set on the `PerformanceNavigationTiming` entry of a hard navigation too.", - "The value starts at 1 for the initial page load and increments for each subsequent navigation. It is only unique within a single page lifetime, not globally.", - "A value of 0 is a fallback rather than a real navigation id: web-vitals reports 0 when the browser does not expose `PerformanceEntry.navigationId`, so 0 means the id is unknown.", - "Pairs with `browser.navigation.type`: the type says how the browser arrived at the page, the id says which navigation of that page a measurement belongs to.", - "Not to be confused with the Navigation API's `NavigationHistoryEntry.id`, which is an opaque string identifying a history entry rather than a counter, and is not interchangeable with this value.", - "Also distinct from the `router.navigation.*` attributes, which describe the client-side router's own view of a navigation. Those come from the framework, this one comes from the browser, and both can be set on the same span.", + ChangelogEntry(version="0.24.0", prs=[640], description="Document 0 as the fallback value when the browser does not support `navigationId`"), + ChangelogEntry(version="0.22.0", prs=[634], description="Added browser.navigation.id attribute"), ], + additional_context=["Sourced from `PerformanceEntry.navigationId`, defined by the Soft Navigations spec. Despite its origin it is not soft-navigation specific: the field is set on the `PerformanceNavigationTiming` entry of a hard navigation too.","The value starts at 1 for the initial page load and increments for each subsequent navigation. It is only unique within a single page lifetime, not globally.","A value of 0 is a fallback rather than a real navigation id: web-vitals reports 0 when the browser does not expose `PerformanceEntry.navigationId`, so 0 means the id is unknown.","Pairs with `browser.navigation.type`: the type says how the browser arrived at the page, the id says which navigation of that page a measurement belongs to.","Not to be confused with the Navigation API's `NavigationHistoryEntry.id`, which is an opaque string identifying a history entry rather than a counter, and is not interchangeable with this value.","Also distinct from the `router.navigation.*` attributes, which describe the client-side router's own view of a navigation. Those come from the framework, this one comes from the browser, and both can be set on the same span."], ), "browser.navigation.type": AttributeMetadata( brief="The type of navigation the browser performed to arrive at the page the metrics were measured on.", type=AttributeType.STRING, keys=("browser.navigation.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="navigate", - examples=[ - "navigate", - "reload", - "back-forward", - "back-forward-cache", - "prerender", - "restore", - "soft-navigation", - ], - changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[640], - description="Use the web-vitals navigation types as-is: `bfcache` is now `back-forward-cache`, and `back-forward` and `restore` are no longer reported as `navigate`", - ), - ChangelogEntry( - version="0.22.0", - prs=[600], - description="Added browser.navigation.type attribute", - ), - ], - additional_context=[ - "Carries the `navigationType` value reported by the web-vitals library verbatim. web-vitals hyphenates the Navigation Timing `PerformanceNavigationTiming.type` value (`back_forward` becomes `back-forward`) and adds states that API does not cover: `back-forward-cache` for a restore from the back/forward cache, `prerender`, `restore` for a discarded tab being reloaded, and `soft-navigation`.", - "`back-forward-cache` is only set when the page was actually restored from the back/forward cache. A back/forward navigation that missed the cache is a full document load and reports `back-forward`. Use the `browser.bfcache.*` attributes to diagnose misses.", - "`prerender` pages finish painting before activation, so their paint timings are offset by `browser.performance.navigation.activation_start`. Keep them separate when aggregating web vitals.", - "Not to be confused with `router.navigation.type`, which holds the client-side router's own vocabulary (`link`, `goto`, `router.push`). The two are independent and can both be set on the same span.", + examples=["navigate", "reload", "back-forward", "back-forward-cache", "prerender", "restore", "soft-navigation"], + changelog=[ + ChangelogEntry(version="0.24.0", prs=[640], description="Use the web-vitals navigation types as-is: `bfcache` is now `back-forward-cache`, and `back-forward` and `restore` are no longer reported as `navigate`"), + ChangelogEntry(version="0.22.0", prs=[600], description="Added browser.navigation.type attribute"), ], + additional_context=["Carries the `navigationType` value reported by the web-vitals library verbatim. web-vitals hyphenates the Navigation Timing `PerformanceNavigationTiming.type` value (`back_forward` becomes `back-forward`) and adds states that API does not cover: `back-forward-cache` for a restore from the back/forward cache, `prerender`, `restore` for a discarded tab being reloaded, and `soft-navigation`.","`back-forward-cache` is only set when the page was actually restored from the back/forward cache. A back/forward navigation that missed the cache is a full document load and reports `back-forward`. Use the `browser.bfcache.*` attributes to diagnose misses.","`prerender` pages finish painting before activation, so their paint timings are offset by `browser.performance.navigation.activation_start`. Keep them separate when aggregating web vitals.","Not to be confused with `router.navigation.type`, which holds the client-side router's own vocabulary (`link`, `goto`, `router.push`). The two are independent and can both be set on the same span."], ), "browser.paint.type": AttributeMetadata( brief="The type of paint timing entry reported by the browser.", type=AttributeType.STRING, keys=("browser.paint.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="first-paint", examples=["first-paint", "first-contentful-paint"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[606], - description="Added browser.paint.type attribute", - ), + ChangelogEntry(version="0.22.0", prs=[606], description="Added browser.paint.type attribute"), ], ), "browser.performance.navigation.activation_start": AttributeMetadata( brief="The time between initiating a navigation to a page and the browser activating the page", type=AttributeType.DOUBLE, - keys=( - "browser.performance.navigation.activation_start", - "performance.activationStart", + keys=("browser.performance.navigation.activation_start", "performance.activationStart",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1.983, aliases=["performance.activationStart"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[321], - description="Added browser.performance.navigation.activation_start attribute", - ), + ChangelogEntry(version="0.5.0", prs=[321], description="Added browser.performance.navigation.activation_start attribute"), ], ), "browser.performance.time_origin": AttributeMetadata( brief="The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated", type=AttributeType.DOUBLE, - keys=( - "browser.performance.time_origin", - "performance.timeOrigin", + keys=("browser.performance.time_origin", "performance.timeOrigin",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1776185678.886, aliases=["performance.timeOrigin"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[321], - description="Added browser.performance.time_origin attribute attribute", - ), + ChangelogEntry(version="0.5.0", prs=[321], description="Added browser.performance.time_origin attribute attribute"), ], ), "browser.report.type": AttributeMetadata( brief="A browser report sent via reporting API..", type=AttributeType.STRING, keys=("browser.report.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="network-error", @@ -15116,7 +13875,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="How a script was called in the browser.", type=AttributeType.STRING, keys=("browser.script.invoker",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Window.requestAnimationFrame", @@ -15129,7 +13890,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Browser script entry point type.", type=AttributeType.STRING, keys=("browser.script.invoker_type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="event-listener", @@ -15142,7 +13905,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A number representing the script character position of the script.", type=AttributeType.INTEGER, keys=("browser.script.source_char_position",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=678, @@ -15154,11 +13919,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.version": AttributeMetadata( brief="The version of the browser.", type=AttributeType.STRING, - keys=( - "browser.version", - "sentry.browser.version", + keys=("browser.version", "sentry.browser.version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="120.0.6099.130", @@ -15171,7 +13935,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The event that caused the SDK to report CLS (pagehide or navigation)", type=AttributeType.STRING, keys=("browser.web_vital.cls.report_event",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="navigation", @@ -15179,26 +13945,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="The JavaScript SDK stopped setting this in v11. With per-navigation web vitals, web-vitals decides when the CLS value is final, so there is no report event to record. No replacement." ), changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[642], - description="Deprecated browser.web_vital.cls.report_event, which has no replacement", - ), - ChangelogEntry( - version="0.5.0", - prs=[319], - description="Added browser.web_vital.cls.report_event attribute", - ), + ChangelogEntry(version="0.24.0", prs=[642], description="Deprecated browser.web_vital.cls.report_event, which has no replacement"), + ChangelogEntry(version="0.5.0", prs=[319], description="Added browser.web_vital.cls.report_event attribute"), ], ), "browser.web_vital.cls.source.": AttributeMetadata( brief="The HTML elements or components responsible for the layout shift. is a numeric index from 1 to N", type=AttributeType.STRING, - keys=( - "browser.web_vital.cls.source.", - "cls.source.", + keys=("browser.web_vital.cls.source.", "cls.source.",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -15211,31 +13968,25 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.cls.value": AttributeMetadata( brief="The value of the recorded Cumulative Layout Shift (CLS) web vital", type=AttributeType.DOUBLE, - keys=( - "browser.web_vital.cls.value", - "cls", + keys=("browser.web_vital.cls.value", "cls",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.2361, aliases=["cls"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[229], - description="Added browser.web_vital.cls.value attribute", - ), + ChangelogEntry(version="0.5.0", prs=[229], description="Added browser.web_vital.cls.value attribute"), ], ), "browser.web_vital.fcp.value": AttributeMetadata( brief="The time it takes for the browser to render the first piece of meaningful content on the screen", type=AttributeType.DOUBLE, - keys=( - "browser.web_vital.fcp.value", - "fcp", + keys=("browser.web_vital.fcp.value", "fcp",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=547.6951, @@ -15247,11 +13998,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.fp.value": AttributeMetadata( brief="The time in milliseconds it takes for the browser to render the first pixel on the screen", type=AttributeType.DOUBLE, - keys=( - "browser.web_vital.fp.value", - "fp", + keys=("browser.web_vital.fp.value", "fp",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=477.1926, @@ -15264,73 +14014,56 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The kind of user interaction INP was reported on", type=AttributeType.STRING, keys=("browser.web_vital.inp.interaction_type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="click", examples=["click", "hover", "drag", "press"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[641], - description="Added browser.web_vital.inp.interaction_type attribute", - ), - ], - additional_context=[ - "One of `click`, `hover`, `drag` or `press`, derived from the DOM event name of the Event Timing entry: pointer, mouse and touch events map to `click`, `mouseover` and similar to `hover`, drag and drop events to `drag`, and keyboard and `input` events to `press`. The same value forms the suffix of the span's `ui.interaction.*` op.", - "Not to be confused with the `interactionType` of the web-vitals attribution build, which only distinguishes `pointer` and `keyboard`.", - "Omitted when INP is reported without an interaction to attribute it to, see `browser.web_vital.inp.target`. The op of such a span still falls into `ui.interaction.click` so that it stays within the interaction span family, which makes this attribute, not the op, the way to tell a real click from a value with no interaction.", + ChangelogEntry(version="0.24.0", prs=[641], description="Added browser.web_vital.inp.interaction_type attribute"), ], + additional_context=["One of `click`, `hover`, `drag` or `press`, derived from the DOM event name of the Event Timing entry: pointer, mouse and touch events map to `click`, `mouseover` and similar to `hover`, drag and drop events to `drag`, and keyboard and `input` events to `press`. The same value forms the suffix of the span's `ui.interaction.*` op.","Not to be confused with the `interactionType` of the web-vitals attribution build, which only distinguishes `pointer` and `keyboard`.","Omitted when INP is reported without an interaction to attribute it to, see `browser.web_vital.inp.target`. The op of such a span still falls into `ui.interaction.click` so that it stays within the interaction span family, which makes this attribute, not the op, the way to tell a real click from a value with no interaction."], ), "browser.web_vital.inp.target": AttributeMetadata( brief="The HTML element selector or component name of the element the user interacted with, for the interaction INP was reported on", type=AttributeType.STRING, keys=("browser.web_vital.inp.target",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="body > div#app > button.submit", examples=["body > div#app > button.submit", "SubmitButton"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[641], - description="Added browser.web_vital.inp.target attribute", - ), - ], - additional_context=[ - "Named after `PerformanceEventTiming.target`, the way `browser.web_vital.lcp.element` is named after `LargestContentfulPaint.element`. The value uses the same format as that attribute.", - "Omitted when INP is reported without an interaction to attribute it to. web-vitals reports such a value for a soft navigation whose interactions all stayed below the Event Timing duration threshold, so there is no element to name. The span is still named and still carries `browser.web_vital.inp.value`.", + ChangelogEntry(version="0.24.0", prs=[641], description="Added browser.web_vital.inp.target attribute"), ], + additional_context=["Named after `PerformanceEventTiming.target`, the way `browser.web_vital.lcp.element` is named after `LargestContentfulPaint.element`. The value uses the same format as that attribute.","Omitted when INP is reported without an interaction to attribute it to. web-vitals reports such a value for a soft navigation whose interactions all stayed below the Event Timing duration threshold, so there is no element to name. The span is still named and still carries `browser.web_vital.inp.value`."], ), "browser.web_vital.inp.value": AttributeMetadata( brief="The value of the recorded Interaction to Next Paint (INP) web vital", type=AttributeType.DOUBLE, - keys=( - "browser.web_vital.inp.value", - "inp", + keys=("browser.web_vital.inp.value", "inp",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=200, aliases=["inp"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[229], - description="Added browser.web_vital.inp.value attribute", - ), + ChangelogEntry(version="0.5.0", prs=[229], description="Added browser.web_vital.inp.value attribute"), ], ), "browser.web_vital.lcp.element": AttributeMetadata( brief="The HTML element selector or component name for which LCP was reported", type=AttributeType.STRING, - keys=( - "browser.web_vital.lcp.element", - "lcp.element", + keys=("browser.web_vital.lcp.element", "lcp.element",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="body > div#app > div#container > div", @@ -15342,11 +14075,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.lcp.id": AttributeMetadata( brief="The id of the dom element responsible for the largest contentful paint", type=AttributeType.STRING, - keys=( - "browser.web_vital.lcp.id", - "lcp.id", + keys=("browser.web_vital.lcp.id", "lcp.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="#gero", @@ -15358,11 +14090,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.lcp.load_time": AttributeMetadata( brief="The time it took for the LCP element to be loaded", type=AttributeType.INTEGER, - keys=( - "browser.web_vital.lcp.load_time", - "lcp.loadTime", + keys=("browser.web_vital.lcp.load_time", "lcp.loadTime",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1402, @@ -15374,11 +14105,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.lcp.render_time": AttributeMetadata( brief="The time it took for the LCP element to be rendered", type=AttributeType.INTEGER, - keys=( - "browser.web_vital.lcp.render_time", - "lcp.renderTime", + keys=("browser.web_vital.lcp.render_time", "lcp.renderTime",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1685, @@ -15391,7 +14121,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The event that caused the SDK to report LCP (pagehide or navigation)", type=AttributeType.STRING, keys=("browser.web_vital.lcp.report_event",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="pagehide", @@ -15399,26 +14131,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="The JavaScript SDK stopped setting this in v11. With per-navigation web vitals, web-vitals decides when the LCP value is final, so there is no report event to record. No replacement." ), changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[642], - description="Deprecated browser.web_vital.lcp.report_event, which has no replacement", - ), - ChangelogEntry( - version="0.5.0", - prs=[319], - description="Added browser.web_vital.lcp.report_event attribute", - ), + ChangelogEntry(version="0.24.0", prs=[642], description="Deprecated browser.web_vital.lcp.report_event, which has no replacement"), + ChangelogEntry(version="0.5.0", prs=[319], description="Added browser.web_vital.lcp.report_event attribute"), ], ), "browser.web_vital.lcp.size": AttributeMetadata( brief="The size of the largest contentful paint element", type=AttributeType.INTEGER, - keys=( - "browser.web_vital.lcp.size", - "lcp.size", + keys=("browser.web_vital.lcp.size", "lcp.size",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1024, @@ -15430,11 +14153,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.lcp.url": AttributeMetadata( brief="The url of the dom element responsible for the largest contentful paint", type=AttributeType.STRING, - keys=( - "browser.web_vital.lcp.url", - "lcp.url", + keys=("browser.web_vital.lcp.url", "lcp.url",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://example.com/static/img.png", @@ -15446,31 +14168,25 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.lcp.value": AttributeMetadata( brief="The value of the recorded Largest Contentful Paint (LCP) web vital", type=AttributeType.DOUBLE, - keys=( - "browser.web_vital.lcp.value", - "lcp", + keys=("browser.web_vital.lcp.value", "lcp",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2500, aliases=["lcp"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[229], - description="Added browser.web_vital.lcp.value attribute", - ), + ChangelogEntry(version="0.5.0", prs=[229], description="Added browser.web_vital.lcp.value attribute"), ], ), "browser.web_vital.ttfb.request_time": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=( - "browser.web_vital.ttfb.request_time", - "ttfb.requestTime", + keys=("browser.web_vital.ttfb.request_time", "ttfb.requestTime",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1554.5814, @@ -15482,11 +14198,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.ttfb.value": AttributeMetadata( brief="The value of the recorded Time To First Byte (TTFB) web vital in Milliseconds", type=AttributeType.DOUBLE, - keys=( - "browser.web_vital.ttfb.value", - "ttfb", + keys=("browser.web_vital.ttfb.value", "ttfb",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=194.3322, @@ -15499,7 +14214,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="If the cache was hit during this span.", type=AttributeType.BOOLEAN, keys=("cache.hit",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -15511,30 +14228,29 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The age of the cache entry in seconds, measured at read time.", type=AttributeType.INTEGER, keys=("cache.item_age",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=5, examples=[5, 3600], changelog=[ - ChangelogEntry( - version="0.23.0", - prs=[637], - description="Added cache.item_age attribute", - ), - ], - additional_context=[ - "Set on reads that return an entry. Absent on a miss, or when the cache does not report a write time.", - "Clamped to 0. On a shared cache, the writer's clock and the reader's clock can drift far enough to make the age negative.", - "Can exceed `cache.ttl`. A cache that discards an expired entry on read still reports the age of that entry, with `cache.hit: false`.", + ChangelogEntry(version="0.23.0", prs=[637], description="Added cache.item_age attribute"), ], - search_alias=SearchAlias(name="cache.item_age", type="second"), + additional_context=["Set on reads that return an entry. Absent on a miss, or when the cache does not report a write time.","Clamped to 0. On a shared cache, the writer's clock and the reader's clock can drift far enough to make the age negative.","Can exceed `cache.ttl`. A cache that discards an expired entry on read still reports the age of that entry, with `cache.hit: false`."], + search_alias=SearchAlias( + name="cache.item_age", + type="second" + ), ), "cache.item_size": AttributeMetadata( brief="The size of the requested item in the cache. In bytes.", type=AttributeType.INTEGER, keys=("cache.item_size",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=58, @@ -15542,13 +14258,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="cache.item_size", type="byte"), + search_alias=SearchAlias( + name="cache.item_size", + type="byte" + ), ), "cache.key": AttributeMetadata( brief="The key of the cache accessed.", type=AttributeType.STRING_ARRAY, keys=("cache.key",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=["my-cache-key", "my-other-cache-key"], @@ -15560,7 +14281,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The operation being performed on the cache.", type=AttributeType.STRING, keys=("cache.operation",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="get", @@ -15576,29 +14299,24 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("cache.tags",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Applications pick tag values freely and often build them from record identifiers such as a user id.", + reason="Applications pick tag values freely and often build them from record identifiers such as a user id." ), is_in_otel=False, visibility=Visibility.PUBLIC, example=["blog-posts", "post-42"], examples=[["blog-posts", "post-42"], ["products"]], changelog=[ - ChangelogEntry( - version="0.23.0", prs=[637], description="Added cache.tags attribute" - ), - ], - additional_context=[ - "Cache library examples that support tags: Next.js `cacheTag()`, Symfony `ItemInterface::tag()`, Laravel `Cache::tags()`.", - "HTTP caches take tags from a response header. Cloudflare reads `Cache-Tag`, Fastly reads `Surrogate-Key`.", - "Record only the tags the application declared. Leave out implicit tags that the framework adds itself, for example one tag per route.", - "The tags describe the entry, not the operation. Take them from the entry the cache returned or stored.", + ChangelogEntry(version="0.23.0", prs=[637], description="Added cache.tags attribute"), ], + additional_context=["Cache library examples that support tags: Next.js `cacheTag()`, Symfony `ItemInterface::tag()`, Laravel `Cache::tags()`.","HTTP caches take tags from a response header. Cloudflare reads `Cache-Tag`, Fastly reads `Surrogate-Key`.","Record only the tags the application declared. Leave out implicit tags that the framework adds itself, for example one tag per route.","The tags describe the entry, not the operation. Take them from the entry the cache returned or stored."], ), "cache.ttl": AttributeMetadata( brief="The ttl (maximum lifetime) of the cache in seconds", type=AttributeType.INTEGER, keys=("cache.ttl",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=120, @@ -15611,7 +14329,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="If the cache operation resulted in a write to the cache.", type=AttributeType.BOOLEAN, keys=("cache.write",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -15623,7 +14343,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The channel name that is being used.", type=AttributeType.STRING, keys=("channel",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="mail", @@ -15635,11 +14357,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "client.address": AttributeMetadata( brief="Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=( - "client.address", - "http.client_ip", + keys=("client.address", "http.client_ip",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", @@ -15653,7 +14374,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Client port number.", type=AttributeType.INTEGER, keys=("client.port",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=5432, @@ -15666,113 +14389,98 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The cloud account ID the resource is assigned to", type=AttributeType.STRING, keys=("cloud.account.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="123456789012", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[364], - description="Added cloud.account.id attribute", - ), + ChangelogEntry(version="0.7.0", prs=[364], description="Added cloud.account.id attribute"), ], ), "cloud.availability_zone": AttributeMetadata( brief="Cloud regions often have multiple, isolated locations known as zones to increase availability", type=AttributeType.STRING, keys=("cloud.availability_zone",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="us-east-1c", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[364], - description="Added cloud.availability_zone attribute", - ), + ChangelogEntry(version="0.7.0", prs=[364], description="Added cloud.availability_zone attribute"), ], ), "cloud.platform": AttributeMetadata( brief="The cloud platform in use", type=AttributeType.STRING, keys=("cloud.platform",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="aws_lambda", changelog=[ - ChangelogEntry( - version="0.7.0", prs=[364], description="Added cloud.platform attribute" - ), + ChangelogEntry(version="0.7.0", prs=[364], description="Added cloud.platform attribute"), ], ), "cloud.provider": AttributeMetadata( brief="Name of the cloud provider", type=AttributeType.STRING, keys=("cloud.provider",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="aws", changelog=[ - ChangelogEntry( - version="0.7.0", prs=[364], description="Added cloud.provider attribute" - ), + ChangelogEntry(version="0.7.0", prs=[364], description="Added cloud.provider attribute"), ], ), "cloud.region": AttributeMetadata( brief="The geographical region the resource is running", type=AttributeType.STRING, - keys=( - "cloud.region", - "aws_region", - "gcp_region", + keys=("cloud.region", "aws_region", "gcp_region",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="us-east-1", - aliases=["aws_region", "gcp_region"], + aliases=["aws_region","gcp_region"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[535, 537], - description="Added aws_region and gcp_region as aliases", - ), - ChangelogEntry( - version="0.7.0", prs=[364], description="Added cloud.region attribute" - ), + ChangelogEntry(version="0.19.0", prs=[535, 537], description="Added aws_region and gcp_region as aliases"), + ChangelogEntry(version="0.7.0", prs=[364], description="Added cloud.region attribute"), ], ), "cloud.resource_id": AttributeMetadata( brief="Cloud provider-specific native identifier of the monitored cloud resource", type=AttributeType.STRING, - keys=( - "cloud.resource_id", - "faas.id", + keys=("cloud.resource_id", "faas.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function", aliases=["faas.id"], changelog=[ - ChangelogEntry( - version="0.16.0", prs=[475], description="Added faas.id as an alias" - ), + ChangelogEntry(version="0.16.0", prs=[475], description="Added faas.id as an alias"), ChangelogEntry(version="0.11.1", prs=[414]), ], - 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." - ], + 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."], ), "cloudflare.d1.duration": AttributeMetadata( brief="The duration of a Cloudflare D1 operation.", type=AttributeType.INTEGER, keys=("cloudflare.d1.duration",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=543, @@ -15784,38 +14492,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "cloudflare.d1.query_type": AttributeMetadata( brief="The type of query executed in a Cloudflare D1 operation", type=AttributeType.STRING, - keys=( - "db.operation.name", - "cloudflare.d1.query_type", - "db.operation", - "redis.command", + keys=("db.operation.name", "cloudflare.d1.query_type", "db.operation", "redis.command",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="run", deprecation=DeprecationInfo( - replacement="db.operation.name", status=DeprecationStatus.BACKFILL + replacement="db.operation.name", + status=DeprecationStatus.BACKFILL ), - aliases=["db.operation.name", "db.operation", "redis.command"], + aliases=["db.operation.name","db.operation","redis.command"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[531], - description="Added redis.command as an alias", - ), - ChangelogEntry( - version="0.11.0", - prs=[392], - description="Added cloudflare.d1.query_type attribute", - ), + ChangelogEntry(version="0.19.0", prs=[531], description="Added redis.command as an alias"), + ChangelogEntry(version="0.11.0", prs=[392], description="Added cloudflare.d1.query_type attribute"), ], ), "cloudflare.d1.rows_read": AttributeMetadata( brief="The number of rows read in a Cloudflare D1 operation.", type=AttributeType.INTEGER, keys=("cloudflare.d1.rows_read",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=12, @@ -15828,7 +14528,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The number of rows written in a Cloudflare D1 operation.", type=AttributeType.INTEGER, keys=("cloudflare.d1.rows_written",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=12, @@ -15841,234 +14543,205 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The number of bound parameters passed to the SQL exec call.", type=AttributeType.INTEGER, keys=("cloudflare.durable_object.query.bindings",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, changelog=[ - ChangelogEntry( - version="0.13.0", - prs=[435], - description="Added cloudflare.durable_object.query.bindings attribute", - ), + ChangelogEntry(version="0.13.0", prs=[435], description="Added cloudflare.durable_object.query.bindings attribute"), ], ), "cloudflare.durable_object.response.rows_read": AttributeMetadata( brief="The number of rows read by a Cloudflare Durable Object SQL operation.", type=AttributeType.INTEGER, keys=("cloudflare.durable_object.response.rows_read",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=12, changelog=[ - ChangelogEntry( - version="0.13.0", - prs=[435], - description="Added cloudflare.durable_object.response.rows_read attribute", - ), + ChangelogEntry(version="0.13.0", prs=[435], description="Added cloudflare.durable_object.response.rows_read attribute"), ], ), "cloudflare.durable_object.response.rows_written": AttributeMetadata( brief="The number of rows written by a Cloudflare Durable Object SQL operation.", type=AttributeType.INTEGER, keys=("cloudflare.durable_object.response.rows_written",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, changelog=[ - ChangelogEntry( - version="0.13.0", - prs=[435], - description="Added cloudflare.durable_object.response.rows_written attribute", - ), + ChangelogEntry(version="0.13.0", prs=[435], description="Added cloudflare.durable_object.response.rows_written attribute"), ], ), "cloudflare.r2.bucket": AttributeMetadata( brief="The name of the Cloudflare R2 bucket binding", type=AttributeType.STRING, keys=("cloudflare.r2.bucket",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="MY_BUCKET", changelog=[ - ChangelogEntry( - version="0.11.1", - prs=[413], - description="Added cloudflare.r2.bucket attribute", - ), + ChangelogEntry(version="0.11.1", prs=[413], description="Added cloudflare.r2.bucket attribute"), ], ), "cloudflare.r2.operation": AttributeMetadata( brief="The R2 API operation being performed", type=AttributeType.STRING, keys=("cloudflare.r2.operation",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="GetObject", changelog=[ - ChangelogEntry( - version="0.11.1", - prs=[413], - description="Added cloudflare.r2.operation attribute", - ), + ChangelogEntry(version="0.11.1", prs=[413], description="Added cloudflare.r2.operation attribute"), ], ), "cloudflare.r2.request.delimiter": AttributeMetadata( brief="The delimiter used to group objects in an R2 list operation", type=AttributeType.STRING, keys=("cloudflare.r2.request.delimiter",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="/", changelog=[ - ChangelogEntry( - version="0.11.1", - prs=[413], - description="Added cloudflare.r2.request.delimiter attribute", - ), + ChangelogEntry(version="0.11.1", prs=[413], description="Added cloudflare.r2.request.delimiter attribute"), ], ), "cloudflare.r2.request.key": AttributeMetadata( brief="The object key used in the R2 operation", type=AttributeType.STRING, keys=("cloudflare.r2.request.key",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="my-file.txt", changelog=[ - ChangelogEntry( - version="0.11.1", - prs=[413], - description="Added cloudflare.r2.request.key attribute", - ), + ChangelogEntry(version="0.11.1", prs=[413], description="Added cloudflare.r2.request.key attribute"), ], ), "cloudflare.r2.request.part_number": AttributeMetadata( brief="The part number in a multipart upload operation", type=AttributeType.INTEGER, keys=("cloudflare.r2.request.part_number",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, changelog=[ - ChangelogEntry( - version="0.11.1", - prs=[413], - description="Added cloudflare.r2.request.part_number attribute", - ), + ChangelogEntry(version="0.11.1", prs=[413], description="Added cloudflare.r2.request.part_number attribute"), ], ), "cloudflare.r2.request.prefix": AttributeMetadata( brief="The prefix used to filter objects in an R2 list operation", type=AttributeType.STRING, keys=("cloudflare.r2.request.prefix",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="images/", changelog=[ - ChangelogEntry( - version="0.11.1", - prs=[413], - description="Added cloudflare.r2.request.prefix attribute", - ), + ChangelogEntry(version="0.11.1", prs=[413], description="Added cloudflare.r2.request.prefix attribute"), ], ), "cloudflare.workflow.attempt": AttributeMetadata( brief="The current attempt number for a Cloudflare Workflow step", type=AttributeType.INTEGER, keys=("cloudflare.workflow.attempt",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[392], - description="Added cloudflare.workflow.attempt attribute", - ), + ChangelogEntry(version="0.11.0", prs=[392], description="Added cloudflare.workflow.attempt attribute"), ], ), "cloudflare.workflow.retries.backoff": AttributeMetadata( brief="The backoff strategy for Cloudflare Workflow step retries", type=AttributeType.STRING, keys=("cloudflare.workflow.retries.backoff",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="exponential", changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[392], - description="Added cloudflare.workflow.retries.backoff attribute", - ), + ChangelogEntry(version="0.11.0", prs=[392], description="Added cloudflare.workflow.retries.backoff attribute"), ], ), "cloudflare.workflow.retries.delay": AttributeMetadata( brief="The delay between Cloudflare Workflow step retries", type=AttributeType.STRING, keys=("cloudflare.workflow.retries.delay",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="5 seconds", changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[392], - description="Added cloudflare.workflow.retries.delay attribute", - ), + ChangelogEntry(version="0.11.0", prs=[392], description="Added cloudflare.workflow.retries.delay attribute"), ], ), "cloudflare.workflow.retries.limit": AttributeMetadata( brief="The maximum number of retries for a Cloudflare Workflow step", type=AttributeType.INTEGER, keys=("cloudflare.workflow.retries.limit",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=3, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[392], - description="Added cloudflare.workflow.retries.limit attribute", - ), + ChangelogEntry(version="0.11.0", prs=[392], description="Added cloudflare.workflow.retries.limit attribute"), ], ), "cloudflare.workflow.timeout": AttributeMetadata( brief="The timeout duration for a Cloudflare Workflow step", type=AttributeType.STRING, keys=("cloudflare.workflow.timeout",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="1 minute", changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[392], - description="Added cloudflare.workflow.timeout attribute", - ), + ChangelogEntry(version="0.11.0", prs=[392], description="Added cloudflare.workflow.timeout attribute"), ], ), "cls.source.": AttributeMetadata( brief="The HTML elements or components responsible for the layout shift. is a numeric index from 1 to N", type=AttributeType.STRING, - keys=( - "browser.web_vital.cls.source.", - "cls.source.", + keys=("browser.web_vital.cls.source.", "cls.source.",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -16076,7 +14749,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="browser.web_vital.cls.source.", reason="The CLS source is now recorded as a browser.web_vital.cls.source. attribute.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.cls.source."], changelog=[ @@ -16086,72 +14759,56 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "cls": AttributeMetadata( brief="The value of the recorded Cumulative Layout Shift (CLS) web vital", type=AttributeType.DOUBLE, - keys=( - "browser.web_vital.cls.value", - "cls", + keys=("browser.web_vital.cls.value", "cls",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.2361, deprecation=DeprecationInfo( replacement="browser.web_vital.cls.value", reason="The CLS web vital is now recorded as a browser.web_vital.cls.value attribute.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.cls.value"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[229], - description="Added and deprecated attribute to document JS SDK's current behaviour", - ), + ChangelogEntry(version="0.5.0", prs=[229], description="Added and deprecated attribute to document JS SDK's current behaviour"), ], ), "code.file.path": AttributeMetadata( brief="The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).", type=AttributeType.STRING, - keys=( - "code.file.path", - "sveltekit.load.node_id", - "code.filepath", + keys=("code.file.path", "sveltekit.load.node_id", "code.filepath",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="/app/myapplication/http/handler/server.py", - aliases=["code.filepath", "sveltekit.load.node_id"], + aliases=["code.filepath","sveltekit.load.node_id"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[611], - description="Added sveltekit.load.node_id as an alias", - ), + ChangelogEntry(version="0.22.0", prs=[611], description="Added sveltekit.load.node_id as an alias"), ChangelogEntry(version="0.0.0"), ], ), "code.filepath": AttributeMetadata( brief="The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).", type=AttributeType.STRING, - keys=( - "code.file.path", - "sveltekit.load.node_id", - "code.filepath", + keys=("code.file.path", "sveltekit.load.node_id", "code.filepath",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="/app/myapplication/http/handler/server.py", deprecation=DeprecationInfo( - replacement="code.file.path", status=DeprecationStatus.BACKFILL + replacement="code.file.path", + status=DeprecationStatus.BACKFILL ), - aliases=["code.file.path", "sveltekit.load.node_id"], + aliases=["code.file.path","sveltekit.load.node_id"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[611], - description="Added sveltekit.load.node_id as an alias", - ), + ChangelogEntry(version="0.22.0", prs=[611], description="Added sveltekit.load.node_id as an alias"), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], @@ -16159,22 +14816,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "code.function": AttributeMetadata( brief="The method or function name, or equivalent (usually rightmost part of the code unit's name).", type=AttributeType.STRING, - keys=( - "code.function", - "code.function.name", - "django.function_name", + keys=("code.function", "code.function.name", "django.function_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="server_request", - aliases=["code.function.name", "django.function_name"], + aliases=["code.function.name","django.function_name"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[538], - description="Added django.function_name as an alias", - ), + ChangelogEntry(version="0.19.0", prs=[538], description="Added django.function_name as an alias"), ChangelogEntry(version="0.1.0", prs=[61, 74]), ChangelogEntry(version="0.0.0"), ], @@ -16182,22 +14833,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "code.function.name": AttributeMetadata( brief="The method or function fully-qualified name without arguments.", type=AttributeType.STRING, - keys=( - "code.function.name", - "code.function", - "django.function_name", + keys=("code.function.name", "code.function", "django.function_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="server_request", - aliases=["code.function", "django.function_name"], + aliases=["code.function","django.function_name"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[538], - description="Added django.function_name as an alias", - ), + ChangelogEntry(version="0.19.0", prs=[538], description="Added django.function_name as an alias"), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -16205,11 +14850,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "code.line.number": AttributeMetadata( brief="The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function", type=AttributeType.INTEGER, - keys=( - "code.line.number", - "code.lineno", + keys=("code.line.number", "code.lineno",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=42, @@ -16222,16 +14866,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "code.lineno": AttributeMetadata( brief="The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function", type=AttributeType.INTEGER, - keys=( - "code.line.number", - "code.lineno", + keys=("code.line.number", "code.lineno",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=42, deprecation=DeprecationInfo( - replacement="code.line.number", status=DeprecationStatus.BACKFILL + replacement="code.line.number", + status=DeprecationStatus.BACKFILL ), aliases=["code.line.number"], changelog=[ @@ -16244,7 +14888,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.STRING, keys=("code.namespace",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="http.handler", @@ -16256,81 +14902,70 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "code": AttributeMetadata( brief="Status code of the RPC returned by the RPC server or generated by the client.", type=AttributeType.STRING, - keys=( - "rpc.response.status_code", - "code", + keys=("rpc.response.status_code", "code",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="DEADLINE_EXCEEDED", examples=["DEADLINE_EXCEEDED"], deprecation=DeprecationInfo( - replacement="rpc.response.status_code", status=DeprecationStatus.BACKFILL + replacement="rpc.response.status_code", + status=DeprecationStatus.BACKFILL ), - aliases=["rpc.grpc.status_code", "rpc.response.status_code"], + aliases=["rpc.grpc.status_code","rpc.response.status_code"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[533], description="Added code attribute" - ), + ChangelogEntry(version="0.19.0", prs=[533], description="Added code attribute"), ], ), "connection.rtt": AttributeMetadata( brief="Specifies the estimated effective round-trip time of the current connection, in milliseconds.", type=AttributeType.INTEGER, - keys=( - "network.connection.rtt", - "connection.rtt", + keys=("network.connection.rtt", "connection.rtt",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=100, deprecation=DeprecationInfo( replacement="network.connection.rtt", reason="Old attribute name (no official namespace), to be replaced with network.connection.rtt for span-first future", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["network.connection.rtt"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[279], - description="Added and deprecated attribute to document JS SDK's current behaviour", - ), + ChangelogEntry(version="0.5.0", prs=[279], description="Added and deprecated attribute to document JS SDK's current behaviour"), ], ), "connectionType": AttributeMetadata( brief="Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc).", type=AttributeType.STRING, - keys=( - "network.connection.type", - "connectionType", - "device.connection_type", + keys=("network.connection.type", "connectionType", "device.connection_type",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="wifi", deprecation=DeprecationInfo( replacement="network.connection.type", reason="Old namespace-less attribute, to be replaced with network.connection.type for span-first future", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["network.connection.type", "device.connection_type"], + aliases=["network.connection.type","device.connection_type"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[279], - description="Added and deprecated attribute to document JS SDK's current behaviour", - ), + ChangelogEntry(version="0.5.0", prs=[279], description="Added and deprecated attribute to document JS SDK's current behaviour"), ], ), "culture.calendar": AttributeMetadata( brief="The calendar system used by the culture.", type=AttributeType.STRING, keys=("culture.calendar",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="GregorianCalendar", @@ -16342,7 +14977,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Human readable name of the culture.", type=AttributeType.STRING, keys=("culture.display_name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="English (United States)", @@ -16354,7 +14991,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the culture uses 24-hour time format.", type=AttributeType.BOOLEAN, keys=("culture.is_24_hour_format",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -16366,7 +15005,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The locale identifier following RFC 4646.", type=AttributeType.STRING, keys=("culture.locale",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="en-US", @@ -16378,7 +15019,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The timezone of the culture, as a geographic timezone identifier.", type=AttributeType.STRING, keys=("culture.timezone",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Europe/Vienna", @@ -16389,21 +15032,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.collection.name": AttributeMetadata( brief="The name of a collection (table, container) within the database.", type=AttributeType.STRING, - keys=( - "db.collection.name", - "db.mongodb.collection", + keys=("db.collection.name", "db.mongodb.collection",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="users", aliases=["db.mongodb.collection"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[483], - description="Added db.mongodb.collection as an alias", - ), + ChangelogEntry(version="0.19.0", prs=[483], description="Added db.mongodb.collection as an alias"), ChangelogEntry(version="0.1.0", prs=[106, 127]), ChangelogEntry(version="0.0.0"), ], @@ -16412,7 +15050,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The connection string used to connect to the database.", type=AttributeType.STRING, keys=("db.connection_string",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="redis://localhost:6379", @@ -16421,65 +15061,56 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is deprecated. The connection is described by server.address and server.port instead, so the value cannot be copied to a single replacement attribute." ), changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added db.connection_string attribute", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added db.connection_string attribute"), ], ), "db.driver.name": AttributeMetadata( brief="The name of the driver used for the database connection.", type=AttributeType.STRING, keys=("db.driver.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="psycopg2", changelog=[ - ChangelogEntry( - version="0.5.0", prs=[297], description="Added db.driver.name attribute" - ), + ChangelogEntry(version="0.5.0", prs=[297], description="Added db.driver.name attribute"), ], ), "db.mongodb.collection": AttributeMetadata( brief="The MongoDB collection being accessed.", type=AttributeType.STRING, - keys=( - "db.collection.name", - "db.mongodb.collection", + keys=("db.collection.name", "db.mongodb.collection",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="users", deprecation=DeprecationInfo( replacement="db.collection.name", reason="This attribute is being deprecated in favor of db.collection.name, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["db.collection.name"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[483], - description="Added db.mongodb.collection attribute, deprecated in favor of db.collection.name", - ), + ChangelogEntry(version="0.19.0", prs=[483], description="Added db.mongodb.collection attribute, deprecated in favor of db.collection.name"), ], ), "db.name": AttributeMetadata( brief="The name of the database being accessed.", type=AttributeType.STRING, - keys=( - "db.namespace", - "db.name", + keys=("db.namespace", "db.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="customers", deprecation=DeprecationInfo( - replacement="db.namespace", status=DeprecationStatus.BACKFILL + replacement="db.namespace", + status=DeprecationStatus.BACKFILL ), aliases=["db.namespace"], changelog=[ @@ -16490,11 +15121,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.namespace": AttributeMetadata( brief="The name of the database being accessed.", type=AttributeType.STRING, - keys=( - "db.namespace", - "db.name", + keys=("db.namespace", "db.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="customers", @@ -16507,26 +15137,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.operation": AttributeMetadata( brief="The name of the operation being executed.", type=AttributeType.STRING, - keys=( - "db.operation.name", - "cloudflare.d1.query_type", - "db.operation", - "redis.command", + keys=("db.operation.name", "cloudflare.d1.query_type", "db.operation", "redis.command",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="SELECT", deprecation=DeprecationInfo( - replacement="db.operation.name", status=DeprecationStatus.NORMALIZE + replacement="db.operation.name", + status=DeprecationStatus.NORMALIZE ), - aliases=["db.operation.name", "cloudflare.d1.query_type", "redis.command"], + aliases=["db.operation.name","cloudflare.d1.query_type","redis.command"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[531], - description="Added redis.command as an alias", - ), + ChangelogEntry(version="0.19.0", prs=[531], description="Added redis.command as an alias"), ChangelogEntry(version="0.4.0", prs=[199]), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), @@ -16536,38 +15160,29 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.INTEGER, keys=("db.operation.batch.size",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=3, changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[407], - description="Added db.operation.batch.size attribute", - ), + ChangelogEntry(version="0.11.0", prs=[407], description="Added db.operation.batch.size attribute"), ], ), "db.operation.name": AttributeMetadata( brief="The name of the operation being executed.", type=AttributeType.STRING, - keys=( - "db.operation.name", - "cloudflare.d1.query_type", - "db.operation", - "redis.command", + keys=("db.operation.name", "cloudflare.d1.query_type", "db.operation", "redis.command",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="SELECT", - aliases=["db.operation", "cloudflare.d1.query_type", "redis.command"], + aliases=["db.operation","cloudflare.d1.query_type","redis.command"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[531], - description="Added redis.command as an alias", - ), + ChangelogEntry(version="0.19.0", prs=[531], description="Added redis.command as an alias"), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -16576,26 +15191,28 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The query bindings for a database request.", type=AttributeType.STRING, keys=("db.params",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example='[{"x": 100}]', - examples=['[{"x": 100}]'], + example="[{\"x\": 100}]", + examples=["[{\"x\": 100}]"], deprecation=DeprecationInfo( replacement="db.query.parameter.", - reason="Instead of adding every binding in the db.params attribute, add them as individual entries with db.query.parameter..", + reason="Instead of adding every binding in the db.params attribute, add them as individual entries with db.query.parameter.." ), changelog=[ - ChangelogEntry( - version="0.19.0", prs=[529], description="Added db.params attribute" - ), + ChangelogEntry(version="0.19.0", prs=[529], description="Added db.params attribute"), ], ), "db.query.parameter.": AttributeMetadata( brief="A query parameter used in db.query.text, with being the parameter name, and the attribute value being a string representation of the parameter value.", type=AttributeType.STRING, keys=("db.query.parameter.",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -16608,15 +15225,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A shortened representation of operation(s) in the full query. This attribute must be low-cardinality and should only contain the operation table names.", type=AttributeType.STRING, keys=("db.query.summary",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="SELECT users", examples=["SELECT users", "INSERT products; UPDATE orders"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[505], description="Added multiple examples" - ), + ChangelogEntry(version="0.19.0", prs=[505], description="Added multiple examples"), ChangelogEntry(version="0.4.0", prs=[208]), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), @@ -16625,20 +15242,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.query.text": AttributeMetadata( brief="The database parameterized query being executed. Any parameter values (filters, insertion values, etc) should be replaced with parameter placeholders. If applicable, use `db.query.parameter.` to add the parameter value.", type=AttributeType.STRING, - keys=( - "db.query.text", - "db.statement", - "query", + keys=("db.query.text", "db.statement", "query",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="SELECT * FROM users WHERE id = $1", - aliases=["db.statement", "query"], + aliases=["db.statement","query"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[530], description="Added query as an alias" - ), + ChangelogEntry(version="0.19.0", prs=[530], description="Added query as an alias"), ChangelogEntry(version="0.4.0", prs=[208]), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), @@ -16648,7 +15261,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The redis connection name.", type=AttributeType.STRING, keys=("db.redis.connection",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="my-redis-instance", @@ -16660,29 +15275,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.redis.key": AttributeMetadata( brief="The key the Redis command is operating on.", type=AttributeType.STRING, - keys=( - "db.redis.key", - "redis.key", + keys=("db.redis.key", "redis.key",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="user:2047:city", aliases=["redis.key"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[484], description="Added redis.key as an alias" - ), - ChangelogEntry( - version="0.6.0", prs=[326], description="Added db.redis.key attribute" - ), + ChangelogEntry(version="0.19.0", prs=[484], description="Added redis.key as an alias"), + ChangelogEntry(version="0.6.0", prs=[326], description="Added db.redis.key attribute"), ], ), "db.redis.parameters": AttributeMetadata( brief="The array of command parameters given to a redis command.", type=AttributeType.STRING_ARRAY, keys=("db.redis.parameters",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=["test", "*"], @@ -16694,29 +15306,29 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Database response status code. The status code returned by the database. Usually it represents an error code, but may also represent partial success, warning, or differentiate between various types of successful outcomes.", type=AttributeType.STRING, keys=("db.response.status_code",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="ORA-17002", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[462], - description="Added db.response.status_code attribute", - ), + ChangelogEntry(version="0.16.0", prs=[462], description="Added db.response.status_code attribute"), ], ), "db.sql.bindings": AttributeMetadata( brief="The array of query bindings.", type=AttributeType.STRING_ARRAY, keys=("db.sql.bindings",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=["1", "foo"], deprecation=DeprecationInfo( replacement="db.query.parameter.", - reason="Instead of adding every binding in the db.sql.bindings attribute, add them as individual entires with db.query.parameter..", + reason="Instead of adding every binding in the db.sql.bindings attribute, add them as individual entires with db.query.parameter.." ), changelog=[ ChangelogEntry(version="0.1.0", prs=[61]), @@ -16726,27 +15338,21 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.statement": AttributeMetadata( brief="The database statement being executed.", type=AttributeType.STRING, - keys=( - "db.query.text", - "db.statement", - "query", + keys=("db.query.text", "db.statement", "query",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="SELECT * FROM users WHERE id = $1", deprecation=DeprecationInfo( replacement="db.query.text", reason="While this attribute never specifically required parameterization, the replacement, db.query.text, does.", - status=DeprecationStatus.NORMALIZE, + status=DeprecationStatus.NORMALIZE ), - aliases=["db.query.text", "query"], + aliases=["db.query.text","query"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[501], - description="Improved example, added deprecation reason, and added query as an alias", - ), + ChangelogEntry(version="0.19.0", prs=[501], description="Improved example, added deprecation reason, and added query as an alias"), ChangelogEntry(version="0.4.0", prs=[199]), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), @@ -16756,7 +15362,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name of a stored procedure being called.", type=AttributeType.STRING, keys=("db.stored_procedure.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="GetUserById", @@ -16767,17 +15375,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.system": AttributeMetadata( brief="An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers.", type=AttributeType.STRING, - keys=( - "db.system.name", - "db.system", - "span.system", + keys=("db.system.name", "db.system", "span.system",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="postgresql", deprecation=DeprecationInfo( - replacement="db.system.name", status=DeprecationStatus.BACKFILL + replacement="db.system.name", + status=DeprecationStatus.BACKFILL ), aliases=["db.system.name"], changelog=[ @@ -16785,17 +15392,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="db.system", deprecated_aliases=["span.system"]), + search_alias=SearchAlias( + name="db.system", + deprecated_aliases=["span.system"] + ), ), "db.system.name": AttributeMetadata( brief="An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers.", type=AttributeType.STRING, - keys=( - "db.system.name", - "db.system", - "span.system", + keys=("db.system.name", "db.system", "span.system",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="postgresql", @@ -16809,7 +15417,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The database user.", type=AttributeType.STRING, keys=("db.user",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="fancy_user", @@ -16821,69 +15431,65 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The CPU architectures of the device.", type=AttributeType.STRING_ARRAY, keys=("device.archs",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=["arm64-v8a", "armeabi-v7a", "armeabi"], changelog=[ - ChangelogEntry( - version="0.5.0", prs=[303], description="Added device.archs attribute" - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.archs attribute"), ], ), "device.battery_level": AttributeMetadata( brief="The battery level of the device as a percentage (0-100).", type=AttributeType.DOUBLE, keys=("device.battery_level",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=100, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.battery_level attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.battery_level attribute"), ], ), "device.battery_temperature": AttributeMetadata( brief="The battery temperature of the device in Celsius.", type=AttributeType.DOUBLE, keys=("device.battery_temperature",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=25, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.battery_temperature attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.battery_temperature attribute"), ], ), "device.boot_time": AttributeMetadata( brief="A formatted UTC timestamp when the system was booted.", type=AttributeType.STRING, keys=("device.boot_time",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="2018-02-08T12:52:12Z", changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.boot_time attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.boot_time attribute"), ], ), "device.brand": AttributeMetadata( brief="The brand of the device.", type=AttributeType.STRING, keys=("device.brand",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Apple", @@ -16895,125 +15501,113 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the device was charging or not.", type=AttributeType.BOOLEAN, keys=("device.charging",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=False, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.charging attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.charging attribute"), ], ), "device.chipset": AttributeMetadata( brief="The chipset of the device.", type=AttributeType.STRING, keys=("device.chipset",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Qualcomm SM8550", changelog=[ - ChangelogEntry( - version="0.5.0", prs=[303], description="Added device.chipset attribute" - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.chipset attribute"), ], ), "device.class": AttributeMetadata( brief="The classification of the device. For example, `low`, `medium`, or `high`. Typically inferred by Relay - SDKs generally do not need to set this directly.", type=AttributeType.STRING, keys=("device.class",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="medium", changelog=[ - ChangelogEntry( - version="0.5.0", prs=[300], description="Added device.class attribute" - ), + ChangelogEntry(version="0.5.0", prs=[300], description="Added device.class attribute"), ], ), "device.connection_type": AttributeMetadata( brief="The internet connection type currently being used by the device.", type=AttributeType.STRING, - keys=( - "network.connection.type", - "connectionType", - "device.connection_type", + keys=("network.connection.type", "connectionType", "device.connection_type",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="wifi", deprecation=DeprecationInfo( replacement="network.connection.type", reason="This attribute is being deprecated in favor of network.connection.type", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["network.connection.type", "connectionType"], + aliases=["network.connection.type","connectionType"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added and deprecated device.connection_type in favor of network.connection.type", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added and deprecated device.connection_type in favor of network.connection.type"), ], ), "device.cpu_description": AttributeMetadata( brief="A description of the CPU of the device.", type=AttributeType.STRING, keys=("device.cpu_description",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz", changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.cpu_description attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.cpu_description attribute"), ], ), "device.external_free_storage": AttributeMetadata( brief="External storage free size in bytes.", type=AttributeType.INTEGER, keys=("device.external_free_storage",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=67108864000, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.external_free_storage attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.external_free_storage attribute"), ], ), "device.external_storage_size": AttributeMetadata( brief="External storage total size in bytes.", type=AttributeType.INTEGER, keys=("device.external_storage_size",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=134217728000, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.external_storage_size attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.external_storage_size attribute"), ], ), "device.family": AttributeMetadata( brief="The family of the device.", type=AttributeType.STRING, keys=("device.family",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="iPhone", @@ -17025,151 +15619,136 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Free system memory in bytes.", type=AttributeType.INTEGER, keys=("device.free_memory",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=2147483648, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[300], - description="Added device.free_memory attribute", - ), + ChangelogEntry(version="0.5.0", prs=[300], description="Added device.free_memory attribute"), ], ), "device.free_storage": AttributeMetadata( brief="Free device storage in bytes.", type=AttributeType.INTEGER, keys=("device.free_storage",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=107374182400, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.free_storage attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.free_storage attribute"), ], ), "device.id": AttributeMetadata( brief="Unique device identifier.", type=AttributeType.STRING, keys=("device.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="a1b2c3d4-e5f6-7890-abcd-ef1234567890", changelog=[ - ChangelogEntry( - version="0.5.0", prs=[303], description="Added device.id attribute" - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.id attribute"), ], ), "device.locale": AttributeMetadata( brief="The locale of the device.", type=AttributeType.STRING, keys=("device.locale",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="en-US", changelog=[ - ChangelogEntry( - version="0.5.0", prs=[303], description="Added device.locale attribute" - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.locale attribute"), ], ), "device.low_memory": AttributeMetadata( brief="Whether the device was low on memory.", type=AttributeType.BOOLEAN, keys=("device.low_memory",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=False, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.low_memory attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.low_memory attribute"), ], ), "device.low_power_mode": AttributeMetadata( brief="Whether the device is in Low Power Mode.", type=AttributeType.BOOLEAN, keys=("device.low_power_mode",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry( - version="0.6.0", - prs=[314], - description="Added device.low_power_mode attribute", - ), + ChangelogEntry(version="0.6.0", prs=[314], description="Added device.low_power_mode attribute"), ], ), "device.manufacturer": AttributeMetadata( brief="The manufacturer of the device.", type=AttributeType.STRING, keys=("device.manufacturer",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="Google", changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.manufacturer attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.manufacturer attribute"), ], ), "device.memory.estimated_capacity": AttributeMetadata( brief="The estimated total memory capacity of the device, only a rough estimation in gigabytes. Browsers report estimations in buckets of powers of 2, mostly capped at 8 GB", type=AttributeType.INTEGER, - keys=( - "device.memory.estimated_capacity", - "deviceMemory", + keys=("device.memory.estimated_capacity", "deviceMemory",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=8, aliases=["deviceMemory"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[281], - description="Added attribute device.memory.estimated_capacity to be used instead of deviceMemory", - ), + ChangelogEntry(version="0.5.0", prs=[281], description="Added attribute device.memory.estimated_capacity to be used instead of deviceMemory"), ], ), "device.memory_size": AttributeMetadata( brief="Total system memory available in bytes.", type=AttributeType.INTEGER, keys=("device.memory_size",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), - is_in_otel=False, + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), + is_in_otel=False, visibility=Visibility.PUBLIC, example=17179869184, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[300], - description="Added device.memory_size attribute", - ), + ChangelogEntry(version="0.5.0", prs=[300], description="Added device.memory_size attribute"), ], ), "device.model": AttributeMetadata( brief="The model of the device.", type=AttributeType.STRING, keys=("device.model",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="iPhone 15 Pro Max", @@ -17181,307 +15760,262 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="An internal hardware revision to identify the device exactly.", type=AttributeType.STRING, keys=("device.model_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="N861AP", changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[300], - description="Added device.model_id attribute", - ), + ChangelogEntry(version="0.5.0", prs=[300], description="Added device.model_id attribute"), ], ), "device.name": AttributeMetadata( brief="The user-assigned name of the mobile device.", type=AttributeType.STRING, keys=("device.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="localhost", changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[647], - description="Limit brief to mobile attributes and remove server_name alias", - ), - ChangelogEntry( - version="0.21.0", prs=[602], description="Added server_name as an alias" - ), - ChangelogEntry( - version="0.5.0", prs=[303], description="Added device.name attribute" - ), + ChangelogEntry(version="0.24.0", prs=[647], description="Limit brief to mobile attributes and remove server_name alias"), + ChangelogEntry(version="0.21.0", prs=[602], description="Added server_name as an alias"), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.name attribute"), ], ), "device.online": AttributeMetadata( brief="Whether the device was online or not.", type=AttributeType.BOOLEAN, keys=("device.online",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry( - version="0.5.0", prs=[303], description="Added device.online attribute" - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.online attribute"), ], ), "device.orientation": AttributeMetadata( - brief='The orientation of the device, either "portrait" or "landscape".', + brief="The orientation of the device, either \"portrait\" or \"landscape\".", type=AttributeType.STRING, keys=("device.orientation",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="portrait", changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.orientation attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.orientation attribute"), ], ), "device.processor_count": AttributeMetadata( - brief='Number of "logical processors".', + brief="Number of \"logical processors\".", type=AttributeType.INTEGER, - keys=( - "device.processor_count", - "hardwareConcurrency", + keys=("device.processor_count", "hardwareConcurrency",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=8, aliases=["hardwareConcurrency"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[300], - description="Added and deprecated attribute device.processor_count in favor of device.cpu.logical_core_count", - ), + ChangelogEntry(version="0.5.0", prs=[300], description="Added and deprecated attribute device.processor_count in favor of device.cpu.logical_core_count"), ], ), "device.processor_frequency": AttributeMetadata( brief="Processor frequency in MHz.", type=AttributeType.DOUBLE, keys=("device.processor_frequency",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=2400, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.processor_frequency attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.processor_frequency attribute"), ], ), "device.screen_density": AttributeMetadata( brief="The screen density of the device.", type=AttributeType.DOUBLE, keys=("device.screen_density",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=2.625, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.screen_density attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.screen_density attribute"), ], ), "device.screen_dpi": AttributeMetadata( brief="The screen density in dots-per-inch (DPI) of the device.", type=AttributeType.INTEGER, keys=("device.screen_dpi",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=420, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.screen_dpi attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.screen_dpi attribute"), ], ), "device.screen_height_pixels": AttributeMetadata( brief="The height of the device screen in pixels.", type=AttributeType.INTEGER, keys=("device.screen_height_pixels",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=2400, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.screen_height_pixels attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.screen_height_pixels attribute"), ], ), "device.screen_width_pixels": AttributeMetadata( brief="The width of the device screen in pixels.", type=AttributeType.INTEGER, keys=("device.screen_width_pixels",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1080, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.screen_width_pixels attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.screen_width_pixels attribute"), ], ), "device.simulator": AttributeMetadata( brief="Whether the device is a simulator or an actual device.", type=AttributeType.BOOLEAN, keys=("device.simulator",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=False, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[300], - description="Added device.simulator attribute", - ), + ChangelogEntry(version="0.5.0", prs=[300], description="Added device.simulator attribute"), ], ), "device.storage_size": AttributeMetadata( brief="Total device storage in bytes.", type=AttributeType.INTEGER, keys=("device.storage_size",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=274877906944, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.storage_size attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.storage_size attribute"), ], ), "device.thermal_state": AttributeMetadata( brief="The thermal state of the device. Based on Apple's `ProcessInfo.ThermalState` enum.", type=AttributeType.STRING, keys=("device.thermal_state",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="nominal", changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.thermal_state attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.thermal_state attribute"), ], ), "device.timezone": AttributeMetadata( brief="The timezone of the device.", type=AttributeType.STRING, keys=("device.timezone",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Europe/Vienna", changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.timezone attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.timezone attribute"), ], ), "device.usable_memory": AttributeMetadata( brief="Memory usable for the app in bytes.", type=AttributeType.INTEGER, keys=("device.usable_memory",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=2147483648, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[303], - description="Added device.usable_memory attribute", - ), + ChangelogEntry(version="0.5.0", prs=[303], description="Added device.usable_memory attribute"), ], ), "deviceMemory": AttributeMetadata( brief="The estimated total memory capacity of the device, only a rough estimation in gigabytes.", type=AttributeType.STRING, - keys=( - "device.memory.estimated_capacity", - "deviceMemory", + keys=("device.memory.estimated_capacity", "deviceMemory",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="8 GB", deprecation=DeprecationInfo( replacement="device.memory.estimated_capacity", reason="Old namespace-less attribute, to be replaced with device.memory.estimated_capacity for span-first future", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["device.memory.estimated_capacity"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[281], - description="Added and deprecated attribute to document JS SDK's current behaviour", - ), + ChangelogEntry(version="0.5.0", prs=[281], description="Added and deprecated attribute to document JS SDK's current behaviour"), ], ), "dist": AttributeMetadata( brief="The sentry dist.", type=AttributeType.STRING, - keys=( - "sentry.dist", - "dist", + keys=("sentry.dist", "dist",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="1.0", deprecation=DeprecationInfo( replacement="sentry.dist", reason="This attribute is being deprecated in favor of sentry.dist.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["sentry.dist"], changelog=[ - ChangelogEntry( - version="0.16.0", prs=[489], description="Added dist attribute" - ), + ChangelogEntry(version="0.16.0", prs=[489], description="Added dist attribute"), ], ), "django.function_name": AttributeMetadata( brief="The fully qualified name of a function used in a Django context.", type=AttributeType.STRING, - keys=( - "code.function.name", - "code.function", - "django.function_name", + keys=("code.function.name", "code.function", "django.function_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="django.contrib.sessions.middleware.SessionMiddleware", @@ -17489,28 +16023,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="code.function.name", reason="This attribute is being deprecated in favor of code.function.name, which is the framework-agnostic replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["code.function.name", "code.function"], + aliases=["code.function.name","code.function"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[538], - description="Added django.function_name attribute", - ), + ChangelogEntry(version="0.19.0", prs=[538], description="Added django.function_name attribute"), ], ), "django.middleware_name": AttributeMetadata( brief="The name of the Django middleware.", type=AttributeType.STRING, - keys=( - "middleware.name", - "django.middleware_name", - "litestar.middleware_name", - "starlette.middleware_name", - "starlite.middleware_name", + keys=("middleware.name", "django.middleware_name", "litestar.middleware_name", "starlette.middleware_name", "starlite.middleware_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="AuthenticationMiddleware", @@ -17518,63 +16044,50 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="middleware.name", reason="This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["middleware.name"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[520], - description="Added django.middleware_name attribute", - ), + ChangelogEntry(version="0.19.0", prs=[520], description="Added django.middleware_name attribute"), ], ), "effectiveConnectionType": AttributeMetadata( brief="Specifies the estimated effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g).", type=AttributeType.STRING, - keys=( - "network.connection.effective_type", - "effectiveConnectionType", + keys=("network.connection.effective_type", "effectiveConnectionType",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="4g", deprecation=DeprecationInfo( replacement="network.connection.effective_type", reason="Old namespace-less attribute, to be replaced with network.connection.effective_type for span-first future", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["network.connection.effective_type"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[279], - description="Added and deprecated attribute to document JS SDK's current behaviour", - ), + ChangelogEntry(version="0.5.0", prs=[279], description="Added and deprecated attribute to document JS SDK's current behaviour"), ], ), "environment": AttributeMetadata( brief="The sentry environment.", type=AttributeType.STRING, - keys=( - "sentry.environment", - "environment", - "resource.deployment.environment", - "resource.deployment.environment.name", + keys=("sentry.environment", "environment", "resource.deployment.environment", "resource.deployment.environment.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="production", deprecation=DeprecationInfo( - replacement="sentry.environment", status=DeprecationStatus.NORMALIZE + replacement="sentry.environment", + status=DeprecationStatus.NORMALIZE ), aliases=["sentry.environment"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[427], description="Configured normalization" - ), + ChangelogEntry(version="0.19.0", prs=[427], description="Configured normalization"), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -17583,7 +16096,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Describes a class of error the operation ended with.", type=AttributeType.STRING, keys=("error.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="timeout", @@ -17596,7 +16111,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The unique identifier for this event (log record)", type=AttributeType.INTEGER, keys=("event.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234567890, @@ -17608,7 +16125,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name that uniquely identifies this event (log record)", type=AttributeType.STRING, keys=("event.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Process Payload", @@ -17620,7 +16139,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.BOOLEAN, keys=("exception.escaped",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=True, @@ -17632,7 +16153,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The error message.", type=AttributeType.STRING, keys=("exception.message",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="ENOENT: no such file or directory", @@ -17645,10 +16168,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.STRING, keys=("exception.stacktrace",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=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)', + 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=[ ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), @@ -17658,7 +16183,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.STRING, keys=("exception.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="OSError", @@ -17671,7 +16198,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A boolean that is true if the serverless function is executed for the first time (aka cold-start).", type=AttributeType.BOOLEAN, keys=("faas.coldstart",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=True, @@ -17683,7 +16212,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A string containing the schedule period as Cron Expression.", type=AttributeType.STRING, keys=("faas.cron",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="0/5 * * * ? *", @@ -17696,7 +16227,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The duration a function took to run, in milliseconds.", type=AttributeType.INTEGER, keys=("faas.duration_in_ms",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=120, @@ -17708,7 +16241,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The code that's run when the cloud provider invokes your function.", type=AttributeType.STRING, keys=("faas.entry_point",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="my_main_function", @@ -17719,59 +16254,50 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "faas.execution": AttributeMetadata( brief="The execution ID of the current function execution.", type=AttributeType.STRING, - keys=( - "faas.invocation_id", - "aws.lambda.aws_request_id", - "faas.execution", + keys=("faas.invocation_id", "aws.lambda.aws_request_id", "faas.execution",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="af9d5aa4-a685-4c5f-a22b-444f80b3cc28", deprecation=DeprecationInfo( replacement="faas.invocation_id", reason="This attribute is being deprecated in favor of faas.invocation_id, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["faas.invocation_id", "aws.lambda.aws_request_id"], + aliases=["faas.invocation_id","aws.lambda.aws_request_id"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[473], - description="Added faas.execution attribute, deprecated in favor of faas.invocation_id", - ), + ChangelogEntry(version="0.16.0", prs=[473], description="Added faas.execution attribute, deprecated in favor of faas.invocation_id"), ], ), "faas.id": AttributeMetadata( brief="The unique ID of the single function that this runtime instance executes.", type=AttributeType.STRING, - keys=( - "cloud.resource_id", - "faas.id", + keys=("cloud.resource_id", "faas.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function", deprecation=DeprecationInfo( replacement="cloud.resource_id", reason="This attribute is being deprecated in favor of cloud.resource_id, which is the OTel-aligned replacement (renamed in OTel semantic conventions v1.19.0).", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["cloud.resource_id"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[475], - description="Added faas.id attribute, deprecated in favor of cloud.resource_id", - ), + ChangelogEntry(version="0.16.0", prs=[475], description="Added faas.id attribute, deprecated in favor of cloud.resource_id"), ], ), "faas.identity": AttributeMetadata( 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=AttributeType.STRING, keys=("faas.identity",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="name@project.iam.gserviceaccount.com (GCP), arn:aws:iam::123456789012:role/role-name (AWS), 00000000-0000-0000-0000-000000000000 (Azure)", @@ -17782,22 +16308,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "faas.invocation_id": AttributeMetadata( brief="The invocation ID of the current function invocation.", type=AttributeType.STRING, - keys=( - "faas.invocation_id", - "aws.lambda.aws_request_id", - "faas.execution", + keys=("faas.invocation_id", "aws.lambda.aws_request_id", "faas.execution",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="af9d5aa4-a685-4c5f-a22b-444f80b3cc28", - aliases=["aws.lambda.aws_request_id", "faas.execution"], + aliases=["aws.lambda.aws_request_id","faas.execution"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[473], - description="Added faas.execution as an alias", - ), + ChangelogEntry(version="0.16.0", prs=[473], description="Added faas.execution as an alias"), ChangelogEntry(version="0.11.1", prs=[414, 424]), ], ), @@ -17805,58 +16325,51 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name of the invoked function.", type=AttributeType.STRING, keys=("faas.invoked_name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="my-function", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[481], - description="Added faas.invoked_name attribute", - ), + ChangelogEntry(version="0.16.0", prs=[481], description="Added faas.invoked_name attribute"), ], ), "faas.invoked_provider": AttributeMetadata( brief="The cloud provider of the invoked function.", type=AttributeType.STRING, keys=("faas.invoked_provider",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="aws", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[481], - description="Added faas.invoked_provider attribute", - ), + ChangelogEntry(version="0.16.0", prs=[481], description="Added faas.invoked_provider attribute"), ], ), "faas.invoked_region": AttributeMetadata( brief="The cloud region of the invoked function.", type=AttributeType.STRING, keys=("faas.invoked_region",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="eu-central-1", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[481], - description="Added faas.invoked_region attribute", - ), + ChangelogEntry(version="0.16.0", prs=[481], description="Added faas.invoked_region attribute"), ], ), "faas.name": AttributeMetadata( brief="The name of the serverless function", type=AttributeType.STRING, - keys=( - "faas.name", - "aws.lambda.function_name", + keys=("faas.name", "aws.lambda.function_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="my_function", @@ -17869,7 +16382,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A string containing the function invocation time in the ISO 8601 format expressed in UTC.", type=AttributeType.STRING, keys=("faas.time",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="2020-01-23T13:47:06Z", @@ -17882,7 +16397,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Type of the trigger which caused this function invocation.", type=AttributeType.STRING, keys=("faas.trigger",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="timer", @@ -17894,11 +16411,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "faas.version": AttributeMetadata( brief="The version of the function that was invoked", type=AttributeType.STRING, - keys=( - "faas.version", - "aws.lambda.function_version", + keys=("faas.version", "aws.lambda.function_version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="$LATEST", @@ -17910,18 +16426,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "fcp": AttributeMetadata( brief="The time it takes for the browser to render the first piece of meaningful content on the screen", type=AttributeType.DOUBLE, - keys=( - "browser.web_vital.fcp.value", - "fcp", + keys=("browser.web_vital.fcp.value", "fcp",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=547.6951, deprecation=DeprecationInfo( replacement="browser.web_vital.fcp.value", reason="This attribute is being deprecated in favor of browser.web_vital.fcp.value", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.fcp.value"], changelog=[ @@ -17934,36 +16449,36 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("file.path",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="File paths can contain end-user paths (e.g. from stack traces) that may be sensitive.", + reason="File paths can contain end-user paths (e.g. from stack traces) that may be sensitive." ), is_in_otel=True, visibility=Visibility.PUBLIC, example="/home/user/example.txt", changelog=[ - ChangelogEntry( - version="0.17.0", prs=[458], description="Added file.path attribute" - ), + ChangelogEntry(version="0.17.0", prs=[458], description="Added file.path attribute"), ], ), "file.size": AttributeMetadata( brief="File size in bytes.", type=AttributeType.INTEGER, keys=("file.size",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=1024, changelog=[ - ChangelogEntry( - version="0.17.0", prs=[458], description="Added file.size attribute" - ), + ChangelogEntry(version="0.17.0", prs=[458], description="Added file.size attribute"), ], ), "flag.evaluation.": AttributeMetadata( brief="An instance of a feature flag evaluation. The value of this attribute is the boolean representing the evaluation result. The suffix is the name of the feature flag.", type=AttributeType.BOOLEAN, keys=("flag.evaluation.",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -17975,18 +16490,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "fp": AttributeMetadata( brief="The time it takes for the browser to render the first pixel on the screen", type=AttributeType.DOUBLE, - keys=( - "browser.web_vital.fp.value", - "fp", + keys=("browser.web_vital.fp.value", "fp",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=477.1926, deprecation=DeprecationInfo( replacement="browser.web_vital.fp.value", reason="This attribute is being deprecated in favor of browser.web_vital.fp.value", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.fp.value"], changelog=[ @@ -17996,218 +16510,164 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "frames.delay": AttributeMetadata( 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=AttributeType.INTEGER, - keys=( - "app.vitals.frames.delay.value", - "frames.delay", - "mobile.frames_delay", + keys=("app.vitals.frames.delay.value", "frames.delay", "mobile.frames_delay",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=5, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.vitals.frames.delay.value"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Deprecated in favor of app.vitals.frames.delay.value", - ), + ChangelogEntry(version="0.5.0", prs=[313], description="Deprecated in favor of app.vitals.frames.delay.value"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="mobile.frames_delay", type="second"), + search_alias=SearchAlias( + name="mobile.frames_delay", + type="second" + ), ), "frames.frozen": AttributeMetadata( brief="The number of frozen frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=( - "app.vitals.frames.frozen.count", - "frames.frozen", - "mobile.frozen_frames", - "sentry.frames.frozen", + keys=("app.vitals.frames.frozen.count", "frames.frozen", "mobile.frozen_frames", "sentry.frames.frozen",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=3, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL, - ), - aliases=["app.vitals.frames.frozen.count", "sentry.frames.frozen"], - changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[500], - description="Added sentry.frames.frozen as an alias", - ), - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Deprecated in favor of app.vitals.frames.frozen.count", - ), + status=DeprecationStatus.BACKFILL + ), + aliases=["app.vitals.frames.frozen.count","sentry.frames.frozen"], + changelog=[ + ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.frozen as an alias"), + ChangelogEntry(version="0.5.0", prs=[313], description="Deprecated in favor of app.vitals.frames.frozen.count"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="mobile.frozen_frames"), + search_alias=SearchAlias( + name="mobile.frozen_frames" + ), ), "frames.slow": AttributeMetadata( brief="The number of slow frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=( - "app.vitals.frames.slow.count", - "frames.slow", - "mobile.slow_frames", - "sentry.frames.slow", + keys=("app.vitals.frames.slow.count", "frames.slow", "mobile.slow_frames", "sentry.frames.slow",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL, - ), - aliases=["app.vitals.frames.slow.count", "sentry.frames.slow"], - changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[500], - description="Added sentry.frames.slow as an alias", - ), - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Deprecated in favor of app.vitals.frames.slow.count", - ), + status=DeprecationStatus.BACKFILL + ), + aliases=["app.vitals.frames.slow.count","sentry.frames.slow"], + changelog=[ + ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.slow as an alias"), + ChangelogEntry(version="0.5.0", prs=[313], description="Deprecated in favor of app.vitals.frames.slow.count"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="mobile.slow_frames"), + search_alias=SearchAlias( + name="mobile.slow_frames" + ), ), "frames.total": AttributeMetadata( brief="The number of total frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=( - "app.vitals.frames.total.count", - "frames.total", - "mobile.total_frames", - "sentry.frames.total", + keys=("app.vitals.frames.total.count", "frames.total", "mobile.total_frames", "sentry.frames.total",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=60, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL, - ), - aliases=["app.vitals.frames.total.count", "sentry.frames.total"], - changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[500], - description="Added sentry.frames.total as an alias", - ), - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Deprecated in favor of app.vitals.frames.total.count", - ), + status=DeprecationStatus.BACKFILL + ), + aliases=["app.vitals.frames.total.count","sentry.frames.total"], + changelog=[ + ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.total as an alias"), + ChangelogEntry(version="0.5.0", prs=[313], description="Deprecated in favor of app.vitals.frames.total.count"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="mobile.total_frames"), + search_alias=SearchAlias( + name="mobile.total_frames" + ), ), "frames_frozen_rate": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=( - "app.vitals.frames.frozen.rate", - "frames_frozen_rate", + keys=("app.vitals.frames.frozen.rate", "frames_frozen_rate",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.vitals.frames.frozen.rate"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[493], - description="Deprecated in favor of app.vitals.frames.frozen.rate", - ), - ChangelogEntry( - version="0.7.0", - prs=[362], - description="Added frames_frozen_rate attribute", - ), + ChangelogEntry(version="0.19.0", prs=[493], description="Deprecated in favor of app.vitals.frames.frozen.rate"), + ChangelogEntry(version="0.7.0", prs=[362], description="Added frames_frozen_rate attribute"), ], ), "frames_slow_rate": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=( - "app.vitals.frames.slow.rate", - "frames_slow_rate", + keys=("app.vitals.frames.slow.rate", "frames_slow_rate",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.vitals.frames.slow.rate"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[493], - description="Deprecated in favor of app.vitals.frames.slow.rate", - ), - ChangelogEntry( - version="0.7.0", - prs=[362], - description="Added frames_slow_rate attribute", - ), + ChangelogEntry(version="0.19.0", prs=[493], description="Deprecated in favor of app.vitals.frames.slow.rate"), + ChangelogEntry(version="0.7.0", prs=[362], description="Added frames_slow_rate attribute"), ], ), "fs_error": AttributeMetadata( brief="The error message of a file system error.", type=AttributeType.STRING, keys=("fs_error",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="ENOENT: no such file or directory", deprecation=DeprecationInfo( replacement="error.type", - reason="This attribute is not part of the OpenTelemetry specification and error.type fits much better. The value changes from the full error message to the syscall error code, so the old value cannot be copied over.", - ), - changelog=[ - ChangelogEntry( - version="0.23.0", - prs=[638], - description="Remove unnecessary transformation and change deprecation status to null.", - ), - ChangelogEntry( - version="0.22.0", - prs=[589], - description="Transform fs_error into error.type", - ), + reason="This attribute is not part of the OpenTelemetry specification and error.type fits much better. The value changes from the full error message to the syscall error code, so the old value cannot be copied over." + ), + changelog=[ + ChangelogEntry(version="0.23.0", prs=[638], description="Remove unnecessary transformation and change deprecation status to null."), + ChangelogEntry(version="0.22.0", prs=[589], description="Transform fs_error into error.type"), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -18216,151 +16676,135 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The event ID from the legacy GCP Cloud Function context (1st gen)", type=AttributeType.STRING, keys=("gcp.function.context.event_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="1234567890", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[371], - description="Added gcp.function.context.event_id attribute", - ), + ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.event_id attribute"), ], ), "gcp.function.context.event_type": AttributeMetadata( brief="The type of the GCP Cloud Function event", type=AttributeType.STRING, keys=("gcp.function.context.event_type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="google.pubsub.topic.publish", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[371], - description="Added gcp.function.context.event_type attribute", - ), + ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.event_type attribute"), ], ), "gcp.function.context.id": AttributeMetadata( brief="The unique event ID from the GCP CloudEvents context (2nd gen Cloud Functions)", type=AttributeType.STRING, keys=("gcp.function.context.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="1234567890", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[371], - description="Added gcp.function.context.id attribute", - ), + ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.id attribute"), ], ), "gcp.function.context.resource": AttributeMetadata( brief="The resource that triggered the GCP Cloud Function event", type=AttributeType.STRING, keys=("gcp.function.context.resource",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="projects/my-project/topics/my-topic", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[371], - description="Added gcp.function.context.resource attribute", - ), + ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.resource attribute"), ], ), "gcp.function.context.source": AttributeMetadata( brief="The source of the GCP Cloud Function event", type=AttributeType.STRING, keys=("gcp.function.context.source",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="//pubsub.googleapis.com/projects/my-project/topics/my-topic", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[371], - description="Added gcp.function.context.source attribute", - ), + ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.source attribute"), ], ), "gcp.function.context.specversion": AttributeMetadata( brief="The CloudEvents specification version of the GCP Cloud Function event", type=AttributeType.STRING, keys=("gcp.function.context.specversion",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="1.0", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[371], - description="Added gcp.function.context.specversion attribute", - ), + ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.specversion attribute"), ], ), "gcp.function.context.time": AttributeMetadata( brief="The timestamp of the GCP Cloud Function event", type=AttributeType.STRING, keys=("gcp.function.context.time",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="2024-01-01T00:00:00.000Z", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[371], - description="Added gcp.function.context.time attribute", - ), + ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.time attribute"), ], ), "gcp.function.context.timestamp": AttributeMetadata( brief="The legacy timestamp of the GCP Cloud Function event", type=AttributeType.STRING, keys=("gcp.function.context.timestamp",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="2024-01-01T00:00:00.000Z", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[371], - description="Added gcp.function.context.timestamp attribute", - ), + ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.timestamp attribute"), ], ), "gcp.function.context.type": AttributeMetadata( brief="The type of the GCP Cloud Function event context", type=AttributeType.STRING, keys=("gcp.function.context.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="cloud_functions.context", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[371], - description="Added gcp.function.context.type attribute", - ), + ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.type attribute"), ], ), "gcp.project.id": AttributeMetadata( brief="The ID of the project in GCP that this resource is associated with", type=AttributeType.STRING, keys=("gcp.project.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="my-project-123", @@ -18371,31 +16815,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gcp_region": AttributeMetadata( brief="The geographical region the GCP resource is running", type=AttributeType.STRING, - keys=( - "cloud.region", - "aws_region", - "gcp_region", + keys=("cloud.region", "aws_region", "gcp_region",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="us-east-1", examples=["us-east-1"], deprecation=DeprecationInfo( - replacement="cloud.region", status=DeprecationStatus.BACKFILL + replacement="cloud.region", + status=DeprecationStatus.BACKFILL ), - aliases=["cloud.region", "aws_region"], + aliases=["cloud.region","aws_region"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[535], description="Added gcp_region attribute" - ), + ChangelogEntry(version="0.19.0", prs=[535], description="Added gcp_region attribute"), ], ), "gen_ai.agent.name": AttributeMetadata( brief="The name of the agent being used.", type=AttributeType.STRING, keys=("gen_ai.agent.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="ResearchAssistant", @@ -18407,39 +16850,37 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The fraction of the model context window utilized by this generation.", type=AttributeType.DOUBLE, keys=("gen_ai.context.utilization",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.75, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[315], - description="Added gen_ai.context.utilization attribute", - ), + ChangelogEntry(version="0.5.0", prs=[315], description="Added gen_ai.context.utilization attribute"), ], ), "gen_ai.context.window_size": AttributeMetadata( brief="The maximum context window size supported by the model for this generation.", type=AttributeType.INTEGER, keys=("gen_ai.context.window_size",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=128000, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[315], - description="Added gen_ai.context.window_size attribute", - ), + ChangelogEntry(version="0.5.0", prs=[315], description="Added gen_ai.context.window_size attribute"), ], ), "gen_ai.conversation.id": AttributeMetadata( brief="The unique identifier for a conversation (session, thread), used to store and correlate messages within this conversation.", type=AttributeType.STRING, keys=("gen_ai.conversation.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="conv_5j66UpCpwteGg4YSxUnt7lPY", @@ -18451,134 +16892,107 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The cost of input tokens written to cache in USD.", type=AttributeType.DOUBLE, keys=("gen_ai.cost.cache_creation.input_tokens",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=12.34, changelog=[ - ChangelogEntry( - version="0.16.0", - description="Added gen_ai.cost.cache_creation.input_tokens attribute", - ), - ], - 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.", + ChangelogEntry(version="0.16.0", description="Added gen_ai.cost.cache_creation.input_tokens attribute"), ], + 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."], ), "gen_ai.cost.cache_read.input_tokens": AttributeMetadata( brief="The cost of cached input tokens in USD.", type=AttributeType.DOUBLE, keys=("gen_ai.cost.cache_read.input_tokens",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=12.34, changelog=[ - ChangelogEntry( - version="0.16.0", - description="Added gen_ai.cost.cache_read.input_tokens attribute", - ), - ], - 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.", + ChangelogEntry(version="0.16.0", description="Added gen_ai.cost.cache_read.input_tokens attribute"), ], + 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."], ), "gen_ai.cost.input_tokens": AttributeMetadata( brief="The total cost of all input tokens in USD (includes cached and cache creation tokens).", type=AttributeType.DOUBLE, keys=("gen_ai.cost.input_tokens",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=123.45, changelog=[ - ChangelogEntry( - version="0.9.0", prs=[397], description="Add additional_context" - ), + ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[112]), ], - 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.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.input_tokens.", - "This is the total cost of all input tokens, including cached and cache creation tokens at their respective rates. For the cached portion, see gen_ai.cost.cache_read.input_tokens. For the cache creation portion, see gen_ai.cost.cache_creation.input_tokens.", - ], + 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.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.input_tokens.","This is the total cost of all input tokens, including cached and cache creation tokens at their respective rates. For the cached portion, see gen_ai.cost.cache_read.input_tokens. For the cache creation portion, see gen_ai.cost.cache_creation.input_tokens."], ), "gen_ai.cost.output_tokens": AttributeMetadata( brief="The total cost of all output tokens in USD (includes reasoning tokens).", type=AttributeType.DOUBLE, keys=("gen_ai.cost.output_tokens",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=123.45, changelog=[ - ChangelogEntry( - version="0.9.0", prs=[397], description="Add additional_context" - ), + ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[112]), ], - 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.output_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.output_tokens.", - "This is the total cost of all output tokens, including reasoning tokens at their respective rate. For the reasoning portion, see gen_ai.cost.reasoning.output_tokens.", - ], + 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.output_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.output_tokens.","This is the total cost of all output tokens, including reasoning tokens at their respective rate. For the reasoning portion, see gen_ai.cost.reasoning.output_tokens."], ), "gen_ai.cost.reasoning.output_tokens": AttributeMetadata( brief="The cost of reasoning output tokens in USD.", type=AttributeType.DOUBLE, keys=("gen_ai.cost.reasoning.output_tokens",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=12.34, changelog=[ - ChangelogEntry( - version="0.16.0", - description="Added gen_ai.cost.reasoning.output_tokens attribute", - ), - ], - 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.reasoning.output_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.reasoning.output_tokens.", - "This is a subset of gen_ai.cost.output_tokens, not an independent cost. Do not sum this with gen_ai.cost.output_tokens — it is already included.", + ChangelogEntry(version="0.16.0", description="Added gen_ai.cost.reasoning.output_tokens attribute"), ], + 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.reasoning.output_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.reasoning.output_tokens.","This is a subset of gen_ai.cost.output_tokens, not an independent cost. Do not sum this with gen_ai.cost.output_tokens — it is already included."], ), "gen_ai.cost.total_tokens": AttributeMetadata( brief="The total cost for the tokens used.", type=AttributeType.DOUBLE, - keys=( - "gen_ai.cost.total_tokens", - "ai.total_cost", + keys=("gen_ai.cost.total_tokens", "ai.total_cost",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=12.34, aliases=["ai.total_cost"], changelog=[ - ChangelogEntry( - version="0.9.0", prs=[397], description="Add additional_context" - ), + ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), ChangelogEntry(version="0.5.0", prs=[264]), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[126]), ], - 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.total_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.total_tokens.", - ], + 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.total_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.total_tokens."], ), "gen_ai.embeddings.input": AttributeMetadata( brief="The input to the embeddings model.", type=AttributeType.STRING, keys=("gen_ai.embeddings.input",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="What's the weather in Paris?", @@ -18590,43 +17004,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Framework-specific tracing label for the execution of a function or other unit of execution in a generative AI system.", type=AttributeType.STRING, keys=("gen_ai.function_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="my-awesome-function", changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[308], - description="Added gen_ai.function_id attribute", - ), + ChangelogEntry(version="0.5.0", prs=[308], description="Added gen_ai.function_id attribute"), ], ), "gen_ai.input.messages": AttributeMetadata( - brief='The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `"user"`, `"assistant"`, `"tool"`, or `"system"`. For messages of the role `"tool"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: "text", text:"..."}`. For `gen_ai.decide` operations, the array holds one object `{type: "evaluation", state: ..., questions: {...}}` with the evaluated state and the questions keyed by name, as the caller passed them.', + brief="The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `\"user\"`, `\"assistant\"`, `\"tool\"`, or `\"system\"`. For messages of the role `\"tool\"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: \"text\", text:\"...\"}`. For `gen_ai.decide` operations, the array holds one object `{type: \"evaluation\", state: ..., questions: {...}}` with the evaluated state and the questions keyed by name, as the caller passed them.", type=AttributeType.STRING, - keys=( - "gen_ai.input.messages", - "ai.input_messages", - "ai.prompt", - "ai.prompt.messages", - "ai.texts", - "gen_ai.prompt", + keys=("gen_ai.input.messages", "ai.input_messages", "ai.prompt", "ai.prompt.messages", "ai.texts", "gen_ai.prompt",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example='[{"role": "user", "parts": [{"type": "text", "content": "Weather in Paris?"}]}, {"role": "assistant", "parts": [{"type": "tool_call", "id": "call_VSPygqKTWdrhaFErNvMV18Yl", "name": "get_weather", "arguments": {"location": "Paris"}}]}, {"role": "tool", "parts": [{"type": "tool_call_response", "id": "call_VSPygqKTWdrhaFErNvMV18Yl", "result": "rainy, 57°F"}]}]', - aliases=["ai.texts", "ai.prompt.messages", "gen_ai.prompt", "ai.prompt"], - changelog=[ - ChangelogEntry( - version="0.26.0", - prs=[650], - description="Describe the evaluation message shape for gen_ai.evaluate", - ), - ChangelogEntry( - version="0.21.0", prs=[583], description="Added ai.prompt as an alias" - ), + example="[{\"role\": \"user\", \"parts\": [{\"type\": \"text\", \"content\": \"Weather in Paris?\"}]}, {\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"id\": \"call_VSPygqKTWdrhaFErNvMV18Yl\", \"name\": \"get_weather\", \"arguments\": {\"location\": \"Paris\"}}]}, {\"role\": \"tool\", \"parts\": [{\"type\": \"tool_call_response\", \"id\": \"call_VSPygqKTWdrhaFErNvMV18Yl\", \"result\": \"rainy, 57°F\"}]}]", + aliases=["ai.texts","ai.prompt.messages","gen_ai.prompt","ai.prompt"], + changelog=[ + ChangelogEntry(version="0.26.0", prs=[650], description="Describe the evaluation message shape for gen_ai.evaluate"), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.prompt as an alias"), ChangelogEntry(version="0.5.0", prs=[264]), ChangelogEntry(version="0.4.0", prs=[221]), ], @@ -18635,103 +17036,89 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The search query used to retrieve memories. Only applicable to 'search_memory'. Opt-in: instrumentations SHOULD NOT capture this by default and SHOULD gate it behind explicit user opt-in, as it may contain sensitive information.", type=AttributeType.STRING, keys=("gen_ai.memory.query.text",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="user dietary preferences", examples=["user dietary preferences", "past flight bookings"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[653], - description="Added gen_ai.memory.query.text attribute", - ), + ChangelogEntry(version="0.27.0", prs=[653], description="Added gen_ai.memory.query.text attribute"), ], ), "gen_ai.memory.record.count": AttributeMetadata( brief="The number of memory records relevant to the operation. For 'search_memory' this is the number returned; for 'create_memory', 'update_memory', 'upsert_memory' and 'delete_memory' it is the number the operation attempted to create, modify, create-or-update, or delete respectively.", type=AttributeType.INTEGER, keys=("gen_ai.memory.record.count",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=3, examples=[3], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[653], - description="Added gen_ai.memory.record.count attribute", - ), + ChangelogEntry(version="0.27.0", prs=[653], description="Added gen_ai.memory.record.count attribute"), ], ), "gen_ai.memory.record.id": AttributeMetadata( brief="The unique identifier of the memory record. Set when the operation applies to a specific memory record. For 'delete_memory', its absence may indicate the operation intends to delete all memory records in the store.", type=AttributeType.STRING, keys=("gen_ai.memory.record.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="mem_5j66UpCpwteGg4YSxUnt7lPY", examples=["mem_5j66UpCpwteGg4YSxUnt7lPY"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[653], - description="Added gen_ai.memory.record.id attribute", - ), + ChangelogEntry(version="0.27.0", prs=[653], description="Added gen_ai.memory.record.id attribute"), ], ), "gen_ai.memory.records": AttributeMetadata( brief="The memory records stored or retrieved in a memory operation. Stringified JSON array; each element follows the OTel MemoryRecord schema: {content (required), id, metadata, score}. Opt-in: instrumentations SHOULD NOT capture this by default and SHOULD gate it behind explicit user opt-in, as it may contain sensitive information including user/PII data.", type=AttributeType.STRING, keys=("gen_ai.memory.records",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, - example='[{"content": "User prefers dark mode", "id": "mem_123", "score": 0.95}, {"content": {"preference": "vegetarian meals", "confidence": 0.9}, "metadata": {"source": "profile"}}]', - examples=[ - '[{"content": "User prefers dark mode", "id": "mem_123", "score": 0.95}, {"content": {"preference": "vegetarian meals", "confidence": 0.9}, "metadata": {"source": "profile"}}]' - ], + example="[{\"content\": \"User prefers dark mode\", \"id\": \"mem_123\", \"score\": 0.95}, {\"content\": {\"preference\": \"vegetarian meals\", \"confidence\": 0.9}, \"metadata\": {\"source\": \"profile\"}}]", + examples=["[{\"content\": \"User prefers dark mode\", \"id\": \"mem_123\", \"score\": 0.95}, {\"content\": {\"preference\": \"vegetarian meals\", \"confidence\": 0.9}, \"metadata\": {\"source\": \"profile\"}}]"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[653], - description="Added gen_ai.memory.records attribute", - ), + ChangelogEntry(version="0.27.0", prs=[653], description="Added gen_ai.memory.records attribute"), ], ), "gen_ai.memory.store.id": AttributeMetadata( brief="The unique identifier of the memory store the operation targets. What this maps to is implementation-specific (e.g. a collection, namespace, or vector index) and SHOULD be documented per integration.", type=AttributeType.STRING, keys=("gen_ai.memory.store.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="ms_abc123", examples=["ms_abc123", "user-preferences-store", "seer-knowledge"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[653], - description="Added gen_ai.memory.store.id attribute", - ), + ChangelogEntry(version="0.27.0", prs=[653], description="Added gen_ai.memory.store.id attribute"), ], ), "gen_ai.operation.name": AttributeMetadata( brief="The name of the operation being performed.", type=AttributeType.STRING, keys=("gen_ai.operation.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="chat", changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[653, 680], - description="Added memory operation values, 'evaluate', and 'decide' to the well-known values; deprecated 'evaluate' in favor of 'decide'", - ), + ChangelogEntry(version="0.27.0", prs=[653, 680], description="Added memory operation values, 'evaluate', and 'decide' to the well-known values; deprecated 'evaluate' in favor of 'decide'"), ChangelogEntry(version="0.4.0", prs=[225]), ChangelogEntry(version="0.1.0", prs=[62, 127]), ], @@ -18740,94 +17127,68 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The type of AI operation. Added during ingestion based on span.op and gen_ai.operation.type. Used to filter and aggregate data in the UI", type=AttributeType.STRING, keys=("gen_ai.operation.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="tool", changelog=[ - ChangelogEntry( - version="0.27.0", prs=[653], description="Added 'memory' value" - ), + ChangelogEntry(version="0.27.0", prs=[653], description="Added 'memory' value"), ChangelogEntry(version="0.4.0", prs=[257]), ChangelogEntry(version="0.1.0", prs=[113, 127]), ], ), "gen_ai.output.messages": AttributeMetadata( - brief='The model\'s response messages. It has to be a stringified version of an array of message objects, which can include text responses and tool calls. For `gen_ai.decide` operations, the array holds one object `{type: "evaluation", answers: {...}}` with the answers keyed by question name, as the provider returned them.', + brief="The model's response messages. It has to be a stringified version of an array of message objects, which can include text responses and tool calls. For `gen_ai.decide` operations, the array holds one object `{type: \"evaluation\", answers: {...}}` with the answers keyed by question name, as the provider returned them.", type=AttributeType.STRING, - keys=( - "gen_ai.output.messages", - "ai.response.text", - "ai.response.toolCalls", - "ai.responses", - "ai.tool_calls", + keys=("gen_ai.output.messages", "ai.response.text", "ai.response.toolCalls", "ai.responses", "ai.tool_calls",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example='[{"role": "assistant", "parts": [{"type": "text", "content": "The weather in Paris is currently rainy with a temperature of 57°F."}], "finish_reason": "stop"}]', - aliases=["ai.response.toolCalls", "ai.response.text"], + example="[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"The weather in Paris is currently rainy with a temperature of 57°F.\"}], \"finish_reason\": \"stop\"}]", + aliases=["ai.response.toolCalls","ai.response.text"], changelog=[ - ChangelogEntry( - version="0.26.0", - prs=[650], - description="Describe the evaluation message shape for gen_ai.evaluate", - ), + ChangelogEntry(version="0.26.0", prs=[650], description="Describe the evaluation message shape for gen_ai.evaluate"), ChangelogEntry(version="0.4.0", prs=[221]), ], ), "gen_ai.pipeline.name": AttributeMetadata( brief="Name of the AI pipeline or chain being executed.", type=AttributeType.STRING, - keys=( - "gen_ai.pipeline.name", - "ai.pipeline.name", - "langchain.chain.name", + keys=("gen_ai.pipeline.name", "ai.pipeline.name", "langchain.chain.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Autofix Pipeline", - aliases=["ai.pipeline.name", "langchain.chain.name"], + aliases=["ai.pipeline.name","langchain.chain.name"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[599], - description="Added langchain.chain.name as an alias", - ), + ChangelogEntry(version="0.22.0", prs=[599], description="Added langchain.chain.name as an alias"), ChangelogEntry(version="0.1.0", prs=[76, 127]), ], ), "gen_ai.prompt": AttributeMetadata( brief="The input messages sent to the model", type=AttributeType.STRING, - keys=( - "gen_ai.input.messages", - "ai.input_messages", - "ai.prompt", - "ai.prompt.messages", - "ai.texts", - "gen_ai.prompt", + keys=("gen_ai.input.messages", "ai.input_messages", "ai.prompt", "ai.prompt.messages", "ai.texts", "gen_ai.prompt",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example='[{"role": "user", "message": "hello"}]', + example="[{\"role\": \"user\", \"message\": \"hello\"}]", deprecation=DeprecationInfo( replacement="gen_ai.input.messages", reason="Deprecated from OTEL, use gen_ai.input.messages with the new format instead.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=[ - "gen_ai.input.messages", - "ai.texts", - "ai.prompt.messages", - "ai.prompt", - ], + aliases=["gen_ai.input.messages","ai.texts","ai.prompt.messages","ai.prompt"], changelog=[ - ChangelogEntry( - version="0.21.0", prs=[583], description="Added ai.prompt as an alias" - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.prompt as an alias"), ChangelogEntry(version="0.1.0", prs=[74, 108, 119]), ChangelogEntry(version="0.0.0"), ], @@ -18835,24 +17196,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.prompt.name": AttributeMetadata( brief="The name of the prompt that uniquely identifies it.", type=AttributeType.STRING, - keys=( - "gen_ai.prompt.name", - "mcp.prompt.name", - ), + keys=("gen_ai.prompt.name", "mcp.prompt.name",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Prompt names may reveal user behavior patterns or sensitive operations", + reason="Prompt names may reveal user behavior patterns or sensitive operations" ), is_in_otel=True, visibility=Visibility.PUBLIC, example="summarize_text", aliases=["mcp.prompt.name"], changelog=[ - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Added gen_ai.prompt.name attribute", - ), + ChangelogEntry(version="0.12.0", prs=[420], description="Added gen_ai.prompt.name attribute"), ], ), "gen_ai.prompt.variable.": AttributeMetadata( @@ -18861,40 +17215,29 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("gen_ai.prompt.variable.",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Prompt variables contain user input and may include sensitive information", + reason="Prompt variables contain user input and may include sensitive information" ), is_in_otel=True, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="gen_ai.prompt.variable.language='French'", - examples=[ - "gen_ai.prompt.variable.language='French'", - "gen_ai.prompt.variable.topic='weather'", - ], + examples=["gen_ai.prompt.variable.language='French'", "gen_ai.prompt.variable.topic='weather'"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Added the OpenTelemetry convention for prompt variables", - ), - ], - additional_context=[ - "Capture only when the user explicitly opts in to recording prompt inputs. In MCP, these values are the arguments supplied in prompts/get requests." + ChangelogEntry(version="0.27.0", prs=[671], description="Added the OpenTelemetry convention for prompt variables"), ], + additional_context=["Capture only when the user explicitly opts in to recording prompt inputs. In MCP, these values are the arguments supplied in prompts/get requests."], ), "gen_ai.provider.name": AttributeMetadata( brief="The Generative AI provider as identified by the client or server instrumentation.", type=AttributeType.STRING, - keys=( - "gen_ai.provider.name", - "ai.model.provider", - "gen_ai.system", + keys=("gen_ai.provider.name", "ai.model.provider", "gen_ai.system",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="openai", - aliases=["ai.model.provider", "gen_ai.system"], + aliases=["ai.model.provider","gen_ai.system"], changelog=[ ChangelogEntry(version="0.4.0", prs=[253]), ], @@ -18902,26 +17245,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.request.available_tools": AttributeMetadata( brief="The available tools for the model. It has to be a stringified version of an array of objects.", type=AttributeType.STRING, - keys=( - "gen_ai.tool.definitions", - "ai.prompt.tools", - "ai.tools", - "gen_ai.request.available_tools", + keys=("gen_ai.tool.definitions", "ai.prompt.tools", "ai.tools", "gen_ai.request.available_tools",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example='[{"name": "get_weather", "description": "Get the weather for a given location"}, {"name": "get_news", "description": "Get the news for a given topic"}]', + example="[{\"name\": \"get_weather\", \"description\": \"Get the weather for a given location\"}, {\"name\": \"get_news\", \"description\": \"Get the news for a given topic\"}]", deprecation=DeprecationInfo( - replacement="gen_ai.tool.definitions", status=DeprecationStatus.NORMALIZE + replacement="gen_ai.tool.definitions", + status=DeprecationStatus.NORMALIZE ), aliases=["gen_ai.tool.definitions"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[595], - description="Added gen_ai.tool.definitions as an alias", - ), + ChangelogEntry(version="0.22.0", prs=[595], description="Added gen_ai.tool.definitions as an alias"), ChangelogEntry(version="0.4.0", prs=[221]), ChangelogEntry(version="0.1.0", prs=[63, 127]), ], @@ -18929,11 +17266,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.request.frequency_penalty": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=( - "gen_ai.request.frequency_penalty", - "ai.frequency_penalty", + keys=("gen_ai.request.frequency_penalty", "ai.frequency_penalty",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=0.5, @@ -18947,7 +17283,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The maximum number of tokens to generate in the response.", type=AttributeType.INTEGER, keys=("gen_ai.request.max_tokens",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=2048, @@ -18957,17 +17295,19 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ], ), "gen_ai.request.messages": AttributeMetadata( - brief='The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `"user"`, `"assistant"`, `"tool"`, or `"system"`. For messages of the role `"tool"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: "text", text:"..."}`.', + brief="The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `\"user\"`, `\"assistant\"`, `\"tool\"`, or `\"system\"`. For messages of the role `\"tool\"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: \"text\", text:\"...\"}`.", type=AttributeType.STRING, keys=("gen_ai.request.messages",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example='[{"role": "system", "content": "Generate a random number."}, {"role": "user", "content": [{"text": "Generate a random number between 0 and 10.", "type": "text"}]}, {"role": "tool", "content": {"toolCallId": "1", "toolName": "Weather", "output": "rainy"}}]', + example="[{\"role\": \"system\", \"content\": \"Generate a random number.\"}, {\"role\": \"user\", \"content\": [{\"text\": \"Generate a random number between 0 and 10.\", \"type\": \"text\"}]}, {\"role\": \"tool\", \"content\": {\"toolCallId\": \"1\", \"toolName\": \"Weather\", \"output\": \"rainy\"}}]", deprecation=DeprecationInfo( replacement="gen_ai.input.messages", status=DeprecationStatus.TRANSFORM, - transformation="gen_ai_request_messages_to_input_messages", + transformation="gen_ai_request_messages_to_input_messages" ), aliases=["ai.input_messages"], changelog=[ @@ -18978,31 +17318,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.request.model": AttributeMetadata( brief="The model identifier being used for the request.", type=AttributeType.STRING, - keys=( - "gen_ai.request.model", - "ai.model.id", - "ai.model_id", + keys=("gen_ai.request.model", "ai.model.id", "ai.model_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="gpt-4-turbo-preview", - aliases=["ai.model_id", "ai.model.id"], + aliases=["ai.model_id","ai.model.id"], changelog=[ - ChangelogEntry( - version="0.21.0", prs=[583], description="Added ai.model.id as an alias" - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.model.id as an alias"), ChangelogEntry(version="0.1.0", prs=[62, 127]), ], ), "gen_ai.request.presence_penalty": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=( - "gen_ai.request.presence_penalty", - "ai.presence_penalty", + keys=("gen_ai.request.presence_penalty", "ai.presence_penalty",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=0.5, @@ -19016,46 +17351,41 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The reasoning or thinking effort level requested for a GenAI model.", type=AttributeType.STRING, keys=("gen_ai.request.reasoning.level",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="high", changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[502], - description="Added gen_ai.request.reasoning.level attribute", - ), + ChangelogEntry(version="0.17.0", prs=[502], description="Added gen_ai.request.reasoning.level attribute"), ], ), "gen_ai.request.schema": AttributeMetadata( brief="The stringified JSON schema the model output must conform to.", type=AttributeType.STRING, keys=("gen_ai.request.schema",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example='{"type":"object","properties":{"city":{"type":"string"}}}', - examples=['{"type":"object","properties":{"city":{"type":"string"}}}'], + example="{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}}}", + examples=["{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}}}"], deprecation=DeprecationInfo( reason="This attribute is deprecated. The Sentry conventions have no replacement for the requested output schema." ), changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[583], - description="Added gen_ai.request.schema attribute", - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added gen_ai.request.schema attribute"), ], ), "gen_ai.request.seed": AttributeMetadata( brief="The seed, ideally models given the same seed and same other parameters will produce the exact same output.", type=AttributeType.STRING, - keys=( - "gen_ai.request.seed", - "ai.seed", + keys=("gen_ai.request.seed", "ai.seed",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="1234567890", @@ -19068,26 +17398,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="List of sequences that the model will use to stop generating further tokens.", type=AttributeType.STRING_ARRAY, keys=("gen_ai.request.stop_sequences",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=["forest", "lived"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[482], - description="Added gen_ai.request.stop_sequences attribute", - ), + ChangelogEntry(version="0.16.0", prs=[482], description="Added gen_ai.request.stop_sequences attribute"), ], ), "gen_ai.request.temperature": AttributeMetadata( brief="For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.", type=AttributeType.DOUBLE, - keys=( - "gen_ai.request.temperature", - "ai.temperature", + keys=("gen_ai.request.temperature", "ai.temperature",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=0.1, @@ -19100,11 +17427,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.request.top_k": AttributeMetadata( 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=AttributeType.INTEGER, - keys=( - "gen_ai.request.top_k", - "ai.top_k", + keys=("gen_ai.request.top_k", "ai.top_k",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=35, @@ -19117,11 +17443,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.request.top_p": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=( - "gen_ai.request.top_p", - "ai.top_p", + keys=("gen_ai.request.top_p", "ai.top_p",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=0.7, @@ -19134,41 +17459,33 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.response.finish_reason": AttributeMetadata( brief="The reason why the model stopped generating (singular form).", type=AttributeType.STRING, - keys=( - "gen_ai.response.finish_reasons", - "ai.finish_reason", - "gen_ai.response.finish_reason", + keys=("gen_ai.response.finish_reasons", "ai.finish_reason", "gen_ai.response.finish_reason",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="COMPLETE", deprecation=DeprecationInfo( replacement="gen_ai.response.finish_reasons", - status=DeprecationStatus.NORMALIZE, + status=DeprecationStatus.NORMALIZE ), aliases=["gen_ai.response.finish_reasons"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[498], - description="Added gen_ai.response.finish_reason attribute", - ), + ChangelogEntry(version="0.19.0", prs=[498], description="Added gen_ai.response.finish_reason attribute"), ], ), "gen_ai.response.finish_reasons": AttributeMetadata( brief="The reason why the model stopped generating.", type=AttributeType.STRING, - keys=( - "gen_ai.response.finish_reasons", - "ai.finish_reason", - "gen_ai.response.finish_reason", + keys=("gen_ai.response.finish_reasons", "ai.finish_reason", "gen_ai.response.finish_reason",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="COMPLETE", - aliases=["ai.finish_reason", "gen_ai.response.finish_reason"], + aliases=["ai.finish_reason","gen_ai.response.finish_reason"], changelog=[ ChangelogEntry(version="0.1.0", prs=[57, 127]), ], @@ -19176,43 +17493,32 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.response.id": AttributeMetadata( brief="Unique identifier for the completion.", type=AttributeType.STRING, - keys=( - "gen_ai.response.id", - "ai.generation_id", - "ai.response.id", + keys=("gen_ai.response.id", "ai.generation_id", "ai.response.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="gen_123abc", - aliases=["ai.generation_id", "ai.response.id"], + aliases=["ai.generation_id","ai.response.id"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[583], - description="Added ai.response.id as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.id as an alias"), ChangelogEntry(version="0.1.0", prs=[57, 127]), ], ), "gen_ai.response.model": AttributeMetadata( brief="The vendor-specific ID of the model used.", type=AttributeType.STRING, - keys=( - "gen_ai.response.model", - "ai.response.model", + keys=("gen_ai.response.model", "ai.response.model",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="gpt-4", aliases=["ai.response.model"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[583], - description="Added ai.response.model as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.model as an alias"), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -19221,7 +17527,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The type of the object returned by the model.", type=AttributeType.STRING, keys=("gen_ai.response.object",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="chat.completion", @@ -19230,21 +17538,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is deprecated. The Sentry conventions have no replacement for the raw response object type." ), changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[583], - description="Added gen_ai.response.object attribute", - ), + ChangelogEntry(version="0.21.0", prs=[583], description="Added gen_ai.response.object attribute"), ], ), "gen_ai.response.streaming": AttributeMetadata( brief="Whether or not the AI model call's response was streamed back asynchronously", type=AttributeType.BOOLEAN, - keys=( - "gen_ai.response.streaming", - "ai.streaming", + keys=("gen_ai.response.streaming", "ai.streaming",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -19257,14 +17560,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The model's response text messages. It has to be a stringified version of an array of response text messages.", type=AttributeType.STRING, keys=("gen_ai.response.text",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example='["The weather in Paris is rainy and overcast, with temperatures around 57°F", "The weather in London is sunny and warm, with temperatures around 65°F"]', + example="[\"The weather in Paris is rainy and overcast, with temperatures around 57°F\", \"The weather in London is sunny and warm, with temperatures around 65°F\"]", deprecation=DeprecationInfo( replacement="gen_ai.output.messages", status=DeprecationStatus.TRANSFORM, - transformation="gen_ai_response_to_output_messages", + transformation="gen_ai_response_to_output_messages" ), changelog=[ ChangelogEntry(version="0.4.0", prs=[221]), @@ -19274,45 +17579,35 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.response.time_to_first_chunk": AttributeMetadata( brief="Time in seconds when the first response content chunk arrived in streaming responses.", type=AttributeType.DOUBLE, - keys=( - "gen_ai.response.time_to_first_chunk", - "gen_ai.response.time_to_first_token", + keys=("gen_ai.response.time_to_first_chunk", "gen_ai.response.time_to_first_token",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=0.6853435, aliases=["gen_ai.response.time_to_first_token"], changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[418], - description="Added gen_ai.response.time_to_first_chunk attribute", - ), + ChangelogEntry(version="0.11.0", prs=[418], description="Added gen_ai.response.time_to_first_chunk attribute"), ], ), "gen_ai.response.time_to_first_token": AttributeMetadata( brief="Time in seconds when the first response content chunk arrived in streaming responses.", type=AttributeType.DOUBLE, - keys=( - "gen_ai.response.time_to_first_chunk", - "gen_ai.response.time_to_first_token", + keys=("gen_ai.response.time_to_first_chunk", "gen_ai.response.time_to_first_token",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.6853435, deprecation=DeprecationInfo( replacement="gen_ai.response.time_to_first_chunk", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.response.time_to_first_chunk"], changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[418], - description="Deprecate in favor of gen_ai.response.time_to_first_chunk", - ), + ChangelogEntry(version="0.11.0", prs=[418], description="Deprecate in favor of gen_ai.response.time_to_first_chunk"), ChangelogEntry(version="0.4.0", prs=[227]), ], ), @@ -19320,7 +17615,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The total output tokens per seconds throughput", type=AttributeType.DOUBLE, keys=("gen_ai.response.tokens_per_second",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=12345.67, @@ -19333,14 +17630,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The tool calls in the model's response. It has to be a stringified version of an array of objects.", type=AttributeType.STRING, keys=("gen_ai.response.tool_calls",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example='[{"name": "get_weather", "arguments": {"location": "Paris"}}]', + example="[{\"name\": \"get_weather\", \"arguments\": {\"location\": \"Paris\"}}]", deprecation=DeprecationInfo( replacement="gen_ai.output.messages", status=DeprecationStatus.TRANSFORM, - transformation="gen_ai_response_to_output_messages", + transformation="gen_ai_response_to_output_messages" ), changelog=[ ChangelogEntry(version="0.4.0", prs=[221]), @@ -19350,19 +17649,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.system": AttributeMetadata( brief="The provider of the model.", type=AttributeType.STRING, - keys=( - "gen_ai.provider.name", - "ai.model.provider", - "gen_ai.system", + keys=("gen_ai.provider.name", "ai.model.provider", "gen_ai.system",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="openai", deprecation=DeprecationInfo( - replacement="gen_ai.provider.name", status=DeprecationStatus.NORMALIZE + replacement="gen_ai.provider.name", + status=DeprecationStatus.NORMALIZE ), - aliases=["ai.model.provider", "gen_ai.provider.name"], + aliases=["ai.model.provider","gen_ai.provider.name"], changelog=[ ChangelogEntry(version="0.4.0", prs=[253]), ChangelogEntry(version="0.1.0", prs=[57, 127]), @@ -19371,17 +17669,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.system.message": AttributeMetadata( brief="The system instructions passed to the model.", type=AttributeType.STRING, - keys=( - "gen_ai.system_instructions", - "ai.preamble", - "gen_ai.system.message", + keys=("gen_ai.system_instructions", "ai.preamble", "gen_ai.system.message",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="You are a helpful assistant", deprecation=DeprecationInfo( - replacement="gen_ai.system_instructions", status=DeprecationStatus.BACKFILL + replacement="gen_ai.system_instructions", + status=DeprecationStatus.BACKFILL ), changelog=[ ChangelogEntry(version="0.4.0", prs=[221]), @@ -19391,12 +17688,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.system_instructions": AttributeMetadata( brief="The system instructions passed to the model.", type=AttributeType.STRING, - keys=( - "gen_ai.system_instructions", - "ai.preamble", - "gen_ai.system.message", + keys=("gen_ai.system_instructions", "ai.preamble", "gen_ai.system.message",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="You are a helpful assistant", @@ -19409,16 +17704,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.call.arguments": AttributeMetadata( brief="The arguments of the tool call. It has to be a stringified version of the arguments to the tool.", type=AttributeType.STRING, - keys=( - "gen_ai.tool.call.arguments", - "ai.toolCall.args", - "gen_ai.tool.input", + keys=("gen_ai.tool.call.arguments", "ai.toolCall.args", "gen_ai.tool.input",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example='{"location": "Paris"}', - aliases=["gen_ai.tool.input", "ai.toolCall.args"], + example="{\"location\": \"Paris\"}", + aliases=["gen_ai.tool.input","ai.toolCall.args"], changelog=[ ChangelogEntry(version="0.5.0", prs=[265]), ChangelogEntry(version="0.4.0", prs=[221]), @@ -19427,25 +17720,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.call.result": AttributeMetadata( brief="The result of the tool call. It has to be a stringified version of the result of the tool.", type=AttributeType.STRING, - keys=( - "gen_ai.tool.call.result", - "ai.toolCall.result", - "anthropic.tool_result.content", - "gen_ai.tool.message", - "gen_ai.tool.output", - "mcp.tool.result.content", + keys=("gen_ai.tool.call.result", "ai.toolCall.result", "anthropic.tool_result.content", "gen_ai.tool.message", "gen_ai.tool.output", "mcp.tool.result.content",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="rainy, 57°F", - aliases=[ - "gen_ai.tool.output", - "gen_ai.tool.message", - "mcp.tool.result.content", - "ai.toolCall.result", - "anthropic.tool_result.content", - ], + aliases=["gen_ai.tool.output","gen_ai.tool.message","mcp.tool.result.content","ai.toolCall.result","anthropic.tool_result.content"], changelog=[ ChangelogEntry(version="0.5.0", prs=[265]), ChangelogEntry(version="0.4.0", prs=[221]), @@ -19454,23 +17736,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.definitions": AttributeMetadata( brief="The list of source system tool definitions available to the GenAI agent or model.", type=AttributeType.STRING, - keys=( - "gen_ai.tool.definitions", - "ai.prompt.tools", - "ai.tools", - "gen_ai.request.available_tools", + keys=("gen_ai.tool.definitions", "ai.prompt.tools", "ai.tools", "gen_ai.request.available_tools",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example='[{"type": "function", "name": "get_current_weather", "description": "Get the current weather in a given location", "parameters": {"type": "object", "properties": {"location": {"type": "string", "description": "The city and state, e.g. San Francisco, CA"}, "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}}, "required": ["location", "unit"]}}]', + example="[{\"type\": \"function\", \"name\": \"get_current_weather\", \"description\": \"Get the current weather in a given location\", \"parameters\": {\"type\": \"object\", \"properties\": {\"location\": {\"type\": \"string\", \"description\": \"The city and state, e.g. San Francisco, CA\"}, \"unit\": {\"type\": \"string\", \"enum\": [\"celsius\", \"fahrenheit\"]}}, \"required\": [\"location\", \"unit\"]}}]", aliases=["gen_ai.request.available_tools"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[595], - description="Added gen_ai.request.available_tools as an alias", - ), + ChangelogEntry(version="0.22.0", prs=[595], description="Added gen_ai.request.available_tools as an alias"), ChangelogEntry(version="0.4.0", prs=[221]), ], ), @@ -19478,7 +17753,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The description of the tool being used.", type=AttributeType.STRING, keys=("gen_ai.tool.description",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="Searches the web for current information about a topic", @@ -19489,19 +17766,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.input": AttributeMetadata( brief="The input of the tool being used. It has to be a stringified version of the input to the tool.", type=AttributeType.STRING, - keys=( - "gen_ai.tool.call.arguments", - "ai.toolCall.args", - "gen_ai.tool.input", + keys=("gen_ai.tool.call.arguments", "ai.toolCall.args", "gen_ai.tool.input",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example='{"location": "Paris"}', + example="{\"location\": \"Paris\"}", deprecation=DeprecationInfo( - replacement="gen_ai.tool.call.arguments", status=DeprecationStatus.NORMALIZE + replacement="gen_ai.tool.call.arguments", + status=DeprecationStatus.NORMALIZE ), - aliases=["gen_ai.tool.call.arguments", "ai.toolCall.args"], + aliases=["gen_ai.tool.call.arguments","ai.toolCall.args"], changelog=[ ChangelogEntry(version="0.5.0", prs=[265]), ChangelogEntry(version="0.1.0", prs=[63, 74]), @@ -19510,28 +17786,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.message": AttributeMetadata( brief="The response from a tool or function call passed to the model.", type=AttributeType.STRING, - keys=( - "gen_ai.tool.call.result", - "ai.toolCall.result", - "anthropic.tool_result.content", - "gen_ai.tool.message", - "gen_ai.tool.output", - "mcp.tool.result.content", + keys=("gen_ai.tool.call.result", "ai.toolCall.result", "anthropic.tool_result.content", "gen_ai.tool.message", "gen_ai.tool.output", "mcp.tool.result.content",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="rainy, 57°F", deprecation=DeprecationInfo( - replacement="gen_ai.tool.call.result", status=DeprecationStatus.NORMALIZE + replacement="gen_ai.tool.call.result", + status=DeprecationStatus.NORMALIZE ), - aliases=[ - "gen_ai.tool.call.result", - "gen_ai.tool.output", - "mcp.tool.result.content", - "ai.toolCall.result", - "anthropic.tool_result.content", - ], + aliases=["gen_ai.tool.call.result","gen_ai.tool.output","mcp.tool.result.content","ai.toolCall.result","anthropic.tool_result.content"], changelog=[ ChangelogEntry(version="0.5.0", prs=[265]), ChangelogEntry(version="0.1.0", prs=[62]), @@ -19540,16 +17806,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.name": AttributeMetadata( brief="Name of the tool utilized by the agent.", type=AttributeType.STRING, - keys=( - "gen_ai.tool.name", - "ai.function_call", - "mcp.tool.name", + keys=("gen_ai.tool.name", "ai.function_call", "mcp.tool.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="Flights", - aliases=["ai.function_call", "mcp.tool.name"], + aliases=["ai.function_call","mcp.tool.name"], changelog=[ ChangelogEntry(version="0.1.0", prs=[57, 127]), ], @@ -19557,28 +17821,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.output": AttributeMetadata( brief="The output of the tool being used. It has to be a stringified version of the output of the tool.", type=AttributeType.STRING, - keys=( - "gen_ai.tool.call.result", - "ai.toolCall.result", - "anthropic.tool_result.content", - "gen_ai.tool.message", - "gen_ai.tool.output", - "mcp.tool.result.content", + keys=("gen_ai.tool.call.result", "ai.toolCall.result", "anthropic.tool_result.content", "gen_ai.tool.message", "gen_ai.tool.output", "mcp.tool.result.content",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="rainy, 57°F", deprecation=DeprecationInfo( - replacement="gen_ai.tool.call.result", status=DeprecationStatus.NORMALIZE + replacement="gen_ai.tool.call.result", + status=DeprecationStatus.NORMALIZE ), - aliases=[ - "gen_ai.tool.call.result", - "gen_ai.tool.message", - "mcp.tool.result.content", - "ai.toolCall.result", - "anthropic.tool_result.content", - ], + aliases=["gen_ai.tool.call.result","gen_ai.tool.message","mcp.tool.result.content","ai.toolCall.result","anthropic.tool_result.content"], changelog=[ ChangelogEntry(version="0.5.0", prs=[265]), ChangelogEntry(version="0.1.0", prs=[63, 74]), @@ -19588,7 +17842,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The type of tool being used.", type=AttributeType.STRING, keys=("gen_ai.tool.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="function", @@ -19602,44 +17858,27 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.usage.cache_creation.input_tokens": AttributeMetadata( brief="The number of tokens written to the cache when processing the AI input (prompt).", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.cache_creation.input_tokens", - "gen_ai.usage.cache_creation_input_tokens", - "gen_ai.usage.input_tokens.cache_write", + keys=("gen_ai.usage.cache_creation.input_tokens", "gen_ai.usage.cache_creation_input_tokens", "gen_ai.usage.input_tokens.cache_write",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=100, - aliases=[ - "gen_ai.usage.input_tokens.cache_write", - "gen_ai.usage.cache_creation_input_tokens", - ], + aliases=["gen_ai.usage.input_tokens.cache_write","gen_ai.usage.cache_creation_input_tokens"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[582], - description="Added gen_ai.usage.cache_creation_input_tokens as an alias", - ), - ChangelogEntry( - version="0.11.0", - prs=[418], - description="Added gen_ai.usage.cache_creation.input_tokens attribute", - ), - ], - additional_context=[ - "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans." + ChangelogEntry(version="0.24.0", prs=[582], description="Added gen_ai.usage.cache_creation_input_tokens as an alias"), + ChangelogEntry(version="0.11.0", prs=[418], description="Added gen_ai.usage.cache_creation.input_tokens attribute"), ], + additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans."], ), "gen_ai.usage.cache_creation_input_tokens": AttributeMetadata( brief="The number of tokens written to the cache when processing the AI input (prompt).", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.cache_creation.input_tokens", - "gen_ai.usage.cache_creation_input_tokens", - "gen_ai.usage.input_tokens.cache_write", + keys=("gen_ai.usage.cache_creation.input_tokens", "gen_ai.usage.cache_creation_input_tokens", "gen_ai.usage.input_tokens.cache_write",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=100, @@ -19647,62 +17886,37 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.usage.cache_creation.input_tokens", reason="This attribute is being deprecated in favor of gen_ai.usage.cache_creation.input_tokens.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=[ - "gen_ai.usage.cache_creation.input_tokens", - "gen_ai.usage.input_tokens.cache_write", - ], + aliases=["gen_ai.usage.cache_creation.input_tokens","gen_ai.usage.input_tokens.cache_write"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[582], - description="Added gen_ai.usage.cache_creation_input_tokens attribute", - ), + ChangelogEntry(version="0.24.0", prs=[582], description="Added gen_ai.usage.cache_creation_input_tokens attribute"), ], ), "gen_ai.usage.cache_read.input_tokens": AttributeMetadata( brief="The number of cached tokens used to process the AI input (prompt).", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.cache_read.input_tokens", - "gen_ai.usage.cache_read_input_tokens", - "gen_ai.usage.input_tokens.cached", + keys=("gen_ai.usage.cache_read.input_tokens", "gen_ai.usage.cache_read_input_tokens", "gen_ai.usage.input_tokens.cached",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=50, - aliases=[ - "gen_ai.usage.input_tokens.cached", - "gen_ai.usage.cache_read_input_tokens", - ], + aliases=["gen_ai.usage.input_tokens.cached","gen_ai.usage.cache_read_input_tokens"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[582], - description="Added gen_ai.usage.cache_read_input_tokens as an alias", - ), - ChangelogEntry( - version="0.11.0", - prs=[418], - description="Added gen_ai.usage.cache_read.input_tokens attribute", - ), - ], - additional_context=[ - "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", - "This is a subset of gen_ai.usage.input_tokens, not an independent count. Do not sum this with gen_ai.usage.input_tokens — it is already included.", + ChangelogEntry(version="0.24.0", prs=[582], description="Added gen_ai.usage.cache_read_input_tokens as an alias"), + ChangelogEntry(version="0.11.0", prs=[418], description="Added gen_ai.usage.cache_read.input_tokens attribute"), ], + additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This is a subset of gen_ai.usage.input_tokens, not an independent count. Do not sum this with gen_ai.usage.input_tokens — it is already included."], ), "gen_ai.usage.cache_read_input_tokens": AttributeMetadata( brief="The number of cached tokens used to process the AI input (prompt).", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.cache_read.input_tokens", - "gen_ai.usage.cache_read_input_tokens", - "gen_ai.usage.input_tokens.cached", + keys=("gen_ai.usage.cache_read.input_tokens", "gen_ai.usage.cache_read_input_tokens", "gen_ai.usage.input_tokens.cached",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=50, @@ -19710,341 +17924,230 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.usage.cache_read.input_tokens", reason="This attribute is being deprecated in favor of gen_ai.usage.cache_read.input_tokens.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=[ - "gen_ai.usage.cache_read.input_tokens", - "gen_ai.usage.input_tokens.cached", - ], + aliases=["gen_ai.usage.cache_read.input_tokens","gen_ai.usage.input_tokens.cached"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[582], - description="Added gen_ai.usage.cache_read_input_tokens attribute", - ), + ChangelogEntry(version="0.24.0", prs=[582], description="Added gen_ai.usage.cache_read_input_tokens attribute"), ], ), "gen_ai.usage.completion_tokens": AttributeMetadata( brief="The number of tokens used in the GenAI response (completion).", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.output_tokens", - "ai.completion_tokens.used", - "gen_ai.usage.completion_tokens", + keys=("gen_ai.usage.output_tokens", "ai.completion_tokens.used", "gen_ai.usage.completion_tokens",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, deprecation=DeprecationInfo( - replacement="gen_ai.usage.output_tokens", status=DeprecationStatus.BACKFILL + replacement="gen_ai.usage.output_tokens", + status=DeprecationStatus.BACKFILL ), - aliases=["ai.completion_tokens.used", "gen_ai.usage.output_tokens"], + aliases=["ai.completion_tokens.used","gen_ai.usage.output_tokens"], changelog=[ - ChangelogEntry( - version="0.9.0", prs=[397], description="Add additional_context" - ), + ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], - additional_context=[ - "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans." - ], + additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans."], ), "gen_ai.usage.input_tokens": AttributeMetadata( brief="The number of tokens used to process the AI input (prompt) including cached input tokens.", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.input_tokens", - "ai.prompt_tokens.used", - "gen_ai.usage.prompt_tokens", + keys=("gen_ai.usage.input_tokens", "ai.prompt_tokens.used", "gen_ai.usage.prompt_tokens",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, - aliases=["ai.prompt_tokens.used", "gen_ai.usage.prompt_tokens"], - changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[418], - description="Update additional_context to reference gen_ai.usage.cache_read.input_tokens", - ), - ChangelogEntry( - version="0.9.0", prs=[397], description="Add additional_context" - ), + aliases=["ai.prompt_tokens.used","gen_ai.usage.prompt_tokens"], + changelog=[ + ChangelogEntry(version="0.11.0", prs=[418], description="Update additional_context to reference gen_ai.usage.cache_read.input_tokens"), + ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), ChangelogEntry(version="0.5.0", prs=[261]), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[112]), ChangelogEntry(version="0.0.0"), ], - additional_context=[ - "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", - "This count includes cached input tokens. gen_ai.usage.cache_read.input_tokens is a subset of this value, not an independent count — do not sum them together.", - ], + additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This count includes cached input tokens. gen_ai.usage.cache_read.input_tokens is a subset of this value, not an independent count — do not sum them together."], ), "gen_ai.usage.input_tokens.cache_write": AttributeMetadata( brief="The number of tokens written to the cache when processing the AI input (prompt).", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.cache_creation.input_tokens", - "gen_ai.usage.cache_creation_input_tokens", - "gen_ai.usage.input_tokens.cache_write", + keys=("gen_ai.usage.cache_creation.input_tokens", "gen_ai.usage.cache_creation_input_tokens", "gen_ai.usage.input_tokens.cache_write",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=100, deprecation=DeprecationInfo( replacement="gen_ai.usage.cache_creation.input_tokens", - status=DeprecationStatus.BACKFILL, - ), - aliases=[ - "gen_ai.usage.cache_creation.input_tokens", - "gen_ai.usage.cache_creation_input_tokens", - ], - changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[582], - description="Added gen_ai.usage.cache_creation_input_tokens as an alias", - ), - ChangelogEntry( - version="0.11.0", - prs=[418], - description="Deprecate in favor of gen_ai.usage.cache_creation.input_tokens", - ), - ChangelogEntry( - version="0.9.0", prs=[397], description="Add additional_context" - ), + status=DeprecationStatus.BACKFILL + ), + aliases=["gen_ai.usage.cache_creation.input_tokens","gen_ai.usage.cache_creation_input_tokens"], + changelog=[ + ChangelogEntry(version="0.24.0", prs=[582], description="Added gen_ai.usage.cache_creation_input_tokens as an alias"), + ChangelogEntry(version="0.11.0", prs=[418], description="Deprecate in favor of gen_ai.usage.cache_creation.input_tokens"), + ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), ChangelogEntry(version="0.4.0", prs=[217, 228]), ], - additional_context=[ - "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans." - ], + additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans."], ), "gen_ai.usage.input_tokens.cached": AttributeMetadata( brief="The number of cached tokens used to process the AI input (prompt).", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.cache_read.input_tokens", - "gen_ai.usage.cache_read_input_tokens", - "gen_ai.usage.input_tokens.cached", + keys=("gen_ai.usage.cache_read.input_tokens", "gen_ai.usage.cache_read_input_tokens", "gen_ai.usage.input_tokens.cached",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=50, deprecation=DeprecationInfo( replacement="gen_ai.usage.cache_read.input_tokens", - status=DeprecationStatus.BACKFILL, - ), - aliases=[ - "gen_ai.usage.cache_read.input_tokens", - "gen_ai.usage.cache_read_input_tokens", - ], - changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[582], - description="Added gen_ai.usage.cache_read_input_tokens as an alias", - ), - ChangelogEntry( - version="0.11.0", - prs=[418], - description="Deprecate in favor of gen_ai.usage.cache_read.input_tokens", - ), - ChangelogEntry( - version="0.9.0", prs=[397], description="Add additional_context" - ), + status=DeprecationStatus.BACKFILL + ), + aliases=["gen_ai.usage.cache_read.input_tokens","gen_ai.usage.cache_read_input_tokens"], + changelog=[ + ChangelogEntry(version="0.24.0", prs=[582], description="Added gen_ai.usage.cache_read_input_tokens as an alias"), + ChangelogEntry(version="0.11.0", prs=[418], description="Deprecate in favor of gen_ai.usage.cache_read.input_tokens"), + ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[62, 112]), ], - additional_context=[ - "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", - "This is a subset of gen_ai.usage.input_tokens, not an independent count. Do not sum this with gen_ai.usage.input_tokens — it is already included.", - ], + additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This is a subset of gen_ai.usage.input_tokens, not an independent count. Do not sum this with gen_ai.usage.input_tokens — it is already included."], ), "gen_ai.usage.output_tokens": AttributeMetadata( brief="The number of tokens used for creating the AI output (including reasoning tokens).", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.output_tokens", - "ai.completion_tokens.used", - "gen_ai.usage.completion_tokens", + keys=("gen_ai.usage.output_tokens", "ai.completion_tokens.used", "gen_ai.usage.completion_tokens",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, - aliases=["ai.completion_tokens.used", "gen_ai.usage.completion_tokens"], - changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[418], - description="Update additional_context to reference gen_ai.usage.reasoning.output_tokens", - ), - ChangelogEntry( - version="0.9.0", prs=[397], description="Add additional_context" - ), + aliases=["ai.completion_tokens.used","gen_ai.usage.completion_tokens"], + changelog=[ + ChangelogEntry(version="0.11.0", prs=[418], description="Update additional_context to reference gen_ai.usage.reasoning.output_tokens"), + ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), ChangelogEntry(version="0.5.0", prs=[261]), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[112]), ChangelogEntry(version="0.0.0"), ], - additional_context=[ - "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", - "This count includes reasoning tokens. gen_ai.usage.reasoning.output_tokens is a subset of this value, not an independent count — do not sum them together.", - ], + additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This count includes reasoning tokens. gen_ai.usage.reasoning.output_tokens is a subset of this value, not an independent count — do not sum them together."], ), "gen_ai.usage.output_tokens.reasoning": AttributeMetadata( brief="The number of tokens used for reasoning to create the AI output.", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.reasoning.output_tokens", - "gen_ai.usage.output_tokens.reasoning", + keys=("gen_ai.usage.reasoning.output_tokens", "gen_ai.usage.output_tokens.reasoning",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=75, deprecation=DeprecationInfo( replacement="gen_ai.usage.reasoning.output_tokens", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.usage.reasoning.output_tokens"], changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[418], - description="Deprecate in favor of gen_ai.usage.reasoning.output_tokens", - ), - ChangelogEntry( - version="0.9.0", prs=[397], description="Add additional_context" - ), + ChangelogEntry(version="0.11.0", prs=[418], description="Deprecate in favor of gen_ai.usage.reasoning.output_tokens"), + ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[62, 112]), ], - additional_context=[ - "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", - "This is a subset of gen_ai.usage.output_tokens, not an independent count. Do not sum this with gen_ai.usage.output_tokens — it is already included.", - ], + additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This is a subset of gen_ai.usage.output_tokens, not an independent count. Do not sum this with gen_ai.usage.output_tokens — it is already included."], ), "gen_ai.usage.prompt_tokens": AttributeMetadata( brief="The number of tokens used in the GenAI input (prompt).", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.input_tokens", - "ai.prompt_tokens.used", - "gen_ai.usage.prompt_tokens", + keys=("gen_ai.usage.input_tokens", "ai.prompt_tokens.used", "gen_ai.usage.prompt_tokens",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=20, deprecation=DeprecationInfo( - replacement="gen_ai.usage.input_tokens", status=DeprecationStatus.BACKFILL + replacement="gen_ai.usage.input_tokens", + status=DeprecationStatus.BACKFILL ), - aliases=["ai.prompt_tokens.used", "gen_ai.usage.input_tokens"], + aliases=["ai.prompt_tokens.used","gen_ai.usage.input_tokens"], changelog=[ - ChangelogEntry( - version="0.9.0", prs=[397], description="Add additional_context" - ), + ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], - additional_context=[ - "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans." - ], + additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans."], ), "gen_ai.usage.reasoning.output_tokens": AttributeMetadata( brief="The number of tokens used for reasoning to create the AI output.", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.reasoning.output_tokens", - "gen_ai.usage.output_tokens.reasoning", + keys=("gen_ai.usage.reasoning.output_tokens", "gen_ai.usage.output_tokens.reasoning",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=75, aliases=["gen_ai.usage.output_tokens.reasoning"], changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[418], - description="Added gen_ai.usage.reasoning.output_tokens attribute", - ), - ], - additional_context=[ - "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", - "This is a subset of gen_ai.usage.output_tokens, not an independent count. Do not sum this with gen_ai.usage.output_tokens — it is already included.", + ChangelogEntry(version="0.11.0", prs=[418], description="Added gen_ai.usage.reasoning.output_tokens attribute"), ], + additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This is a subset of gen_ai.usage.output_tokens, not an independent count. Do not sum this with gen_ai.usage.output_tokens — it is already included."], ), "gen_ai.usage.total_tokens": AttributeMetadata( brief="The total number of tokens used to process the prompt. (input tokens plus output todkens)", type=AttributeType.INTEGER, - keys=( - "gen_ai.usage.total_tokens", - "ai.total_tokens.used", - "ai.usage.tokens", + keys=("gen_ai.usage.total_tokens", "ai.total_tokens.used", "ai.usage.tokens",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=20, - aliases=["ai.total_tokens.used", "ai.usage.tokens"], - changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[583], - description="Added ai.usage.tokens as an alias", - ), - ChangelogEntry( - version="0.9.0", prs=[397], description="Add additional_context" - ), + aliases=["ai.total_tokens.used","ai.usage.tokens"], + changelog=[ + ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.usage.tokens as an alias"), + ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[57]), ], - additional_context=[ - "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", - "This is the sum of gen_ai.usage.input_tokens and gen_ai.usage.output_tokens. Do not sum this with either of them — they are already included.", - ], + additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This is the sum of gen_ai.usage.input_tokens and gen_ai.usage.output_tokens. Do not sum this with either of them — they are already included."], ), "graphql.document": AttributeMetadata( brief="The GraphQL document being executed.", type=AttributeType.STRING, - keys=( - "graphql.document", - "graphql.source", - ), + keys=("graphql.document", "graphql.source",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="The document may contain sensitive information in arguments or variables. Instrumentation should redact sensitive information when possible.", + reason="The document may contain sensitive information in arguments or variables. Instrumentation should redact sensitive information when possible." ), is_in_otel=True, visibility=Visibility.PUBLIC, example="query findBookById { bookById(id: ?) { name } }", aliases=["graphql.source"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[584], - description="Added graphql.source as an alias", - ), - ChangelogEntry( - version="0.7.0", - description="Adds the `graphql.document` attribute to track the GraphQL document being executed.", - ), + ChangelogEntry(version="0.21.0", prs=[584], description="Added graphql.source as an alias"), + ChangelogEntry(version="0.7.0", description="Adds the `graphql.document` attribute to track the GraphQL document being executed."), ], ), "graphql.operation.name": AttributeMetadata( brief="The name of the operation being executed.", type=AttributeType.STRING, keys=("graphql.operation.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="findBookById", @@ -20057,7 +18160,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The type of the operation being executed.", type=AttributeType.STRING, keys=("graphql.operation.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="query", @@ -20070,31 +18175,25 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The type of processing represented by this span.", type=AttributeType.STRING, keys=("graphql.processing.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="parse", examples=["parse", "validate", "execute", "resolve"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[572], - description="Added graphql.processing.type attribute", - ), - ], - additional_context=[ - "Well-known values are request, parse, validate, variable_coercion, plan, execute, subscription_event, step_execute, resolve, dataloader_dispatch, dataloader_batch and _OTHER. Use one of these if it applies, otherwise a custom value.", - "Not to be confused with graphql.operation.type, which holds the GraphQL operation type (query, mutation, subscription) and only applies to spans that run an operation.", + ChangelogEntry(version="0.21.0", prs=[572], description="Added graphql.processing.type attribute"), ], + additional_context=["Well-known values are request, parse, validate, variable_coercion, plan, execute, subscription_event, step_execute, resolve, dataloader_dispatch, dataloader_batch and _OTHER. Use one of these if it applies, otherwise a custom value.","Not to be confused with graphql.operation.type, which holds the GraphQL operation type (query, mutation, subscription) and only applies to spans that run an operation."], ), "graphql.source": AttributeMetadata( brief="The GraphQL document being executed.", type=AttributeType.STRING, - keys=( - "graphql.document", - "graphql.source", + keys=("graphql.document", "graphql.source",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="query findBookById { bookById(id: ?) { name } }", @@ -20102,273 +18201,229 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="graphql.document", reason="This attribute is being deprecated in favor of graphql.document, which is the OpenTelemetry name for the same value.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["graphql.document"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[584], - description="Added graphql.source attribute", - ), + ChangelogEntry(version="0.21.0", prs=[584], description="Added graphql.source attribute"), ], ), "grpc.error.bad_request.field_violations": AttributeMetadata( 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=AttributeType.STRING_ARRAY, keys=("grpc.error.bad_request.field_violations",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=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"}}' - ], + 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=[ - ChangelogEntry( - version="0.17.0", - prs=[460], - description="Added grpc.error.bad_request.field_violations attribute", - ), + ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.bad_request.field_violations attribute"), ], ), "grpc.error.debug_info.detail": AttributeMetadata( 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=AttributeType.STRING, keys=("grpc.error.debug_info.detail",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="at com.example.Service.method(Service.java:42)", changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[460], - description="Added grpc.error.debug_info.detail attribute", - ), + ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.debug_info.detail attribute"), ], ), "grpc.error.debug_info.stack_entries": AttributeMetadata( 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=AttributeType.STRING_ARRAY, keys=("grpc.error.debug_info.stack_entries",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example=[ - "com.example.Service.method(Service.java:42)", - "com.example.Server.handle(Server.java:100)", - ], + example=["com.example.Service.method(Service.java:42)", "com.example.Server.handle(Server.java:100)"], changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[460], - description="Added grpc.error.debug_info.stack_entries attribute", - ), + ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.debug_info.stack_entries attribute"), ], ), "grpc.error.error_info.domain": AttributeMetadata( brief="The logical grouping to which the gRPC error reason belongs, from the google.rpc.ErrorInfo error detail.", type=AttributeType.STRING, keys=("grpc.error.error_info.domain",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="example.sentry.io", changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[460], - description="Added grpc.error.error_info.domain attribute", - ), + ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.error_info.domain attribute"), ], ), "grpc.error.error_info.metadata.": AttributeMetadata( brief="Additional structured metadata attached to a google.rpc.ErrorInfo error detail, with being the metadata key name. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly.", type=AttributeType.STRING, keys=("grpc.error.error_info.metadata.",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="grpc.error.error_info.metadata.user_id='123'", changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[460], - description="Added grpc.error.error_info.metadata. attribute", - ), + ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.error_info.metadata. attribute"), ], ), "grpc.error.error_info.reason": AttributeMetadata( brief="The reason for the gRPC error, as defined by the service that generated it, from the google.rpc.ErrorInfo error detail.", type=AttributeType.STRING, keys=("grpc.error.error_info.reason",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="FIELD_INVALID", changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[460], - description="Added grpc.error.error_info.reason attribute", - ), + ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.error_info.reason attribute"), ], ), "grpc.error.precondition_failure.violations": AttributeMetadata( brief="The individual precondition violations from a google.rpc.PreconditionFailure error detail. Each entry is a JSON-encoded object with type, subject, and description keys. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly, since violation subjects may identify specific resources or users.", type=AttributeType.STRING_ARRAY, keys=("grpc.error.precondition_failure.violations",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example=[ - '{"type":"TOS","subject":"example.com/user/123","description":"User must accept the terms of service"}' - ], + example=["{\"type\":\"TOS\",\"subject\":\"example.com/user/123\",\"description\":\"User must accept the terms of service\"}"], changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[460], - description="Added grpc.error.precondition_failure.violations attribute", - ), + ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.precondition_failure.violations attribute"), ], ), "grpc.error.quota_failure.violations": AttributeMetadata( brief="The individual quota violations from a google.rpc.QuotaFailure error detail. Each entry is a JSON-encoded object with subject, description, api_service, quota_metric, quota_id, quota_dimensions, quota_value, and (optional) future_quota_value keys, mirroring google.rpc.QuotaFailure.Violation. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly, since violation subjects may identify specific resources or users.", type=AttributeType.STRING_ARRAY, keys=("grpc.error.quota_failure.violations",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example=[ - '{"subject":"clientip:127.0.0.1","description":"Limit checks failed.","api_service":"example.googleapis.com","quota_metric":"example.googleapis.com/read_requests","quota_id":"ReadRequestsPerMinutePerProject","quota_dimensions":{"region":"us-central1"},"quota_value":1000}' - ], + example=["{\"subject\":\"clientip:127.0.0.1\",\"description\":\"Limit checks failed.\",\"api_service\":\"example.googleapis.com\",\"quota_metric\":\"example.googleapis.com/read_requests\",\"quota_id\":\"ReadRequestsPerMinutePerProject\",\"quota_dimensions\":{\"region\":\"us-central1\"},\"quota_value\":1000}"], changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[460], - description="Added grpc.error.quota_failure.violations attribute", - ), + ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.quota_failure.violations attribute"), ], ), "grpc.error.resource_info.description": AttributeMetadata( brief="A description of the error that occurred while accessing the resource, from a google.rpc.ResourceInfo error detail.", type=AttributeType.STRING, keys=("grpc.error.resource_info.description",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Instance is not ready for the request.", changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[460], - description="Added grpc.error.resource_info.description attribute", - ), + ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.resource_info.description attribute"), ], ), "grpc.error.resource_info.owner": AttributeMetadata( brief="The owner of the resource being accessed (e.g. project or account owning it), from a google.rpc.ResourceInfo error detail. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly.", type=AttributeType.STRING, keys=("grpc.error.resource_info.owner",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="user@example.com", changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[460], - description="Added grpc.error.resource_info.owner attribute", - ), + ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.resource_info.owner attribute"), ], ), "grpc.error.resource_info.resource_name": AttributeMetadata( brief="The name of the resource being accessed, from a google.rpc.ResourceInfo error detail. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly.", type=AttributeType.STRING, keys=("grpc.error.resource_info.resource_name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="projects/example/instances/example-instance", changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[460], - description="Added grpc.error.resource_info.resource_name attribute", - ), + ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.resource_info.resource_name attribute"), ], ), "grpc.error.resource_info.resource_type": AttributeMetadata( brief="The type of resource being accessed, from a google.rpc.ResourceInfo error detail.", type=AttributeType.STRING, keys=("grpc.error.resource_info.resource_type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="database", changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[460], - description="Added grpc.error.resource_info.resource_type attribute", - ), + ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.resource_info.resource_type attribute"), ], ), "grpc.error.retry_info.retry_delay_ms": AttributeMetadata( brief="How long the client should wait before retrying the gRPC call, in milliseconds, from the google.rpc.RetryInfo error detail.", type=AttributeType.INTEGER, keys=("grpc.error.retry_info.retry_delay_ms",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=5000, changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[460], - description="Added grpc.error.retry_info.retry_delay_ms attribute", - ), + ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.retry_info.retry_delay_ms attribute"), ], ), "hardwareConcurrency": AttributeMetadata( brief="The number of logical CPU cores available.", type=AttributeType.STRING, - keys=( - "device.processor_count", - "hardwareConcurrency", + keys=("device.processor_count", "hardwareConcurrency",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="14", deprecation=DeprecationInfo( replacement="device.processor_count", reason="Old namespace-less attribute, to be replaced with device.processor_count for span-first future", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["device.processor_count"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[281, 300], - description="Added and deprecated attribute to document JS SDK's current behaviour", - ), + ChangelogEntry(version="0.5.0", prs=[281, 300], description="Added and deprecated attribute to document JS SDK's current behaviour"), ], ), "http.client_ip": AttributeMetadata( brief="Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=( - "client.address", - "http.client_ip", + keys=("client.address", "http.client_ip",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", deprecation=DeprecationInfo( - replacement="client.address", status=DeprecationStatus.BACKFILL + replacement="client.address", + status=DeprecationStatus.BACKFILL ), aliases=["client.address"], changelog=[ @@ -20379,63 +18434,45 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.decoded_response_content_length": AttributeMetadata( brief="The decoded body size of the response (in bytes).", type=AttributeType.INTEGER, - keys=( - "http.response.body.decoded_size", - "http.decoded_response_content_length", - "http.response_content_length_uncompressed", + keys=("http.response.body.decoded_size", "http.decoded_response_content_length", "http.response_content_length_uncompressed",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=456, deprecation=DeprecationInfo( replacement="http.response.body.decoded_size", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=[ - "http.response.body.decoded_size", - "http.response_content_length_uncompressed", - ], + aliases=["http.response.body.decoded_size","http.response_content_length_uncompressed"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[574], - description="Deprecated in favor of http.response.body.decoded_size", - ), + ChangelogEntry(version="0.21.0", prs=[574], description="Deprecated in favor of http.response.body.decoded_size"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], search_alias=SearchAlias( - name="http.decoded_response_content_length", type="byte" + name="http.decoded_response_content_length", + type="byte" ), ), "http.flavor": AttributeMetadata( brief="The actual version of the protocol used for network communication.", type=AttributeType.STRING, - keys=( - "network.protocol.version", - "http.flavor", - "messaging.protocol_version", - "net.protocol.version", + keys=("network.protocol.version", "http.flavor", "messaging.protocol_version", "net.protocol.version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="1.1", deprecation=DeprecationInfo( - replacement="network.protocol.version", status=DeprecationStatus.BACKFILL + replacement="network.protocol.version", + status=DeprecationStatus.BACKFILL ), - aliases=[ - "network.protocol.version", - "net.protocol.version", - "messaging.protocol_version", - ], + aliases=["network.protocol.version","net.protocol.version","messaging.protocol_version"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.protocol_version as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol_version as an alias"), ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), ], @@ -20444,7 +18481,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The fragments present in the URI. Note that this contains the leading # character, while the `url.fragment` attribute does not.", type=AttributeType.STRING, keys=("http.fragment",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="#details", @@ -20456,35 +18495,21 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The domain name.", type=AttributeType.STRING, keys=("http.host",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", deprecation=DeprecationInfo( replacement="server.address", - reason="Deprecated, use one of `server.address` or `client.address`, depending on the usage", - ), - aliases=[ - "address", - "server.address", - "client.address", - "http.server_name", - "net.host.name", - "server_name", - "net.peer.name", - ], - changelog=[ - ChangelogEntry( - version="0.24.0", prs=[647], description="Added server_name as an alias" - ), - ChangelogEntry( - version="0.21.0", - prs=[588, 602], - description="Added net.peer.name as an alias", - ), - ChangelogEntry( - version="0.19.0", prs=[534], description="Added address as an alias" - ), + reason="Deprecated, use one of `server.address` or `client.address`, depending on the usage" + ), + aliases=["address","server.address","client.address","http.server_name","net.host.name","server_name","net.peer.name"], + changelog=[ + ChangelogEntry(version="0.24.0", prs=[647], description="Added server_name as an alias"), + ChangelogEntry(version="0.21.0", prs=[588, 602], description="Added net.peer.name as an alias"), + ChangelogEntry(version="0.19.0", prs=[534], description="Added address as an alias"), ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), ], @@ -20492,20 +18517,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.method": AttributeMetadata( brief="The HTTP method used.", type=AttributeType.STRING, - keys=( - "http.request.method", - "http.method", - "http.request_method", - "method", + keys=("http.request.method", "http.method", "http.request_method", "method",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="GET", deprecation=DeprecationInfo( - replacement="http.request.method", status=DeprecationStatus.BACKFILL + replacement="http.request.method", + status=DeprecationStatus.BACKFILL ), - aliases=["http.request.method", "http.request_method", "method"], + aliases=["http.request.method","http.request_method","method"], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), @@ -20517,7 +18540,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("http.query",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.", + reason="Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20530,70 +18553,55 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="HTTP request body data. Can be given as string or structural data of any format.", type=AttributeType.STRING, keys=("http.request.body.data",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example='[{"role": "user", "message": "hello"}]', + example="[{\"role\": \"user\", \"message\": \"hello\"}]", changelog=[ - ChangelogEntry( - version="0.6.0", - prs=[336], - description="Added http.request.body.data attribute", - ), + ChangelogEntry(version="0.6.0", prs=[336], description="Added http.request.body.data attribute"), ], ), "http.request.body.decoded_size": AttributeMetadata( brief="The decoded body size of the request (in bytes).", type=AttributeType.INTEGER, - keys=( - "http.request.body.decoded_size", - "http.request_content_length_uncompressed", + keys=("http.request.body.decoded_size", "http.request_content_length_uncompressed",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=456, aliases=["http.request_content_length_uncompressed"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[574], - description="Added http.request.body.decoded_size attribute", - ), - ], - additional_context=[ - "This is the size after content decoding. Set it only when the decoded size is actually known, for example by measuring a decompressed request stream.", - "Do not derive this from the `content-length` header, which always carries the encoded size. Use `http.request.body.size` for that.", + ChangelogEntry(version="0.21.0", prs=[574], description="Added http.request.body.decoded_size attribute"), ], + additional_context=["This is the size after content decoding. Set it only when the decoded size is actually known, for example by measuring a decompressed request stream.","Do not derive this from the `content-length` header, which always carries the encoded size. Use `http.request.body.size` for that."], ), "http.request.body.size": AttributeMetadata( brief="The encoded body size of the request (in bytes).", type=AttributeType.INTEGER, - keys=( - "http.request.body.size", - "http.request_content_length", + keys=("http.request.body.size", "http.request_content_length",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=123, aliases=["http.request_content_length"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[574], - description="Added http.request.body.size attribute", - ), - ], - additional_context=[ - "This is the on-the-wire (encoded) size. The `content-length` header always carries the encoded size, so set this attribute whenever `content-length` is known, regardless of whether `content-encoding` is present." + ChangelogEntry(version="0.21.0", prs=[574], description="Added http.request.body.size attribute"), ], + additional_context=["This is the on-the-wire (encoded) size. The `content-length` header always carries the encoded size, so set this attribute whenever `content-length` is known, regardless of whether `content-encoding` is present."], ), "http.request.connect_start": AttributeMetadata( brief="The UNIX timestamp representing the time immediately before the user agent starts establishing the connection to the server to retrieve the resource.", type=AttributeType.DOUBLE, keys=("http.request.connect_start",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.111, @@ -20607,7 +18615,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.DOUBLE, keys=("http.request.connection_end",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.15, @@ -20621,7 +18631,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the time immediately after the browser finishes the domain-name lookup for the resource.", type=AttributeType.DOUBLE, keys=("http.request.domain_lookup_end",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.201, @@ -20635,7 +18647,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the time immediately before the browser starts the domain name lookup for the resource.", type=AttributeType.DOUBLE, keys=("http.request.domain_lookup_start",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.322, @@ -20649,17 +18663,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The duration of a HTTP request, in milliseconds.", type=AttributeType.INTEGER, keys=("http.request.duration",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=5000, examples=[5000], changelog=[ - ChangelogEntry( - version="next", - prs=[697], - description="Added http.request.duration attribute", - ), + ChangelogEntry(version="next", prs=[697], description="Added http.request.duration attribute"), ], additional_context=["This attribute is set by Relay."], ), @@ -20667,7 +18679,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the time immediately before the browser starts to fetch the resource.", type=AttributeType.DOUBLE, keys=("http.request.fetch_start",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.389, @@ -20681,15 +18695,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="HTTP request headers, being the lower-cased, but otherwise unchanged HTTP Header name, the value being the header values.", type=AttributeType.STRING_ARRAY, keys=("http.request.header.",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="http.request.header.custom-header=['foo', 'bar']", - examples=[ - "http.request.header.custom-header=['foo', 'bar']", - "http.request.header.content-length=['123']", - ], + examples=["http.request.header.custom-header=['foo', 'bar']", "http.request.header.content-length=['123']"], changelog=[ ChangelogEntry(version="0.4.0", prs=[201, 204]), ChangelogEntry(version="0.1.0", prs=[103]), @@ -20698,17 +18711,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.request.method": AttributeMetadata( brief="The HTTP method used.", type=AttributeType.STRING, - keys=( - "http.request.method", - "http.method", - "http.request_method", - "method", + keys=("http.request.method", "http.method", "http.request_method", "method",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="GET", - aliases=["method", "http.method", "http.request_method"], + aliases=["method","http.method","http.request_method"], changelog=[ ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), @@ -20718,7 +18728,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the timestamp immediately after receiving the last byte of the response of the last redirect", type=AttributeType.DOUBLE, keys=("http.request.redirect_end",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829558.502, @@ -20731,7 +18743,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the start time of the fetch which that initiates the redirect.", type=AttributeType.DOUBLE, keys=("http.request.redirect_start",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.495, @@ -20745,7 +18759,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.", type=AttributeType.DOUBLE, keys=("http.request.request_start",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.51, @@ -20759,7 +18775,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The ordinal number of request resending attempt (for any reason, including redirects).", type=AttributeType.INTEGER, keys=("http.request.resend_count",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, @@ -20772,7 +18790,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the time immediately after the browser receives the last byte of the resource or immediately before the transport connection is closed, whichever comes first.", type=AttributeType.DOUBLE, keys=("http.request.response_end",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.89, @@ -20786,7 +18806,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.", type=AttributeType.DOUBLE, keys=("http.request.response_start",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.7, @@ -20799,28 +18821,25 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.request.same_origin": AttributeMetadata( brief="Indicates that a URL has the same origin as the current page's origin in the browser.", type=AttributeType.BOOLEAN, - keys=( - "http.request.same_origin", - "url.same_origin", + keys=("http.request.same_origin", "url.same_origin",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, aliases=["url.same_origin"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[456], - description="Added http.request.same_origin attribute", - ), + ChangelogEntry(version="0.16.0", prs=[456], description="Added http.request.same_origin attribute"), ], ), "http.request.secure_connection_start": AttributeMetadata( brief="The UNIX timestamp representing the time immediately before the browser starts the handshake process to secure the current connection. If a secure connection is not used, the property returns zero.", type=AttributeType.DOUBLE, keys=("http.request.secure_connection_start",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.73, @@ -20834,7 +18853,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The time in seconds from the browser's timeorigin to when the first byte of the request's response was received. See https://web.dev/articles/ttfb#measure-resource-requests", type=AttributeType.DOUBLE, keys=("http.request.time_to_first_byte",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1.032, @@ -20847,7 +18868,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the timestamp immediately before dispatching the FetchEvent if a Service Worker thread is already running, or immediately before starting the Service Worker thread if it is not already running.", type=AttributeType.DOUBLE, keys=("http.request.worker_start",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829553.68, @@ -20859,116 +18882,87 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.request_content_length": AttributeMetadata( brief="The encoded body size of the request (in bytes).", type=AttributeType.INTEGER, - keys=( - "http.request.body.size", - "http.request_content_length", + keys=("http.request.body.size", "http.request_content_length",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=123, deprecation=DeprecationInfo( - replacement="http.request.body.size", status=DeprecationStatus.BACKFILL + replacement="http.request.body.size", + status=DeprecationStatus.BACKFILL ), aliases=["http.request.body.size"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[574], - description="Added http.request_content_length attribute, deprecated in favor of http.request.body.size", - ), + ChangelogEntry(version="0.21.0", prs=[574], description="Added http.request_content_length attribute, deprecated in favor of http.request.body.size"), ], ), "http.request_content_length_uncompressed": AttributeMetadata( brief="The decoded body size of the request (in bytes).", type=AttributeType.INTEGER, - keys=( - "http.request.body.decoded_size", - "http.request_content_length_uncompressed", + keys=("http.request.body.decoded_size", "http.request_content_length_uncompressed",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=456, deprecation=DeprecationInfo( replacement="http.request.body.decoded_size", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["http.request.body.decoded_size"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[574], - description="Added http.request_content_length_uncompressed attribute, deprecated in favor of http.request.body.decoded_size", - ), + ChangelogEntry(version="0.21.0", prs=[574], description="Added http.request_content_length_uncompressed attribute, deprecated in favor of http.request.body.decoded_size"), ], ), "http.request_method": AttributeMetadata( brief="The HTTP method used.", type=AttributeType.STRING, - keys=( - "http.request.method", - "http.method", - "http.request_method", - "method", + keys=("http.request.method", "http.method", "http.request_method", "method",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="GET", deprecation=DeprecationInfo( - replacement="http.request.method", status=DeprecationStatus.BACKFILL + replacement="http.request.method", + status=DeprecationStatus.BACKFILL ), - aliases=["method", "http.method", "http.request.method"], + aliases=["method","http.method","http.request.method"], changelog=[ - ChangelogEntry( - version="0.6.0", - prs=[343], - description="Added http.request_method attribute", - ), + ChangelogEntry(version="0.6.0", prs=[343], description="Added http.request_method attribute"), ], ), "http.response.body.decoded_size": AttributeMetadata( brief="The decoded body size of the response (in bytes).", type=AttributeType.INTEGER, - keys=( - "http.response.body.decoded_size", - "http.decoded_response_content_length", - "http.response_content_length_uncompressed", + keys=("http.response.body.decoded_size", "http.decoded_response_content_length", "http.response_content_length_uncompressed",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=456, - aliases=[ - "http.decoded_response_content_length", - "http.response_content_length_uncompressed", - ], + aliases=["http.decoded_response_content_length","http.response_content_length_uncompressed"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[574], - description="Added http.response.body.decoded_size attribute", - ), - ], - additional_context=[ - "This is the size after content decoding. Set it only when the decoded size is actually known, for example from the browser Resource Timing `decodedBodySize` or by measuring a decompressed response stream.", - "Do not derive this from the `content-length` header, which always carries the encoded size. Use `http.response.body.size` for that.", + ChangelogEntry(version="0.21.0", prs=[574], description="Added http.response.body.decoded_size attribute"), ], + additional_context=["This is the size after content decoding. Set it only when the decoded size is actually known, for example from the browser Resource Timing `decodedBodySize` or by measuring a decompressed response stream.","Do not derive this from the `content-length` header, which always carries the encoded size. Use `http.response.body.size` for that."], ), "http.response.body.size": AttributeMetadata( brief="The encoded body size of the response (in bytes).", type=AttributeType.INTEGER, - keys=( - "http.response.body.size", - "http.response.header.content-length", - "http.response_content_length", + keys=("http.response.body.size", "http.response.header.content-length", "http.response_content_length",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=123, - aliases=["http.response_content_length", "http.response.header.content-length"], + aliases=["http.response_content_length","http.response.header.content-length"], changelog=[ ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[106]), @@ -20979,15 +18973,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="HTTP response headers, being the lower-cased, but otherwise unchanged HTTP Header name, the value being the header values.", type=AttributeType.STRING_ARRAY, keys=("http.response.header.",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="http.response.header.custom-header=['foo', 'bar']", - examples=[ - "http.response.header.custom-header=['foo', 'bar']", - "http.response.header.content-length=['123']", - ], + examples=["http.response.header.custom-header=['foo', 'bar']", "http.response.header.content-length=['123']"], changelog=[ ChangelogEntry(version="0.4.0", prs=[201, 204]), ChangelogEntry(version="0.1.0", prs=[103]), @@ -20996,16 +18989,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.response.header.content-length": AttributeMetadata( brief="The size of the message body sent to the recipient (in bytes)", type=AttributeType.STRING, - keys=( - "http.response.header.content-length", - "http.response.body.size", - "http.response_content_length", + keys=("http.response.header.content-length", "http.response.body.size", "http.response_content_length",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="http.response.header.custom-header=['foo', 'bar']", - aliases=["http.response_content_length", "http.response.body.size"], + aliases=["http.response_content_length","http.response.body.size"], changelog=[ ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), @@ -21014,11 +19005,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.response.size": AttributeMetadata( brief="The transfer size of the response (in bytes).", type=AttributeType.INTEGER, - keys=( - "http.response.size", - "http.response_transfer_size", + keys=("http.response.size", "http.response_transfer_size",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=456, @@ -21031,12 +19021,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.response.status_code": AttributeMetadata( brief="The status code of the HTTP response.", type=AttributeType.INTEGER, - keys=( - "http.response.status_code", - "http.response_status_code", - "http.status_code", + keys=("http.response.status_code", "http.response_status_code", "http.status_code",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=404, @@ -21045,95 +19033,83 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="http.response_status_code"), + search_alias=SearchAlias( + name="http.response_status_code" + ), ), "http.response.status_text": AttributeMetadata( brief="The reason phrase of the HTTP response.", type=AttributeType.STRING, - keys=( - "http.response.status_text", - "http.status_text", + keys=("http.response.status_text", "http.status_text",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="NOT FOUND", aliases=["http.status_text"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[574], - description="Added http.response.status_text attribute", - ), - ], - additional_context=[ - "HTTP/2 and HTTP/3 do not carry a reason phrase. Do not set this attribute when the protocol provides none; use `http.response.status_code` instead." + ChangelogEntry(version="0.21.0", prs=[574], description="Added http.response.status_text attribute"), ], + additional_context=["HTTP/2 and HTTP/3 do not carry a reason phrase. Do not set this attribute when the protocol provides none; use `http.response.status_code` instead."], ), "http.response_content_length": AttributeMetadata( brief="The encoded body size of the response (in bytes).", type=AttributeType.INTEGER, - keys=( - "http.response.body.size", - "http.response.header.content-length", - "http.response_content_length", + keys=("http.response.body.size", "http.response.header.content-length", "http.response_content_length",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=123, deprecation=DeprecationInfo( - replacement="http.response.body.size", status=DeprecationStatus.BACKFILL + replacement="http.response.body.size", + status=DeprecationStatus.BACKFILL ), - aliases=["http.response.body.size", "http.response.header.content-length"], + aliases=["http.response.body.size","http.response.header.content-length"], changelog=[ ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[61, 106]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="http.response_content_length", type="byte"), + search_alias=SearchAlias( + name="http.response_content_length", + type="byte" + ), ), "http.response_content_length_uncompressed": AttributeMetadata( brief="The decoded body size of the response (in bytes).", type=AttributeType.INTEGER, - keys=( - "http.response.body.decoded_size", - "http.decoded_response_content_length", - "http.response_content_length_uncompressed", + keys=("http.response.body.decoded_size", "http.decoded_response_content_length", "http.response_content_length_uncompressed",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=456, deprecation=DeprecationInfo( replacement="http.response.body.decoded_size", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=[ - "http.response.body.decoded_size", - "http.decoded_response_content_length", - ], + aliases=["http.response.body.decoded_size","http.decoded_response_content_length"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[574], - description="Added http.response_content_length_uncompressed attribute, deprecated in favor of http.response.body.decoded_size", - ), + ChangelogEntry(version="0.21.0", prs=[574], description="Added http.response_content_length_uncompressed attribute, deprecated in favor of http.response.body.decoded_size"), ], ), "http.response_transfer_size": AttributeMetadata( brief="The transfer size of the response (in bytes).", type=AttributeType.INTEGER, - keys=( - "http.response.size", - "http.response_transfer_size", + keys=("http.response.size", "http.response_transfer_size",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=456, deprecation=DeprecationInfo( - replacement="http.response.size", status=DeprecationStatus.BACKFILL + replacement="http.response.size", + status=DeprecationStatus.BACKFILL ), aliases=["http.response.size"], changelog=[ @@ -21141,45 +19117,43 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="http.response_transfer_size", type="byte"), + search_alias=SearchAlias( + name="http.response_transfer_size", + type="byte" + ), ), "http.route": AttributeMetadata( brief="The matched route, that is, the path template in the format used by the respective server framework.", type=AttributeType.STRING, keys=("http.route",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="/users/:id", examples=["/users/:id", "my-controller/my-action/{id}", "/posts"], aliases=["route"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[505, 521], - description="Added multiple examples, removed alias to `url.template`, added additional context", - ), + ChangelogEntry(version="0.19.0", prs=[505, 521], description="Added multiple examples, removed alias to `url.template`, added additional context"), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], - additional_context=[ - "This attribute should primarily be set by server-side instrumentation that captures the framework route of an incoming request.", - "For `http.client` spans and client-side routing, use `url.template` instead.", - ], + additional_context=["This attribute should primarily be set by server-side instrumentation that captures the framework route of an incoming request.","For `http.client` spans and client-side routing, use `url.template` instead."], ), "http.scheme": AttributeMetadata( brief="The URI scheme component identifying the used protocol.", type=AttributeType.STRING, - keys=( - "url.scheme", - "http.scheme", + keys=("url.scheme", "http.scheme",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="https", deprecation=DeprecationInfo( - replacement="url.scheme", status=DeprecationStatus.BACKFILL + replacement="url.scheme", + status=DeprecationStatus.BACKFILL ), aliases=["url.scheme"], changelog=[ @@ -21191,7 +19165,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The time in milliseconds the request spent in the server queue before processing began. Measured from the X-Request-Start header set by reverse proxies (e.g., Nginx, HAProxy, Heroku) to when the application started handling the request.", type=AttributeType.DOUBLE, keys=("http.server.request.time_in_queue",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=50, @@ -21202,40 +19178,22 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.server_name": AttributeMetadata( brief="The server domain name", type=AttributeType.STRING, - keys=( - "server.address", - "address", - "http.server_name", - "net.host.name", - "server_name", + keys=("server.address", "address", "http.server_name", "net.host.name", "server_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", deprecation=DeprecationInfo( - replacement="server.address", status=DeprecationStatus.BACKFILL - ), - aliases=[ - "address", - "server.address", - "net.host.name", - "http.host", - "server_name", - "net.peer.name", - ], - changelog=[ - ChangelogEntry( - version="0.24.0", prs=[647], description="Added server_name as an alias" - ), - ChangelogEntry( - version="0.21.0", - prs=[588, 602], - description="Added net.peer.name as an alias", - ), - ChangelogEntry( - version="0.19.0", prs=[534], description="Added address as an alias" - ), + replacement="server.address", + status=DeprecationStatus.BACKFILL + ), + aliases=["address","server.address","net.host.name","http.host","server_name","net.peer.name"], + changelog=[ + ChangelogEntry(version="0.24.0", prs=[647], description="Added server_name as an alias"), + ChangelogEntry(version="0.21.0", prs=[588, 602], description="Added net.peer.name as an alias"), + ChangelogEntry(version="0.19.0", prs=[534], description="Added address as an alias"), ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), ], @@ -21243,17 +19201,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.status_code": AttributeMetadata( brief="The status code of the HTTP response.", type=AttributeType.INTEGER, - keys=( - "http.response.status_code", - "http.response_status_code", - "http.status_code", + keys=("http.response.status_code", "http.response_status_code", "http.status_code",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=404, deprecation=DeprecationInfo( - replacement="http.response.status_code", status=DeprecationStatus.BACKFILL + replacement="http.response.status_code", + status=DeprecationStatus.BACKFILL ), aliases=["http.response.status_code"], changelog=[ @@ -21265,32 +19222,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.status_text": AttributeMetadata( brief="The reason phrase of the HTTP response", type=AttributeType.STRING, - keys=( - "http.response.status_text", - "http.status_text", + keys=("http.response.status_text", "http.status_text",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="NOT FOUND", examples=["NOT FOUND"], deprecation=DeprecationInfo( - replacement="http.response.status_text", status=DeprecationStatus.BACKFILL + replacement="http.response.status_text", + status=DeprecationStatus.BACKFILL ), aliases=["http.response.status_text"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[574], - description="Added http.status_text attribute, deprecated in favor of http.response.status_text", - ), + ChangelogEntry(version="0.21.0", prs=[574], description="Added http.status_text attribute, deprecated in favor of http.response.status_text"), ], ), "http.target": AttributeMetadata( brief="The pathname and query string of the URL.", type=AttributeType.STRING, keys=("http.target",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="/test?foo=bar#buzz", @@ -21298,11 +19253,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is being deprecated in favor of url.path, url.query and url.fragment. The value holds all three parts at once, so it has no single replacement." ), changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[587], - description="Documented url.path, url.query and url.fragment as the replacements for http.target", - ), + ChangelogEntry(version="0.21.0", prs=[587], description="Documented url.path, url.query and url.fragment as the replacements for http.target"), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], @@ -21310,27 +19261,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.url": AttributeMetadata( brief="The URL of the resource that was fetched.", type=AttributeType.STRING, - keys=( - "url.full", - "aws.request.url", - "http.url", - "messaging.url", - "url", + keys=("url.full", "aws.request.url", "http.url", "messaging.url", "url",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="https://example.com/test?foo=bar#buzz", deprecation=DeprecationInfo( - replacement="url.full", status=DeprecationStatus.BACKFILL + replacement="url.full", + status=DeprecationStatus.BACKFILL ), - aliases=["url.full", "url", "aws.request.url", "messaging.url"], + aliases=["url.full","url","aws.request.url","messaging.url"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.url as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.url as an alias"), ChangelogEntry(version="0.1.0", prs=[61, 108]), ChangelogEntry(version="0.0.0"), ], @@ -21338,16 +19282,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.user_agent": AttributeMetadata( brief="Value of the HTTP User-Agent header sent by the client.", type=AttributeType.STRING, - keys=( - "user_agent.original", - "http.user_agent", + keys=("user_agent.original", "http.user_agent",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=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", deprecation=DeprecationInfo( - replacement="user_agent.original", status=DeprecationStatus.BACKFILL + replacement="user_agent.original", + status=DeprecationStatus.BACKFILL ), aliases=["user_agent.original"], changelog=[ @@ -21359,7 +19303,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A unique identifier for the span.", type=AttributeType.STRING, keys=("id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="f47ac10b58cc4372a5670e02b2c3d479", @@ -21370,33 +19316,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "inp": AttributeMetadata( brief="The value of the recorded Interaction to Next Paint (INP) web vital", type=AttributeType.DOUBLE, - keys=( - "browser.web_vital.inp.value", - "inp", + keys=("browser.web_vital.inp.value", "inp",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=200, deprecation=DeprecationInfo( replacement="browser.web_vital.inp.value", reason="The INP web vital is now recorded as a browser.web_vital.inp.value attribute.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.inp.value"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[229], - description="Added and deprecated attribute to document JS SDK's current behaviour", - ), + ChangelogEntry(version="0.5.0", prs=[229], description="Added and deprecated attribute to document JS SDK's current behaviour"), ], ), "integrity.blocked_url": AttributeMetadata( brief="The URL of the resource blocked by the integrity policy.", type=AttributeType.STRING, keys=("integrity.blocked_url",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://example.com/app.js", @@ -21408,7 +19351,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The destination type of the resource affected by the integrity policy.", type=AttributeType.STRING, keys=("integrity.destination",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="script", @@ -21420,7 +19365,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The URL of the document where the integrity violation occurred.", type=AttributeType.STRING, keys=("integrity.document_url",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://example.com/index.html", @@ -21432,7 +19379,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the integrity violation was generated by a report-only policy.", type=AttributeType.BOOLEAN, keys=("integrity.report_only",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -21444,49 +19393,40 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The version of the JSON-RPC protocol used.", type=AttributeType.STRING, keys=("jsonrpc.protocol.version",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="2.0", changelog=[ - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Added jsonrpc.protocol.version attribute", - ), + ChangelogEntry(version="0.12.0", prs=[420], description="Added jsonrpc.protocol.version attribute"), ], ), "jsonrpc.request.id": AttributeMetadata( brief="The JSON-RPC request identifier, used to correlate a request with its response.", type=AttributeType.STRING, - keys=( - "jsonrpc.request.id", - "mcp.request.id", + keys=("jsonrpc.request.id", "mcp.request.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="1", examples=["1"], aliases=["mcp.request.id"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Removed the session-scoped uniqueness requirement from the request identifier", - ), - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Added jsonrpc.request.id attribute", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Removed the session-scoped uniqueness requirement from the request identifier"), + ChangelogEntry(version="0.12.0", prs=[420], description="Added jsonrpc.request.id attribute"), ], ), "jvm.gc.action": AttributeMetadata( brief="Name of the garbage collector action.", type=AttributeType.STRING, keys=("jvm.gc.action",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="end of minor GC", @@ -21499,7 +19439,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the garbage collector.", type=AttributeType.STRING, keys=("jvm.gc.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="G1 Young Generation", @@ -21512,7 +19454,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the memory pool.", type=AttributeType.STRING, keys=("jvm.memory.pool.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="G1 Old Gen", @@ -21525,7 +19469,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the memory pool.", type=AttributeType.STRING, keys=("jvm.memory.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="G1 Old Gen", @@ -21538,7 +19484,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the thread is daemon or not.", type=AttributeType.BOOLEAN, keys=("jvm.thread.daemon",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=True, @@ -21550,7 +19498,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="State of the thread.", type=AttributeType.STRING, keys=("jvm.thread.state",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="blocked", @@ -21563,7 +19513,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name of the Koa middleware or matched route that handled the request.", type=AttributeType.STRING, keys=("koa.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="/users/:id", @@ -21571,36 +19523,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="No single replacement. SDKs should use http.route for router layers and code.function.name for middleware layers instead." ), changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[490], - description="Added koa.name attribute as deprecated", - ), + ChangelogEntry(version="0.16.0", prs=[490], description="Added koa.name attribute as deprecated"), ], ), "koa.type": AttributeMetadata( brief="The type of the Koa layer that handled the request.", type=AttributeType.STRING, keys=("koa.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="router", changelog=[ - ChangelogEntry( - version="0.16.0", prs=[471], description="Added koa.type attribute" - ), + ChangelogEntry(version="0.16.0", prs=[471], description="Added koa.type attribute"), ], ), "langchain.chain.name": AttributeMetadata( brief="The name of the LangChain chain being executed.", type=AttributeType.STRING, - keys=( - "gen_ai.pipeline.name", - "ai.pipeline.name", - "langchain.chain.name", + keys=("gen_ai.pipeline.name", "ai.pipeline.name", "langchain.chain.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="format_prompt", @@ -21608,32 +19554,27 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.pipeline.name", reason="This attribute is being deprecated in favor of gen_ai.pipeline.name, which is the SDK-agnostic replacement for the name of the AI pipeline or chain being executed.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.pipeline.name", "ai.pipeline.name"], + aliases=["gen_ai.pipeline.name","ai.pipeline.name"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[599], - description="Added langchain.chain.name attribute", - ), + ChangelogEntry(version="0.22.0", prs=[599], description="Added langchain.chain.name attribute"), ], ), "lcp.element": AttributeMetadata( brief="The dom element responsible for the largest contentful paint.", type=AttributeType.STRING, - keys=( - "browser.web_vital.lcp.element", - "lcp.element", + keys=("browser.web_vital.lcp.element", "lcp.element",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="img", deprecation=DeprecationInfo( replacement="browser.web_vital.lcp.element", reason="The LCP element is now recorded as a browser.web_vital.lcp.element attribute.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.lcp.element"], changelog=[ @@ -21645,18 +19586,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "lcp.id": AttributeMetadata( brief="The id of the dom element responsible for the largest contentful paint.", type=AttributeType.STRING, - keys=( - "browser.web_vital.lcp.id", - "lcp.id", + keys=("browser.web_vital.lcp.id", "lcp.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="#hero", deprecation=DeprecationInfo( replacement="browser.web_vital.lcp.id", reason="The LCP id is now recorded as a browser.web_vital.lcp.id attribute.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.lcp.id"], changelog=[ @@ -21668,18 +19608,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "lcp.loadTime": AttributeMetadata( brief="The time it took for the LCP element to be loaded", type=AttributeType.INTEGER, - keys=( - "browser.web_vital.lcp.load_time", - "lcp.loadTime", + keys=("browser.web_vital.lcp.load_time", "lcp.loadTime",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1402, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.lcp.load_time"], changelog=[ @@ -21689,18 +19628,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "lcp.renderTime": AttributeMetadata( brief="The time it took for the LCP element to be rendered", type=AttributeType.INTEGER, - keys=( - "browser.web_vital.lcp.render_time", - "lcp.renderTime", + keys=("browser.web_vital.lcp.render_time", "lcp.renderTime",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1685, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.lcp.render_time"], changelog=[ @@ -21710,18 +19648,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "lcp.size": AttributeMetadata( brief="The size of the largest contentful paint element.", type=AttributeType.INTEGER, - keys=( - "browser.web_vital.lcp.size", - "lcp.size", + keys=("browser.web_vital.lcp.size", "lcp.size",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234, deprecation=DeprecationInfo( replacement="browser.web_vital.lcp.size", reason="The LCP size is now recorded as a browser.web_vital.lcp.size attribute.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.lcp.size"], changelog=[ @@ -21733,18 +19670,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "lcp.url": AttributeMetadata( brief="The url of the dom element responsible for the largest contentful paint.", type=AttributeType.STRING, - keys=( - "browser.web_vital.lcp.url", - "lcp.url", + keys=("browser.web_vital.lcp.url", "lcp.url",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://example.com", deprecation=DeprecationInfo( replacement="browser.web_vital.lcp.url", reason="The LCP url is now recorded as a browser.web_vital.lcp.url attribute.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.lcp.url"], changelog=[ @@ -21756,61 +19692,50 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "lcp": AttributeMetadata( brief="The value of the recorded Largest Contentful Paint (LCP) web vital", type=AttributeType.DOUBLE, - keys=( - "browser.web_vital.lcp.value", - "lcp", + keys=("browser.web_vital.lcp.value", "lcp",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2500, deprecation=DeprecationInfo( replacement="browser.web_vital.lcp.value", reason="The LCP web vital is now recorded as a browser.web_vital.lcp.value attribute.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.lcp.value"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[229], - description="Added and deprecated attribute to document JS SDK's current behaviour", - ), + ChangelogEntry(version="0.5.0", prs=[229], description="Added and deprecated attribute to document JS SDK's current behaviour"), ], ), "litestar.middleware_name": AttributeMetadata( brief="The name of the Litestar middleware.", type=AttributeType.STRING, - keys=( - "middleware.name", - "django.middleware_name", - "litestar.middleware_name", - "starlette.middleware_name", - "starlite.middleware_name", + keys=("middleware.name", "django.middleware_name", "litestar.middleware_name", "starlette.middleware_name", "starlite.middleware_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="AuthenticationMiddleware", deprecation=DeprecationInfo( replacement="middleware.name", reason="This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["middleware.name"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[486], - description="Added litestar.middleware_name attribute, deprecated in favor of middleware.name", - ), + ChangelogEntry(version="0.19.0", prs=[486], description="Added litestar.middleware_name attribute, deprecated in favor of middleware.name"), ], ), "logger.name": AttributeMetadata( brief="The name of the logger that generated this event.", type=AttributeType.STRING, keys=("logger.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="myLogger", @@ -21823,17 +19748,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Registered OAuth client application name associated with the authenticated MCP request. Taken from OAuth client registration metadata (client_name) made available by the authentication layer. This is distinct from the MCP implementation name in mcp.client.name; omit it when the OAuth client name is unavailable.", type=AttributeType.STRING, keys=("mcp.auth.client.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Example Desktop", examples=["Example Desktop", "Example CLI"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Added mcp.auth.client.name attribute", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Added mcp.auth.client.name attribute"), ], ), "mcp.cancelled.reason": AttributeMetadata( @@ -21842,7 +19765,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.cancelled.reason",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Cancellation reasons may contain user-specific or sensitive information", + reason="Cancellation reasons may contain user-specific or sensitive information" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -21855,7 +19778,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Request ID of the cancelled MCP operation.", type=AttributeType.STRING, keys=("mcp.cancelled.request_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="123", @@ -21867,17 +19792,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the MCP client implementation, as declared in clientInfo. This is distinct from the registered OAuth application name in mcp.auth.client.name.", type=AttributeType.STRING, keys=("mcp.client.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="example-mcp-client", examples=["example-mcp-client"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Clarified that the attribute describes declared MCP implementation metadata", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the attribute describes declared MCP implementation metadata"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -21887,18 +19810,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.client.title",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Client titles may reveal user-specific application configurations or custom setups", + reason="Client titles may reveal user-specific application configurations or custom setups" ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Example MCP Client", examples=["Example MCP Client"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Clarified that the attribute describes declared MCP implementation metadata", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the attribute describes declared MCP implementation metadata"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -21906,17 +19825,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Version of the MCP client implementation, as declared in clientInfo.", type=AttributeType.STRING, keys=("mcp.client.version",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="1.0.0", examples=["1.0.0"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Clarified that the attribute describes declared MCP implementation metadata", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the attribute describes declared MCP implementation metadata"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -21924,7 +19841,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Lifecycle phase indicator for MCP operations.", type=AttributeType.STRING, keys=("mcp.lifecycle.phase",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="initialization_complete", @@ -21936,7 +19855,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Data type of the logged message content.", type=AttributeType.STRING, keys=("mcp.logging.data_type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="string", @@ -21948,7 +19869,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Log level for MCP logging operations.", type=AttributeType.STRING, keys=("mcp.logging.level",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="info", @@ -21962,7 +19885,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.logging.logger",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Logger names may be user-defined and could contain sensitive information", + reason="Logger names may be user-defined and could contain sensitive information" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -21976,7 +19899,8 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): type=AttributeType.STRING, keys=("mcp.logging.message",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO, reason="Log messages can contain user data" + key=ApplyScrubbing.AUTO, + reason="Log messages can contain user data" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -21989,16 +19913,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name of the MCP request or notification method being called.", type=AttributeType.STRING, keys=("mcp.method.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="tools/call", changelog=[ - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Set is_in_otel=true, attribute exists in OTel MCP registry", - ), + ChangelogEntry(version="0.12.0", prs=[420], description="Set is_in_otel=true, attribute exists in OTel MCP registry"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -22006,17 +19928,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Current progress value of an MCP operation.", type=AttributeType.DOUBLE, keys=("mcp.progress.current",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.2, examples=[0.2, 50], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Changed the type to double to support fractional MCP progress values", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Changed the type to double to support fractional MCP progress values"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.3.0", prs=[171]), ], @@ -22027,7 +19947,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.progress.message",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Progress messages may contain user-specific or sensitive information", + reason="Progress messages may contain user-specific or sensitive information" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22040,7 +19960,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Calculated progress percentage of an MCP operation. Computed from current/total * 100.", type=AttributeType.DOUBLE, keys=("mcp.progress.percentage",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=50, @@ -22053,7 +19975,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Token for tracking progress of an MCP operation.", type=AttributeType.STRING, keys=("mcp.progress.token",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="progress-token-123", @@ -22065,17 +19989,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Total progress target value of an MCP operation.", type=AttributeType.DOUBLE, keys=("mcp.progress.total",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, examples=[1, 100], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Changed the type to double to support fractional MCP progress values", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Changed the type to double to support fractional MCP progress values"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.3.0", prs=[171]), ], @@ -22083,13 +20005,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "mcp.prompt.name": AttributeMetadata( brief="Name of the MCP prompt template being used.", type=AttributeType.STRING, - keys=( - "gen_ai.prompt.name", - "mcp.prompt.name", - ), + keys=("gen_ai.prompt.name", "mcp.prompt.name",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Prompt names may reveal user behavior patterns or sensitive operations", + reason="Prompt names may reveal user behavior patterns or sensitive operations" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22097,15 +20016,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.prompt.name", reason="OTel uses gen_ai.prompt.name for MCP prompt names", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.prompt.name"], changelog=[ - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Deprecated in favor of gen_ai.prompt.name", - ), + ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of gen_ai.prompt.name"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -22115,24 +20030,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.prompt.result..content",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Summarize the document.", examples=["Summarize the document."], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted for results with multiple messages. is the zero-based position in the original messages array; absent fields do not renumber later messages.", - "Recorded only when output capture is enabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple messages. is the zero-based position in the original messages array; absent fields do not renumber later messages.","Recorded only when output capture is enabled."], ), "mcp.prompt.result..role": AttributeMetadata( brief="Legacy role of an indexed message in a multi-message MCP prompt result.", @@ -22140,30 +20047,24 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.prompt.result..role",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, example="user", examples=["user", "assistant"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted for results with multiple messages. is the zero-based position in the original messages array; absent fields do not renumber later messages.", - "Recorded only when output capture is enabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple messages. is the zero-based position in the original messages array; absent fields do not renumber later messages.","Recorded only when output capture is enabled."], ), "mcp.prompt.result.description": AttributeMetadata( brief="Description of the prompt result.", type=AttributeType.STRING, keys=("mcp.prompt.result.description",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="A summary of the requested information", @@ -22175,7 +20076,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Content of the message in the prompt result. Used for single message results only.", type=AttributeType.STRING, keys=("mcp.prompt.result.message_content",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Please provide a summary of the document", @@ -22187,7 +20090,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Number of messages in the prompt result.", type=AttributeType.INTEGER, keys=("mcp.prompt.result.message_count",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=3, @@ -22200,7 +20105,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Role of the message in the prompt result. Used for single message results only.", type=AttributeType.STRING, keys=("mcp.prompt.result.message_role",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="user", @@ -22212,17 +20119,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Readiness indicator for the legacy MCP initialization handshake. A non-zero value indicates that notifications/initialized has completed initialization. Omit for protocol versions without this handshake.", type=AttributeType.INTEGER, keys=("mcp.protocol.ready",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, examples=[1], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Clarified that readiness describes the legacy MCP initialization handshake", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that readiness describes the legacy MCP initialization handshake"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.3.0", prs=[171]), ], @@ -22231,22 +20136,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Version of the Model Context Protocol used for the operation.", type=AttributeType.STRING, keys=("mcp.protocol.version",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="2024-11-05", examples=["2024-11-05"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Clarified that the protocol version applies to an operation without requiring a session", - ), - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Set is_in_otel=true, attribute exists in OTel MCP registry", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the protocol version applies to an operation without requiring a session"), + ChangelogEntry(version="0.12.0", prs=[420], description="Set is_in_otel=true, attribute exists in OTel MCP registry"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -22255,7 +20154,8 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): type=AttributeType.STRING, keys=("mcp.request.argument.",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO, reason="Arguments contain user input" + key=ApplyScrubbing.AUTO, + reason="Arguments contain user input" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22270,7 +20170,8 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): type=AttributeType.STRING, keys=("mcp.request.argument.name",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO, reason="Prompt names can contain user input" + key=ApplyScrubbing.AUTO, + reason="Prompt names can contain user input" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22284,7 +20185,8 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): type=AttributeType.STRING, keys=("mcp.request.argument.uri",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO, reason="URIs can contain user file paths" + key=ApplyScrubbing.AUTO, + reason="URIs can contain user file paths" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22296,11 +20198,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "mcp.request.id": AttributeMetadata( brief="JSON-RPC request identifier for the MCP request, used to correlate the request with its response.", type=AttributeType.STRING, - keys=( - "jsonrpc.request.id", - "mcp.request.id", + keys=("jsonrpc.request.id", "mcp.request.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1", @@ -22308,20 +20209,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="jsonrpc.request.id", reason="OTel models MCP as JSON-RPC, uses jsonrpc.request.id", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["jsonrpc.request.id"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Removed the session-scoped uniqueness requirement from the request identifier", - ), - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Deprecated in favor of jsonrpc.request.id", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Removed the session-scoped uniqueness requirement from the request identifier"), + ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of jsonrpc.request.id"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -22329,27 +20222,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="URI scheme of the MCP resource being accessed, extracted from its URI. This is distinct from the network protocol used to communicate with the MCP server.", type=AttributeType.STRING, keys=("mcp.resource.protocol",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="file", examples=["file", "postgres"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Clarified Sentry-specific semantics and removed the incorrect network attribute alias and deprecation", - ), - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.protocol as an alias", - ), - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Deprecated in favor of network.protocol.name", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Clarified Sentry-specific semantics and removed the incorrect network attribute alias and deprecation"), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol as an alias"), + ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of network.protocol.name"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -22358,17 +20241,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): type=AttributeType.STRING, keys=("mcp.resource.uri",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO, reason="URIs can contain sensitive file paths" + key=ApplyScrubbing.AUTO, + reason="URIs can contain sensitive file paths" ), is_in_otel=True, visibility=Visibility.PUBLIC, example="file:///path/to/file.txt", changelog=[ - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Set is_in_otel=true, attribute exists in OTel MCP registry", - ), + ChangelogEntry(version="0.12.0", prs=[420], description="Set is_in_otel=true, attribute exists in OTel MCP registry"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -22376,17 +20256,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the MCP server implementation, as declared in serverInfo.", type=AttributeType.STRING, keys=("mcp.server.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="example-mcp-server", examples=["example-mcp-server"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Clarified that the attribute describes declared MCP implementation metadata", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the attribute describes declared MCP implementation metadata"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -22396,18 +20274,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.server.title",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Server titles may reveal user-specific application configurations or custom setups", + reason="Server titles may reveal user-specific application configurations or custom setups" ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Example MCP Server", examples=["Example MCP Server"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Clarified that the attribute describes declared MCP implementation metadata", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the attribute describes declared MCP implementation metadata"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -22415,17 +20289,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Version of the MCP server implementation, as declared in serverInfo.", type=AttributeType.STRING, keys=("mcp.server.version",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="0.1.0", examples=["0.1.0"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Clarified that the attribute describes declared MCP implementation metadata", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the attribute describes declared MCP implementation metadata"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -22433,52 +20305,38 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Identifier for an MCP protocol session, when the operation belongs to a session.", type=AttributeType.STRING, keys=("mcp.session.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="550e8400-e29b-41d4-a716-446655440000", examples=["550e8400-e29b-41d4-a716-446655440000"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Clarified that the identifier requires a real MCP protocol session", - ), - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Set is_in_otel=true, attribute exists in OTel MCP registry", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the identifier requires a real MCP protocol session"), + ChangelogEntry(version="0.12.0", prs=[420], description="Set is_in_otel=true, attribute exists in OTel MCP registry"), ChangelogEntry(version="0.3.0", prs=[171]), ], - additional_context=[ - "Applies to protocol versions and transports that provide MCP session management, including legacy Streamable HTTP sessions. Omit for operations without a protocol session; do not synthesize a session identifier from a request, connection, or conversation." - ], + additional_context=["Applies to protocol versions and transports that provide MCP session management, including legacy Streamable HTTP sessions. Omit for operations without a protocol session; do not synthesize a session identifier from a request, connection, or conversation."], ), "mcp.tool.name": AttributeMetadata( brief="Name of the MCP tool being called.", type=AttributeType.STRING, - keys=( - "gen_ai.tool.name", - "ai.function_call", - "mcp.tool.name", + keys=("gen_ai.tool.name", "ai.function_call", "mcp.tool.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="calculator", deprecation=DeprecationInfo( replacement="gen_ai.tool.name", reason="OTel uses gen_ai.tool.name for MCP tool names", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.tool.name", "ai.function_call"], + aliases=["gen_ai.tool.name","ai.function_call"], changelog=[ - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Deprecated in favor of gen_ai.tool.name", - ), + ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of gen_ai.tool.name"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -22488,7 +20346,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..content",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22498,18 +20356,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", - "Recorded only when output capture is enabled.", - "This is one item's text, not the complete tool result. It must not be aliased or directly backfilled to gen_ai.tool.call.result; reconstructing the complete result requires aggregation.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled.","This is one item's text, not the complete tool result. It must not be aliased or directly backfilled to gen_ai.tool.call.result; reconstructing the complete result requires aggregation."], ), "mcp.tool.result..content_type": AttributeMetadata( brief="Legacy content type of an indexed content item in a multi-item MCP tool result.", @@ -22517,7 +20366,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..content_type",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22527,24 +20376,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", - "Recorded even when output capture is disabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded even when output capture is disabled."], ), "mcp.tool.result..data_size": AttributeMetadata( brief="Legacy length of the data string in UTF-16 code units of an indexed content item in a multi-item MCP tool result.", type=AttributeType.INTEGER, keys=("mcp.tool.result..data_size",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL, reason="The length contains no result content." + key=ApplyScrubbing.MANUAL, + reason="The length contains no result content." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22554,18 +20396,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", - "Recorded only when output capture is enabled.", - "The JavaScript SDK records data.length. For base64-encoded image or audio data, this counts encoded characters, not decoded bytes.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled.","The JavaScript SDK records data.length. For base64-encoded image or audio data, this counts encoded characters, not decoded bytes."], ), "mcp.tool.result..mime_type": AttributeMetadata( brief="Legacy MIME type of an indexed content item in a multi-item MCP tool result.", @@ -22573,7 +20406,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..mime_type",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22583,17 +20416,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", - "Recorded only when output capture is enabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled."], ), "mcp.tool.result..name": AttributeMetadata( brief="Legacy resource link name of an indexed content item in a multi-item MCP tool result.", @@ -22601,7 +20426,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..name",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22611,17 +20436,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", - "Recorded only when output capture is enabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled."], ), "mcp.tool.result..resource_mime_type": AttributeMetadata( brief="Legacy embedded resource MIME type of an indexed content item in a multi-item MCP tool result.", @@ -22629,7 +20446,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..resource_mime_type",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22639,17 +20456,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", - "Recorded only when output capture is enabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled."], ), "mcp.tool.result..resource_uri": AttributeMetadata( brief="Legacy embedded resource URI of an indexed content item in a multi-item MCP tool result.", @@ -22657,7 +20466,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..resource_uri",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22667,17 +20476,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", - "Recorded only when output capture is enabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled."], ), "mcp.tool.result..uri": AttributeMetadata( brief="Legacy resource link URI of an indexed content item in a multi-item MCP tool result.", @@ -22685,7 +20486,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..uri",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22695,53 +20496,29 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", - "Recorded only when output capture is enabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled."], ), "mcp.tool.result.content": AttributeMetadata( brief="The content of the tool result.", type=AttributeType.STRING, - keys=( - "gen_ai.tool.call.result", - "ai.toolCall.result", - "anthropic.tool_result.content", - "gen_ai.tool.message", - "gen_ai.tool.output", - "mcp.tool.result.content", - ), + keys=("gen_ai.tool.call.result", "ai.toolCall.result", "anthropic.tool_result.content", "gen_ai.tool.message", "gen_ai.tool.output", "mcp.tool.result.content",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO, reason="Tool results can contain user data" + key=ApplyScrubbing.AUTO, + reason="Tool results can contain user data" ), is_in_otel=False, visibility=Visibility.PUBLIC, - example='{"output": "rainy", "toolCallId": "1"}', + example="{\"output\": \"rainy\", \"toolCallId\": \"1\"}", deprecation=DeprecationInfo( replacement="gen_ai.tool.call.result", reason="OTel uses gen_ai.tool.call.result for MCP tool results", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=[ - "gen_ai.tool.call.result", - "gen_ai.tool.message", - "gen_ai.tool.output", - "ai.toolCall.result", - "anthropic.tool_result.content", - ], + aliases=["gen_ai.tool.call.result","gen_ai.tool.message","gen_ai.tool.output","ai.toolCall.result","anthropic.tool_result.content"], changelog=[ - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Deprecated in favor of gen_ai.tool.call.result", - ), + ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of gen_ai.tool.call.result"), ChangelogEntry(version="0.3.0", prs=[171]), ChangelogEntry(version="0.2.0", prs=[164]), ], @@ -22750,7 +20527,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Number of content items in the tool result.", type=AttributeType.INTEGER, keys=("mcp.tool.result.content_count",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, @@ -22758,11 +20537,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="A count can be calculcated from the value of the gen_ai.tool.call.result attribute." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[669], - description="Deprecate the attribute since it is redundant given gen_ai.tool.call.result.", - ), + ChangelogEntry(version="0.27.0", prs=[669], description="Deprecate the attribute since it is redundant given gen_ai.tool.call.result."), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.3.0", prs=[171]), ], @@ -22773,7 +20548,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result.content_type",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22783,24 +20558,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted only when the result contains exactly one content item.", - "Recorded even when output capture is disabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded even when output capture is disabled."], ), "mcp.tool.result.data_size": AttributeMetadata( brief="Legacy length of the data string in UTF-16 code units of the content item in a single-item MCP tool result.", type=AttributeType.INTEGER, keys=("mcp.tool.result.data_size",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL, reason="The length contains no result content." + key=ApplyScrubbing.MANUAL, + reason="The length contains no result content." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22810,37 +20578,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted only when the result contains exactly one content item.", - "Recorded only when output capture is enabled.", - "The JavaScript SDK records data.length. For base64-encoded image or audio data, this counts encoded characters, not decoded bytes.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded only when output capture is enabled.","The JavaScript SDK records data.length. For base64-encoded image or audio data, this counts encoded characters, not decoded bytes."], ), "mcp.tool.result.is_error": AttributeMetadata( brief="Whether a tool execution resulted in an error.", type=AttributeType.BOOLEAN, keys=("mcp.tool.result.is_error",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=False, deprecation=DeprecationInfo( replacement="error.type", - reason="OTel uses error.type set to 'tool_error' when isError is true. Cannot be automatically backfilled due to type mismatch (boolean vs string).", + reason="OTel uses error.type set to 'tool_error' when isError is true. Cannot be automatically backfilled due to type mismatch (boolean vs string)." ), changelog=[ - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Deprecated in favor of error.type", - ), + ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of error.type"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -22850,7 +20607,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result.mime_type",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22860,17 +20617,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted only when the result contains exactly one content item.", - "Recorded only when output capture is enabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded only when output capture is enabled."], ), "mcp.tool.result.name": AttributeMetadata( brief="Legacy resource link name of the content item in a single-item MCP tool result.", @@ -22878,7 +20627,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result.name",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22888,17 +20637,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted only when the result contains exactly one content item.", - "Recorded only when output capture is enabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded only when output capture is enabled."], ), "mcp.tool.result.resource_mime_type": AttributeMetadata( brief="Legacy embedded resource MIME type of the content item in a single-item MCP tool result.", @@ -22906,7 +20647,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result.resource_mime_type",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22916,17 +20657,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted only when the result contains exactly one content item.", - "Recorded only when output capture is enabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded only when output capture is enabled."], ), "mcp.tool.result.resource_uri": AttributeMetadata( brief="Legacy embedded resource URI of the content item in a single-item MCP tool result.", @@ -22934,7 +20667,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result.resource_uri",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22944,17 +20677,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted only when the result contains exactly one content item.", - "Recorded only when output capture is enabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded only when output capture is enabled."], ), "mcp.tool.result.uri": AttributeMetadata( brief="Legacy resource link URI of the content item in a single-item MCP tool result.", @@ -22962,7 +20687,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result.uri",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields.", + reason="Preserve automatic scrubbing of server-provided result fields." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22972,38 +20697,24 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[689], - description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", - ), - ], - additional_context=[ - "Registers an existing Sentry JavaScript SDK attribute for compatibility.", - "Emitted only when the result contains exactly one content item.", - "Recorded only when output capture is enabled.", + ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), ], + additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded only when output capture is enabled."], ), "mcp.transport": AttributeMetadata( brief="MCP transport implementation name, such as the transport class name. This identifies the implementation, not the network transport or application protocol.", type=AttributeType.STRING, keys=("mcp.transport",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="StdioServerTransport", examples=["StdioServerTransport", "CustomHTTPTransport"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Clarified Sentry-specific semantics and removed the incorrect network attribute alias and deprecation", - ), - ChangelogEntry( - version="0.12.0", - prs=[420], - description="Deprecated in favor of network.transport", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Clarified Sentry-specific semantics and removed the incorrect network attribute alias and deprecation"), + ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of network.transport"), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -23011,7 +20722,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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.", type=AttributeType.STRING, keys=("mdc.",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -23024,26 +20737,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The number of messages sent, received, or processed in the scope of the batching operation.", type=AttributeType.INTEGER, keys=("messaging.batch.message_count",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, changelog=[ - ChangelogEntry( - version="0.6.0", - prs=[341], - description="Added messaging.batch.message_count attribute", - ), + ChangelogEntry(version="0.6.0", prs=[341], description="Added messaging.batch.message_count attribute"), ], ), "messaging.conversation_id": AttributeMetadata( - brief='The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".', + brief="The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called \"Correlation ID\".", type=AttributeType.STRING, - keys=( - "messaging.message.conversation_id", - "messaging.conversation_id", + keys=("messaging.message.conversation_id", "messaging.conversation_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="MyConversationId", @@ -23051,47 +20761,40 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="messaging.message.conversation_id", reason="This attribute is being deprecated in favor of messaging.message.conversation_id.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["messaging.message.conversation_id"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.conversation_id attribute", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.conversation_id attribute"), ], ), "messaging.destination": AttributeMetadata( brief="The message destination name.", type=AttributeType.STRING, - keys=( - "messaging.destination.name", - "messaging.destination", + keys=("messaging.destination.name", "messaging.destination",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="BestTopic", deprecation=DeprecationInfo( replacement="messaging.destination.name", reason="This attribute is being deprecated in favor of messaging.destination.name, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["messaging.destination.name"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[482], - description="Added messaging.destination attribute, deprecated in favor of messaging.destination.name", - ), + ChangelogEntry(version="0.16.0", prs=[482], description="Added messaging.destination attribute, deprecated in favor of messaging.destination.name"), ], ), "messaging.destination.connection": AttributeMetadata( brief="The message destination connection.", type=AttributeType.STRING, keys=("messaging.destination.connection",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="BestTopic", @@ -23103,21 +20806,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "messaging.destination.name": AttributeMetadata( brief="The message destination name.", type=AttributeType.STRING, - keys=( - "messaging.destination.name", - "messaging.destination", + keys=("messaging.destination.name", "messaging.destination",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="BestTopic", aliases=["messaging.destination"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[482], - description="Added messaging.destination as an alias", - ), + ChangelogEntry(version="0.16.0", prs=[482], description="Added messaging.destination as an alias"), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -23126,23 +20824,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name.", type=AttributeType.STRING, keys=("messaging.destination.partition.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="1", changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[474], - description="Added messaging.destination.partition.id attribute", - ), + ChangelogEntry(version="0.19.0", prs=[474], description="Added messaging.destination.partition.id attribute"), ], ), "messaging.destination_kind": AttributeMetadata( brief="The kind of message destination.", type=AttributeType.STRING, keys=("messaging.destination_kind",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="topic", @@ -23150,66 +20848,58 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Deprecated from OTEL, which now models the destination kind via messaging.operation.type and messaging.destination.name." ), changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[509], - description="Added deprecated messaging.destination_kind attribute for parity with legacy OTel instrumentations.", - ), + ChangelogEntry(version="0.19.0", prs=[509], description="Added deprecated messaging.destination_kind attribute for parity with legacy OTel instrumentations."), ], ), "messaging.kafka.message.key": AttributeMetadata( 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=AttributeType.STRING, keys=("messaging.kafka.message.key",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="myKey", changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[474], - description="Added messaging.kafka.message.key attribute", - ), + ChangelogEntry(version="0.19.0", prs=[474], description="Added messaging.kafka.message.key attribute"), ], ), "messaging.kafka.message.tombstone": AttributeMetadata( brief="A boolean that is true if the message is a tombstone.", type=AttributeType.BOOLEAN, keys=("messaging.kafka.message.tombstone",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[474], - description="Added messaging.kafka.message.tombstone attribute", - ), + ChangelogEntry(version="0.19.0", prs=[474], description="Added messaging.kafka.message.tombstone attribute"), ], ), "messaging.kafka.offset": AttributeMetadata( brief="The offset of a record in the corresponding Kafka partition.", type=AttributeType.INTEGER, keys=("messaging.kafka.offset",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=42, changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[474], - description="Added messaging.kafka.offset attribute", - ), + ChangelogEntry(version="0.19.0", prs=[474], description="Added messaging.kafka.offset attribute"), ], ), "messaging.message.body.size": AttributeMetadata( brief="The size of the message body in bytes.", type=AttributeType.INTEGER, keys=("messaging.message.body.size",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=839, @@ -23217,38 +20907,34 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="messaging.message.body.size", type="byte"), + search_alias=SearchAlias( + name="messaging.message.body.size", + type="byte" + ), ), "messaging.message.conversation_id": AttributeMetadata( - brief='The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".', + brief="The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called \"Correlation ID\".", type=AttributeType.STRING, - keys=( - "messaging.message.conversation_id", - "messaging.conversation_id", + keys=("messaging.message.conversation_id", "messaging.conversation_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="MyConversationId", aliases=["messaging.conversation_id"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.conversation_id as an alias", - ), - ChangelogEntry( - version="0.16.0", - prs=[468], - description="Added messaging.message.conversation_id attribute", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.conversation_id as an alias"), + ChangelogEntry(version="0.16.0", prs=[468], description="Added messaging.message.conversation_id attribute"), ], ), "messaging.message.envelope.size": AttributeMetadata( brief="The size of the message body and metadata in bytes.", type=AttributeType.INTEGER, keys=("messaging.message.envelope.size",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=1045, @@ -23260,21 +20946,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "messaging.message.id": AttributeMetadata( brief="A value used by the messaging system as an identifier for the message, represented as a string.", type=AttributeType.STRING, - keys=( - "messaging.message.id", - "messaging.message_id", + keys=("messaging.message.id", "messaging.message_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="f47ac10b58cc4372a5670e02b2c3d479", aliases=["messaging.message_id"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.message_id as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.message_id as an alias"), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -23283,7 +20964,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The latency between when the message was published and received.", type=AttributeType.INTEGER, keys=("messaging.message.receive.latency",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732847252, @@ -23292,14 +20975,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.0.0"), ], search_alias=SearchAlias( - name="messaging.message.receive.latency", type="millisecond" + name="messaging.message.receive.latency", + type="millisecond" ), ), "messaging.message.retry.count": AttributeMetadata( brief="The amount of attempts to send the message.", type=AttributeType.INTEGER, keys=("messaging.message.retry.count",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, @@ -23311,11 +20997,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "messaging.message_id": AttributeMetadata( brief="A value used by the messaging system as an identifier for the message, represented as a string.", type=AttributeType.STRING, - keys=( - "messaging.message.id", - "messaging.message_id", + keys=("messaging.message.id", "messaging.message_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="452a7c7c7c7048c2f887f0e7", @@ -23323,25 +21008,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="messaging.message.id", reason="This attribute is being deprecated in favor of messaging.message.id.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["messaging.message.id"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.message_id attribute", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.message_id attribute"), ], ), "messaging.operation": AttributeMetadata( brief="The name of the messaging operation being performed.", type=AttributeType.STRING, - keys=( - "messaging.operation.name", - "messaging.operation", + keys=("messaging.operation.name", "messaging.operation",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="publish", @@ -23349,47 +21029,36 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="messaging.operation.name", reason="This attribute is being deprecated in favor of messaging.operation.name.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["messaging.operation.name"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.operation attribute", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.operation attribute"), ], ), "messaging.operation.name": AttributeMetadata( brief="The name of the messaging operation being performed", type=AttributeType.STRING, - keys=( - "messaging.operation.name", - "messaging.operation", + keys=("messaging.operation.name", "messaging.operation",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="send", aliases=["messaging.operation"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.operation as an alias", - ), - ChangelogEntry( - version="0.11.0", - prs=[392], - description="Added messaging.operation.name attribute", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.operation as an alias"), + ChangelogEntry(version="0.11.0", prs=[392], description="Added messaging.operation.name attribute"), ], ), "messaging.operation.type": AttributeMetadata( brief="A string identifying the type of the messaging operation", type=AttributeType.STRING, keys=("messaging.operation.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="create", @@ -23400,12 +21069,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "messaging.protocol": AttributeMetadata( brief="OSI application layer or non-OSI equivalent.", type=AttributeType.STRING, - keys=( - "network.protocol.name", - "messaging.protocol", - "net.protocol.name", + keys=("network.protocol.name", "messaging.protocol", "net.protocol.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="AMQP", @@ -23413,32 +21080,21 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="network.protocol.name", reason="This attribute is being deprecated in favor of network.protocol.name.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["network.protocol.name", "net.protocol.name"], + aliases=["network.protocol.name","net.protocol.name"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Removed the semantically distinct mcp.resource.protocol alias", - ), - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.protocol attribute", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Removed the semantically distinct mcp.resource.protocol alias"), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol attribute"), ], ), "messaging.protocol_version": AttributeMetadata( brief="The actual version of the protocol used for network communication.", type=AttributeType.STRING, - keys=( - "network.protocol.version", - "http.flavor", - "messaging.protocol_version", - "net.protocol.version", + keys=("network.protocol.version", "http.flavor", "messaging.protocol_version", "net.protocol.version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="0.9.1", @@ -23446,50 +21102,36 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="network.protocol.version", reason="This attribute is being deprecated in favor of network.protocol.version.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["network.protocol.version", "http.flavor", "net.protocol.version"], + aliases=["network.protocol.version","http.flavor","net.protocol.version"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.protocol_version attribute", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol_version attribute"), ], ), "messaging.rabbitmq.destination.routing_key": AttributeMetadata( brief="RabbitMQ message routing key.", type=AttributeType.STRING, - keys=( - "messaging.rabbitmq.destination.routing_key", - "messaging.rabbitmq.routing_key", + keys=("messaging.rabbitmq.destination.routing_key", "messaging.rabbitmq.routing_key",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="myKey", aliases=["messaging.rabbitmq.routing_key"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.rabbitmq.routing_key as an alias", - ), - ChangelogEntry( - version="0.16.0", - prs=[468], - description="Added messaging.rabbitmq.destination.routing_key attribute", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.rabbitmq.routing_key as an alias"), + ChangelogEntry(version="0.16.0", prs=[468], description="Added messaging.rabbitmq.destination.routing_key attribute"), ], ), "messaging.rabbitmq.routing_key": AttributeMetadata( brief="RabbitMQ message routing key.", type=AttributeType.STRING, - keys=( - "messaging.rabbitmq.destination.routing_key", - "messaging.rabbitmq.routing_key", + keys=("messaging.rabbitmq.destination.routing_key", "messaging.rabbitmq.routing_key",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="myKey", @@ -23497,22 +21139,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="messaging.rabbitmq.destination.routing_key", reason="This attribute is being deprecated in favor of messaging.rabbitmq.destination.routing_key.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["messaging.rabbitmq.destination.routing_key"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.rabbitmq.routing_key attribute", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.rabbitmq.routing_key attribute"), ], ), "messaging.system": AttributeMetadata( brief="The messaging system as identified by the client instrumentation.", type=AttributeType.STRING, keys=("messaging.system",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="activemq", @@ -23524,14 +21164,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "messaging.url": AttributeMetadata( brief="The connection string of the messaging broker.", type=AttributeType.STRING, - keys=( - "url.full", - "aws.request.url", - "http.url", - "messaging.url", - "url", + keys=("url.full", "aws.request.url", "http.url", "messaging.url", "url",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="amqp://guest:guest@localhost:5672", @@ -23539,36 +21175,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="url.full", reason="This attribute is being deprecated in favor of url.full.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["url.full", "http.url", "url", "aws.request.url"], + aliases=["url.full","http.url","url","aws.request.url"], changelog=[ - ChangelogEntry( - version="0.21.0", prs=[581], description="Added messaging.url attribute" - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.url attribute"), ], ), "method": AttributeMetadata( brief="The HTTP method used.", type=AttributeType.STRING, - keys=( - "http.request.method", - "http.method", - "http.request_method", - "method", + keys=("http.request.method", "http.method", "http.request_method", "method",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="GET", deprecation=DeprecationInfo( - replacement="http.request.method", status=DeprecationStatus.NORMALIZE + replacement="http.request.method", + status=DeprecationStatus.NORMALIZE ), - aliases=["http.request.method", "http.request_method", "http.method"], + aliases=["http.request.method","http.request_method","http.method"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[497], description="Configured normalization" - ), + ChangelogEntry(version="0.19.0", prs=[497], description="Configured normalization"), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -23576,124 +21206,80 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "middleware.name": AttributeMetadata( brief="The name of the middleware.", type=AttributeType.STRING, - keys=( - "middleware.name", - "django.middleware_name", - "litestar.middleware_name", - "starlette.middleware_name", - "starlite.middleware_name", + keys=("middleware.name", "django.middleware_name", "litestar.middleware_name", "starlette.middleware_name", "starlite.middleware_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="AuthenticationMiddleware", - aliases=[ - "django.middleware_name", - "starlite.middleware_name", - "litestar.middleware_name", - "starlette.middleware_name", - ], + aliases=["django.middleware_name","starlite.middleware_name","litestar.middleware_name","starlette.middleware_name"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[485, 486, 519, 520], - description="Added django.middleware_name, starlite.middleware_name, litestar.middleware_name and starlette.middleware_name as aliases", - ), - ChangelogEntry( - version="0.6.0", - prs=[336], - description="Added middleware.name attribute", - ), + ChangelogEntry(version="0.19.0", prs=[485, 486, 519, 520], description="Added django.middleware_name, starlite.middleware_name, litestar.middleware_name and starlette.middleware_name as aliases"), + ChangelogEntry(version="0.6.0", prs=[336], description="Added middleware.name attribute"), ], ), "navigation.origin": AttributeMetadata( brief="The origin of the navigation (usually client side router navigations). Should preferrably parameterized template (like url.template) or a URL path otherwise.", type=AttributeType.STRING, - keys=( - "router.navigation.origin", - "navigation.origin", - "sentry.sveltekit.navigation.from", + keys=("router.navigation.origin", "navigation.origin", "sentry.sveltekit.navigation.from",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="/users/:id", deprecation=DeprecationInfo( replacement="router.navigation.origin", reason="Moved to the router.* namespace to separate client-side router navigations from browser navigations.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["router.navigation.origin", "sentry.sveltekit.navigation.from"], + aliases=["router.navigation.origin","sentry.sveltekit.navigation.from"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[600], - description="Deprecated in favor of router.navigation.origin", - ), - ChangelogEntry( - version="0.16.0", - prs=[467], - description="Added navigation.origin attribute", - ), + ChangelogEntry(version="0.22.0", prs=[600], description="Deprecated in favor of router.navigation.origin"), + ChangelogEntry(version="0.16.0", prs=[467], description="Added navigation.origin attribute"), ], ), "navigation.route.id": AttributeMetadata( brief="The identifier of the matched client-side route, as assigned by the routing framework (e.g., vue-router name, react-router id).", type=AttributeType.STRING, - keys=( - "router.navigation.route.id", - "navigation.route.id", + keys=("router.navigation.route.id", "navigation.route.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="AboutView", deprecation=DeprecationInfo( replacement="router.navigation.route.id", reason="Moved to the router.* namespace to separate client-side router navigations from browser navigations.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["router.navigation.route.id"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[600], - description="Deprecated in favor of router.navigation.route.id", - ), - ChangelogEntry( - version="0.16.0", - prs=[468], - description="Added navigation.route.id attribute", - ), + ChangelogEntry(version="0.22.0", prs=[600], description="Deprecated in favor of router.navigation.route.id"), + ChangelogEntry(version="0.16.0", prs=[468], description="Added navigation.route.id attribute"), ], ), "navigation.type": AttributeMetadata( brief="The type of navigation done by a client-side router.", type=AttributeType.STRING, - keys=( - "router.navigation.type", - "navigation.type", - "sentry.sveltekit.navigation.type", + keys=("router.navigation.type", "navigation.type", "sentry.sveltekit.navigation.type",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="router.push", deprecation=DeprecationInfo( replacement="router.navigation.type", reason="Moved to the router.* namespace to separate client-side router navigations from browser navigations.", - status=DeprecationStatus.BACKFILL, - ), - aliases=["router.navigation.type", "sentry.sveltekit.navigation.type"], - changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[600], - description="Deprecated in favor of router.navigation.type", - ), - ChangelogEntry( - version="0.16.0", prs=[467], description="Added new deprecated alias" - ), + status=DeprecationStatus.BACKFILL + ), + aliases=["router.navigation.type","sentry.sveltekit.navigation.type"], + changelog=[ + ChangelogEntry(version="0.22.0", prs=[600], description="Deprecated in favor of router.navigation.type"), + ChangelogEntry(version="0.16.0", prs=[467], description="Added new deprecated alias"), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -23702,7 +21288,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.INTEGER, keys=("nel.elapsed_time",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=100, @@ -23712,10 +21300,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ], ), "nel.phase": AttributeMetadata( - brief='If request failed, the phase of its network error. If request succeeded, "application".', + brief="If request failed, the phase of its network error. If request succeeded, \"application\".", type=AttributeType.STRING, keys=("nel.phase",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="application", @@ -23727,7 +21317,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="request's referrer, as determined by the referrer policy associated with its client.", type=AttributeType.STRING, keys=("nel.referrer",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://example.com/foo?bar=baz", @@ -23738,56 +21330,48 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "nel.sampling_fraction": AttributeMetadata( brief="The sampling fraction used to determine if the request should be sampled.", type=AttributeType.DOUBLE, - keys=( - "nel.sampling_fraction", - "nel.sampling_function", + keys=("nel.sampling_fraction", "nel.sampling_function",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, examples=[0.5], aliases=["nel.sampling_function"], changelog=[ - ChangelogEntry( - version="0.26.0", - prs=[668], - description="Added nel.sampling_fraction attribute", - ), + ChangelogEntry(version="0.26.0", prs=[668], description="Added nel.sampling_fraction attribute"), ], ), "nel.sampling_function": AttributeMetadata( brief="The sampling function used to determine if the request should be sampled.", type=AttributeType.DOUBLE, - keys=( - "nel.sampling_fraction", - "nel.sampling_function", + keys=("nel.sampling_fraction", "nel.sampling_function",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, deprecation=DeprecationInfo( replacement="nel.sampling_fraction", reason="The correct name of this attribute is nel.sampling_fraction", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["nel.sampling_fraction"], changelog=[ - ChangelogEntry( - version="0.26.0", - prs=[668], - description="Deprecated in favor of nel.sampling_fraction", - ), + ChangelogEntry(version="0.26.0", prs=[668], description="Deprecated in favor of nel.sampling_fraction"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[68]), ], ), "nel.type": AttributeMetadata( - brief='If request failed, the type of its network error. If request succeeded, "ok".', + brief="If request failed, the type of its network error. If request succeeded, \"ok\".", type=AttributeType.STRING, keys=("nel.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="dns.unreachable", @@ -23798,19 +21382,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.host.ip": AttributeMetadata( brief="Local address of the network connection - IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=( - "network.local.address", - "net.host.ip", - "net.sock.host.addr", + keys=("network.local.address", "net.host.ip", "net.sock.host.addr",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="192.168.0.1", deprecation=DeprecationInfo( - replacement="network.local.address", status=DeprecationStatus.BACKFILL + replacement="network.local.address", + status=DeprecationStatus.BACKFILL ), - aliases=["network.local.address", "net.sock.host.addr"], + aliases=["network.local.address","net.sock.host.addr"], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), @@ -23819,40 +21402,22 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.host.name": AttributeMetadata( brief="Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=( - "server.address", - "address", - "http.server_name", - "net.host.name", - "server_name", + keys=("server.address", "address", "http.server_name", "net.host.name", "server_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", deprecation=DeprecationInfo( - replacement="server.address", status=DeprecationStatus.BACKFILL - ), - aliases=[ - "address", - "server.address", - "http.server_name", - "http.host", - "server_name", - "net.peer.name", - ], - changelog=[ - ChangelogEntry( - version="0.24.0", prs=[647], description="Added server_name as an alias" - ), - ChangelogEntry( - version="0.21.0", - prs=[588, 602], - description="Added net.peer.name as an alias", - ), - ChangelogEntry( - version="0.19.0", prs=[534], description="Added address as an alias" - ), + replacement="server.address", + status=DeprecationStatus.BACKFILL + ), + aliases=["address","server.address","http.server_name","http.host","server_name","net.peer.name"], + changelog=[ + ChangelogEntry(version="0.24.0", prs=[647], description="Added server_name as an alias"), + ChangelogEntry(version="0.21.0", prs=[588, 602], description="Added net.peer.name as an alias"), + ChangelogEntry(version="0.19.0", prs=[534], description="Added address as an alias"), ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), ], @@ -23860,23 +21425,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.host.port": AttributeMetadata( brief="Server port number.", type=AttributeType.INTEGER, - keys=( - "server.port", - "net.host.port", - "port", + keys=("server.port", "net.host.port", "port",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=1337, deprecation=DeprecationInfo( - replacement="server.port", status=DeprecationStatus.BACKFILL + replacement="server.port", + status=DeprecationStatus.BACKFILL ), - aliases=["server.port", "port"], + aliases=["server.port","port"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[532], description="Added port as an alias" - ), + ChangelogEntry(version="0.19.0", prs=[532], description="Added port as an alias"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), @@ -23885,19 +21447,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.peer.ip": AttributeMetadata( brief="Peer address of the network connection - IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=( - "network.peer.address", - "net.peer.ip", - "net.sock.peer.addr", + keys=("network.peer.address", "net.peer.ip", "net.sock.peer.addr",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="192.168.0.1", deprecation=DeprecationInfo( - replacement="network.peer.address", status=DeprecationStatus.BACKFILL + replacement="network.peer.address", + status=DeprecationStatus.BACKFILL ), - aliases=["network.peer.address", "net.sock.peer.addr"], + aliases=["network.peer.address","net.sock.peer.addr"], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), @@ -23907,31 +21468,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.", type=AttributeType.STRING, keys=("net.peer.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", deprecation=DeprecationInfo( replacement="server.address", - reason="Deprecated, use server.address on client spans and client.address on server spans.", - ), - aliases=[ - "address", - "server.address", - "http.server_name", - "net.host.name", - "http.host", - "server_name", - ], - changelog=[ - ChangelogEntry( - version="0.24.0", prs=[647], description="Added server_name as an alias" - ), - ChangelogEntry( - version="0.21.0", - prs=[588, 602], - description="Added the server.address alias group to net.peer.name", - ), + reason="Deprecated, use server.address on client spans and client.address on server spans." + ), + aliases=["address","server.address","http.server_name","net.host.name","http.host","server_name"], + changelog=[ + ChangelogEntry(version="0.24.0", prs=[647], description="Added server_name as an alias"), + ChangelogEntry(version="0.21.0", prs=[588, 602], description="Added the server.address alias group to net.peer.name"), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -23940,13 +21490,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Peer port number.", type=AttributeType.INTEGER, keys=("net.peer.port",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=1337, deprecation=DeprecationInfo( replacement="server.port", - reason="Deprecated, use server.port on client spans and client.port on server spans.", + reason="Deprecated, use server.port on client spans and client.port on server spans." ), changelog=[ ChangelogEntry(version="0.4.0", prs=[228]), @@ -23957,31 +21509,22 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.protocol.name": AttributeMetadata( brief="OSI application layer or non-OSI equivalent.", type=AttributeType.STRING, - keys=( - "network.protocol.name", - "messaging.protocol", - "net.protocol.name", + keys=("network.protocol.name", "messaging.protocol", "net.protocol.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="http", examples=["http"], deprecation=DeprecationInfo( - replacement="network.protocol.name", status=DeprecationStatus.BACKFILL + replacement="network.protocol.name", + status=DeprecationStatus.BACKFILL ), - aliases=["network.protocol.name", "messaging.protocol"], + aliases=["network.protocol.name","messaging.protocol"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Removed the semantically distinct mcp.resource.protocol alias", - ), - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.protocol as an alias", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Removed the semantically distinct mcp.resource.protocol alias"), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol as an alias"), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -23989,30 +21532,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.protocol.version": AttributeMetadata( brief="The actual version of the protocol used for network communication.", type=AttributeType.STRING, - keys=( - "network.protocol.version", - "http.flavor", - "messaging.protocol_version", - "net.protocol.version", + keys=("network.protocol.version", "http.flavor", "messaging.protocol_version", "net.protocol.version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="1.1", deprecation=DeprecationInfo( - replacement="network.protocol.version", status=DeprecationStatus.BACKFILL + replacement="network.protocol.version", + status=DeprecationStatus.BACKFILL ), - aliases=[ - "network.protocol.version", - "http.flavor", - "messaging.protocol_version", - ], + aliases=["network.protocol.version","http.flavor","messaging.protocol_version"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.protocol_version as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol_version as an alias"), ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), ], @@ -24021,13 +21554,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="OSI transport and network layer", type=AttributeType.STRING, keys=("net.sock.family",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="inet", deprecation=DeprecationInfo( replacement="network.transport", - reason="Deprecated, use network.transport and network.type.", + reason="Deprecated, use network.transport and network.type." ), changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 127]), @@ -24037,19 +21572,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.sock.host.addr": AttributeMetadata( brief="Local address of the network connection mapping to Unix domain socket name.", type=AttributeType.STRING, - keys=( - "network.local.address", - "net.host.ip", - "net.sock.host.addr", + keys=("network.local.address", "net.host.ip", "net.sock.host.addr",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="/var/my.sock", deprecation=DeprecationInfo( - replacement="network.local.address", status=DeprecationStatus.BACKFILL + replacement="network.local.address", + status=DeprecationStatus.BACKFILL ), - aliases=["network.local.address", "net.host.ip"], + aliases=["network.local.address","net.host.ip"], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), @@ -24058,16 +21592,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.sock.host.port": AttributeMetadata( brief="Local port number of the network connection.", type=AttributeType.INTEGER, - keys=( - "network.local.port", - "net.sock.host.port", + keys=("network.local.port", "net.sock.host.port",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=8080, deprecation=DeprecationInfo( - replacement="network.local.port", status=DeprecationStatus.BACKFILL + replacement="network.local.port", + status=DeprecationStatus.BACKFILL ), aliases=["network.local.port"], changelog=[ @@ -24079,19 +21613,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.sock.peer.addr": AttributeMetadata( brief="Peer address of the network connection - IP address", type=AttributeType.STRING, - keys=( - "network.peer.address", - "net.peer.ip", - "net.sock.peer.addr", + keys=("network.peer.address", "net.peer.ip", "net.sock.peer.addr",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="192.168.0.1", deprecation=DeprecationInfo( - replacement="network.peer.address", status=DeprecationStatus.BACKFILL + replacement="network.peer.address", + status=DeprecationStatus.BACKFILL ), - aliases=["network.peer.address", "net.peer.ip"], + aliases=["network.peer.address","net.peer.ip"], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), @@ -24101,7 +21634,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Peer address of the network connection - Unix domain socket name", type=AttributeType.STRING, keys=("net.sock.peer.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="/var/my.sock", @@ -24116,24 +21651,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.sock.peer.port": AttributeMetadata( brief="Peer port number of the network connection.", type=AttributeType.INTEGER, - keys=( - "network.peer.port", - "net.sock.peer.port", + keys=("network.peer.port", "net.sock.peer.port",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=8080, deprecation=DeprecationInfo( - replacement="network.peer.port", status=DeprecationStatus.BACKFILL + replacement="network.peer.port", + status=DeprecationStatus.BACKFILL ), aliases=["network.peer.port"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[588], - description="Added network.peer.port as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[588], description="Added network.peer.port as an alias"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), @@ -24143,27 +21674,21 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="OSI transport layer or inter-process communication method.", type=AttributeType.STRING, keys=("net.transport",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="tcp", examples=["tcp"], deprecation=DeprecationInfo( replacement="network.transport", - reason="This attribute is being deprecated in favor of network.transport. The values change from ip_tcp and ip_udp to tcp and udp, so the old value cannot be copied over.", + reason="This attribute is being deprecated in favor of network.transport. The values change from ip_tcp and ip_udp to tcp and udp, so the old value cannot be copied over." ), aliases=["network.transport"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Removed the semantically distinct mcp.transport alias", - ), - ChangelogEntry( - version="0.21.0", - prs=[588], - description="Set net.transport to _status null, because its values change on the replacement", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Removed the semantically distinct mcp.transport alias"), + ChangelogEntry(version="0.21.0", prs=[588], description="Set net.transport to _status null, because its values change on the replacement"), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -24171,78 +21696,60 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "network.connection.effective_type": AttributeMetadata( brief="Specifies the effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g).", type=AttributeType.STRING, - keys=( - "network.connection.effective_type", - "effectiveConnectionType", + keys=("network.connection.effective_type", "effectiveConnectionType",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="4g", aliases=["effectiveConnectionType"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[279], - description="Added attribute network.connection.effective_type to be used instead of effectiveConnectionType", - ), + ChangelogEntry(version="0.5.0", prs=[279], description="Added attribute network.connection.effective_type to be used instead of effectiveConnectionType"), ], ), "network.connection.rtt": AttributeMetadata( brief="Specifies the estimated effective round-trip time of the current connection, in milliseconds.", type=AttributeType.INTEGER, - keys=( - "network.connection.rtt", - "connection.rtt", + keys=("network.connection.rtt", "connection.rtt",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=100, aliases=["connection.rtt"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[279], - description="Added attribute network.connection.rtt to be used instead of connection.rtt", - ), + ChangelogEntry(version="0.5.0", prs=[279], description="Added attribute network.connection.rtt to be used instead of connection.rtt"), ], ), "network.connection.type": AttributeMetadata( brief="Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc).", type=AttributeType.STRING, - keys=( - "network.connection.type", - "connectionType", - "device.connection_type", + keys=("network.connection.type", "connectionType", "device.connection_type",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="wifi", - aliases=["device.connection_type", "connectionType"], + aliases=["device.connection_type","connectionType"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[279], - description="Added attribute network.connection.type to be used instead of connectionType", - ), + ChangelogEntry(version="0.5.0", prs=[279], description="Added attribute network.connection.type to be used instead of connectionType"), ], ), "network.local.address": AttributeMetadata( brief="Local address of the network connection - IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=( - "network.local.address", - "net.host.ip", - "net.sock.host.addr", + keys=("network.local.address", "net.host.ip", "net.sock.host.addr",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="10.1.2.80", examples=["10.1.2.80", "/var/run/my.sock"], - aliases=["net.host.ip", "net.sock.host.addr"], + aliases=["net.host.ip","net.sock.host.addr"], changelog=[ ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), @@ -24251,11 +21758,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "network.local.port": AttributeMetadata( brief="Local port number of the network connection.", type=AttributeType.INTEGER, - keys=( - "network.local.port", - "net.sock.host.port", + keys=("network.local.port", "net.sock.host.port",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=65400, @@ -24268,16 +21774,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "network.peer.address": AttributeMetadata( brief="Peer address of the network connection - IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=( - "network.peer.address", - "net.peer.ip", - "net.sock.peer.addr", + keys=("network.peer.address", "net.peer.ip", "net.sock.peer.addr",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="10.1.2.80", - aliases=["net.peer.ip", "net.sock.peer.addr"], + aliases=["net.peer.ip","net.sock.peer.addr"], changelog=[ ChangelogEntry(version="0.1.0", prs=[108, 127]), ChangelogEntry(version="0.0.0"), @@ -24286,21 +21790,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "network.peer.port": AttributeMetadata( brief="Peer port number of the network connection.", type=AttributeType.INTEGER, - keys=( - "network.peer.port", - "net.sock.peer.port", + keys=("network.peer.port", "net.sock.peer.port",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=65400, aliases=["net.sock.peer.port"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[588], - description="Added net.sock.peer.port as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[588], description="Added net.sock.peer.port as an alias"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], @@ -24308,28 +21807,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "network.protocol.name": AttributeMetadata( brief="OSI application layer or non-OSI equivalent.", type=AttributeType.STRING, - keys=( - "network.protocol.name", - "messaging.protocol", - "net.protocol.name", + keys=("network.protocol.name", "messaging.protocol", "net.protocol.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="http", examples=["http"], - aliases=["net.protocol.name", "messaging.protocol"], - changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Removed the semantically distinct mcp.resource.protocol alias", - ), - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.protocol as an alias", - ), + aliases=["net.protocol.name","messaging.protocol"], + changelog=[ + ChangelogEntry(version="0.27.0", prs=[671], description="Removed the semantically distinct mcp.resource.protocol alias"), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol as an alias"), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -24337,23 +21826,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "network.protocol.version": AttributeMetadata( brief="The actual version of the protocol used for network communication.", type=AttributeType.STRING, - keys=( - "network.protocol.version", - "http.flavor", - "messaging.protocol_version", - "net.protocol.version", + keys=("network.protocol.version", "http.flavor", "messaging.protocol_version", "net.protocol.version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="1.1", - aliases=["http.flavor", "net.protocol.version", "messaging.protocol_version"], + aliases=["http.flavor","net.protocol.version","messaging.protocol_version"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.protocol_version as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol_version as an alias"), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -24362,18 +21844,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="OSI transport layer or inter-process communication method.", type=AttributeType.STRING, keys=("network.transport",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="tcp", examples=["tcp"], aliases=["net.transport"], changelog=[ - ChangelogEntry( - version="0.27.0", - prs=[671], - description="Removed the semantically distinct mcp.transport alias", - ), + ChangelogEntry(version="0.27.0", prs=[671], description="Removed the semantically distinct mcp.transport alias"), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -24382,7 +21862,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="OSI network layer or non-OSI equivalent.", type=AttributeType.STRING, keys=("network.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="ipv4", @@ -24394,42 +21876,35 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "os.build": AttributeMetadata( brief="The build ID of the operating system.", type=AttributeType.STRING, - keys=( - "os.build_id", - "os.build", + keys=("os.build_id", "os.build",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1234567890", deprecation=DeprecationInfo( - replacement="os.build_id", status=DeprecationStatus.BACKFILL + replacement="os.build_id", + status=DeprecationStatus.BACKFILL ), aliases=["os.build_id"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[301], - description="Added os.build attribute, deprecated in favor of os.build_id", - ), + ChangelogEntry(version="0.5.0", prs=[301], description="Added os.build attribute, deprecated in favor of os.build_id"), ], ), "os.build_id": AttributeMetadata( brief="The build ID of the operating system.", type=AttributeType.STRING, - keys=( - "os.build_id", - "os.build", + keys=("os.build_id", "os.build",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="1234567890", aliases=["os.build"], changelog=[ - ChangelogEntry( - version="0.5.0", prs=[301], description="Added os.build as alias" - ), + ChangelogEntry(version="0.5.0", prs=[301], description="Added os.build as alias"), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -24438,7 +21913,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.", type=AttributeType.STRING, keys=("os.description",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="Ubuntu 18.04.1 LTS", @@ -24451,23 +21928,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="An independent kernel version string. Typically the entire output of the `uname` syscall.", type=AttributeType.STRING, keys=("os.kernel_version",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="20.2.0", changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[301], - description="Added os.kernel_version attribute", - ), + ChangelogEntry(version="0.5.0", prs=[301], description="Added os.kernel_version attribute"), ], ), "os.name": AttributeMetadata( brief="Human readable operating system name.", type=AttributeType.STRING, keys=("os.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="Ubuntu", @@ -24480,51 +21957,51 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.STRING, keys=("os.raw_description",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Ubuntu 22.04.4 LTS (Jammy Jellyfish)", changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[301], - description="Added os.raw_description attribute", - ), + ChangelogEntry(version="0.5.0", prs=[301], description="Added os.raw_description attribute"), ], ), "os.rooted": AttributeMetadata( brief="Whether the operating system has been jailbroken or rooted.", type=AttributeType.BOOLEAN, keys=("os.rooted",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry( - version="0.5.0", prs=[301], description="Added os.rooted attribute" - ), + ChangelogEntry(version="0.5.0", prs=[301], description="Added os.rooted attribute"), ], ), "os.theme": AttributeMetadata( brief="Whether the OS runs in dark mode or light mode.", type=AttributeType.STRING, keys=("os.theme",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="dark", changelog=[ - ChangelogEntry( - version="0.5.0", prs=[301], description="Added os.theme attribute" - ), + ChangelogEntry(version="0.5.0", prs=[301], description="Added os.theme attribute"), ], ), "os.type": AttributeMetadata( brief="The operating system type.", type=AttributeType.STRING, keys=("os.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="linux", @@ -24537,7 +22014,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The version of the operating system.", type=AttributeType.STRING, keys=("os.version",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="18.04.2", @@ -24549,32 +22028,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "otel.kind": AttributeMetadata( brief="The span kind (https://opentelemetry.io/docs/concepts/signals/traces/#span-kind). Deprecated, use `sentry.kind` instead.", type=AttributeType.STRING, - keys=( - "sentry.kind", - "span.kind", - "otel.kind", + keys=("sentry.kind", "span.kind", "otel.kind",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="SERVER", deprecation=DeprecationInfo( replacement="sentry.kind", reason="Deprecated in favor of sentry.kind", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["sentry.kind"], changelog=[ - ChangelogEntry( - version="0.13.0", prs=[440], description="Added otel.kind attribute" - ), + ChangelogEntry(version="0.13.0", prs=[440], description="Added otel.kind attribute"), ], ), "otel.scope.name": AttributeMetadata( brief="The name of the instrumentation scope - (InstrumentationScope.Name in OTLP).", type=AttributeType.STRING, keys=("otel.scope.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="io.opentelemetry.contrib.mongodb", @@ -24587,7 +22064,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The version of the instrumentation scope - (InstrumentationScope.Version in OTLP).", type=AttributeType.STRING, keys=("otel.scope.version",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="2.4.5", @@ -24600,7 +22079,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the code, either “OK” or “ERROR”. MUST NOT be set if the status code is UNSET.", type=AttributeType.STRING, keys=("otel.status_code",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="OK", @@ -24613,7 +22094,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Description of the Status if it has a value, otherwise not set.", type=AttributeType.STRING, keys=("otel.status_description",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="resource not found", @@ -24625,85 +22108,67 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "params.": AttributeMetadata( brief="Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.", type=AttributeType.STRING, - keys=( - "params.", - "url.path.parameter.", - "url.path.params.", + keys=("params.", "url.path.parameter.", "url.path.params.",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="params.id='123'", - aliases=["url.path.parameter.", "url.path.params."], + aliases=["url.path.parameter.","url.path.params."], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[586], - description="Added url.path.params. as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[586], description="Added url.path.params. as an alias"), ChangelogEntry(version="0.1.0", prs=[103]), ], ), "performance.activationStart": AttributeMetadata( brief="The time between initiating a navigation to a page and the browser activating the page", type=AttributeType.DOUBLE, - keys=( - "browser.performance.navigation.activation_start", - "performance.activationStart", + keys=("browser.performance.navigation.activation_start", "performance.activationStart",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1.983, deprecation=DeprecationInfo( replacement="browser.performance.navigation.activation_start", reason="The activationStart is now recorded as the browser.performance.navigation.activation_start attribute.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.performance.navigation.activation_start"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[321], - description="Added performance.activationStart attribute", - ), + ChangelogEntry(version="0.5.0", prs=[321], description="Added performance.activationStart attribute"), ], ), "performance.timeOrigin": AttributeMetadata( brief="The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated", type=AttributeType.DOUBLE, - keys=( - "browser.performance.time_origin", - "performance.timeOrigin", + keys=("browser.performance.time_origin", "performance.timeOrigin",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1776185678.886, deprecation=DeprecationInfo( replacement="browser.performance.time_origin", reason="The timeOrigin is now recorded as the browser.performance.time_origin attribute.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.performance.time_origin"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[321], - description="Added performance.timeOrigin attribute", - ), + ChangelogEntry(version="0.5.0", prs=[321], description="Added performance.timeOrigin attribute"), ], ), "port": AttributeMetadata( brief="The destination port for a TCP connection.", type=AttributeType.INTEGER, - keys=( - "server.port", - "net.host.port", - "port", + keys=("server.port", "net.host.port", "port",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1337, @@ -24711,20 +22176,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="server.port", reason="Old namespace-less attribute, to be replaced with server.port for span-first future", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["server.port", "net.host.port"], + aliases=["server.port","net.host.port"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[532], description="Added port attribute" - ), + ChangelogEntry(version="0.19.0", prs=[532], description="Added port attribute"), ], ), "previous_route": AttributeMetadata( brief="Also used by mobile SDKs to indicate the previous route in the application.", type=AttributeType.STRING, keys=("previous_route",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="HomeScreen", @@ -24737,23 +22202,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="All the command arguments (including the command/executable itself) as received by the process.", type=AttributeType.STRING_ARRAY, keys=("process.command_args",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=["cmd/otecol", "--config=config.yaml"], changelog=[ - ChangelogEntry( - version="0.6.0", - prs=[327], - description="Added process.command_args attribute", - ), + ChangelogEntry(version="0.6.0", prs=[327], description="Added process.command_args attribute"), ], ), "process.executable.name": AttributeMetadata( brief="The name of the executable that started the process.", type=AttributeType.STRING, keys=("process.executable.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="getsentry", @@ -24765,21 +22230,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "process.pid": AttributeMetadata( brief="The process ID of the running process.", type=AttributeType.INTEGER, - keys=( - "process.pid", - "subprocess.pid", + keys=("process.pid", "subprocess.pid",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=12345, aliases=["subprocess.pid"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[487], - description="Added subprocess.pid as an alias", - ), + ChangelogEntry(version="0.19.0", prs=[487], description="Added subprocess.pid as an alias"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], @@ -24787,11 +22247,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "process.runtime.description": AttributeMetadata( 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=AttributeType.STRING, - keys=( - "process.runtime.description", - "runtime.raw_description", + keys=("process.runtime.description", "runtime.raw_description",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="Eclipse OpenJ9 VM openj9-0.21.0", @@ -24805,7 +22264,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name of the runtime engine.", type=AttributeType.STRING, keys=("process.runtime.engine.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="v8", @@ -24817,7 +22278,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The version of the runtime engine.", type=AttributeType.STRING, keys=("process.runtime.engine.version",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="12.9.202.13-rusty", @@ -24828,11 +22291,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "process.runtime.name": AttributeMetadata( brief="The name of the runtime. Equivalent to `name` in the Sentry runtime context.", type=AttributeType.STRING, - keys=( - "process.runtime.name", - "runtime.name", + keys=("process.runtime.name", "runtime.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="node", @@ -24845,11 +22307,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "process.runtime.version": AttributeMetadata( brief="The version of the runtime of this process, as returned by the runtime without modification. Equivalent to `version` in the Sentry runtime context.", type=AttributeType.STRING, - keys=( - "process.runtime.version", - "runtime.version", + keys=("process.runtime.version", "runtime.version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="18.04.2", @@ -24862,37 +22323,36 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "profile_id": AttributeMetadata( brief="The ID of the Sentry profile the span is associated with. This is only meaningful for transaction-based profiling.", type=AttributeType.STRING, - keys=( - "sentry.profile_id", - "profile.id", - "profile_id", + keys=("sentry.profile_id", "profile.id", "profile_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="123e4567e89b12d3a456426614174000", deprecation=DeprecationInfo( - replacement="sentry.profile_id", status=DeprecationStatus.NORMALIZE + replacement="sentry.profile_id", + status=DeprecationStatus.NORMALIZE ), aliases=["sentry.profile_id"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[497], description="Added profile_id attribute" - ), + ChangelogEntry(version="0.19.0", prs=[497], description="Added profile_id attribute"), ], ), "query.": AttributeMetadata( brief="An item in a query string. Usually added by client-side routing frameworks like vue-router.", type=AttributeType.STRING, keys=("query.",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="query.id='123'", deprecation=DeprecationInfo( replacement="url.query", - reason="Instead of sending items individually in query., they should be sent all together with url.query.", + reason="Instead of sending items individually in query., they should be sent all together with url.query." ), changelog=[ ChangelogEntry(version="0.1.0", prs=[103]), @@ -24901,12 +22361,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "query": AttributeMetadata( brief="The database query being executed.", type=AttributeType.STRING, - keys=( - "db.query.text", - "db.statement", - "query", + keys=("db.query.text", "db.statement", "query",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="SELECT * FROM users WHERE id = $1", @@ -24914,182 +22372,144 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="db.query.text", reason="While this attribute never specifically required parameterization, the replacement, db.query.text, does.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["db.query.text", "db.statement"], + aliases=["db.query.text","db.statement"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[530], description="Added query attribute" - ), + ChangelogEntry(version="0.19.0", prs=[530], description="Added query attribute"), ], ), "react.version": AttributeMetadata( brief="The version of the React framework", type=AttributeType.STRING, keys=("react.version",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="18.2.0", changelog=[ - ChangelogEntry( - version="0.7.0", prs=[368], description="Added react.version attribute" - ), + ChangelogEntry(version="0.7.0", prs=[368], description="Added react.version attribute"), ], ), "react_native.architecture": AttributeMetadata( brief="The React Native architecture the app is running on. `new` for the New Architecture, where native modules are resolved as TurboModules through `TurboModuleRegistry`, `legacy` for the Old Architecture bridge.", type=AttributeType.STRING, - keys=( - "react_native.architecture", - "turbo_module.arch", + keys=("react_native.architecture", "turbo_module.arch",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="new", examples=["new", "legacy"], aliases=["turbo_module.arch"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added react_native.architecture attribute", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.architecture attribute"), ], ), "react_native.module.call.count": AttributeMetadata( brief="The number of native module calls observed during the lifetime of the span.", type=AttributeType.INTEGER, - keys=( - "react_native.module.call.count", - "turbo_module.total_call_count", - "turbo_modules.total_call_count", + keys=("react_native.module.call.count", "turbo_module.total_call_count", "turbo_modules.total_call_count",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=42, examples=[42], - aliases=["turbo_module.total_call_count", "turbo_modules.total_call_count"], + aliases=["turbo_module.total_call_count","turbo_modules.total_call_count"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added react_native.module.call.count attribute", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.call.count attribute"), ], ), "react_native.module.call.distinct_count": AttributeMetadata( brief="The number of distinct native module and method pairs called during the lifetime of the span. Useful as a cardinality signal when the per-method breakdown has been truncated.", type=AttributeType.INTEGER, - keys=( - "react_native.module.call.distinct_count", - "turbo_module.unique_methods", - "turbo_modules.unique_methods", + keys=("react_native.module.call.distinct_count", "turbo_module.unique_methods", "turbo_modules.unique_methods",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=7, examples=[7], - aliases=["turbo_module.unique_methods", "turbo_modules.unique_methods"], + aliases=["turbo_module.unique_methods","turbo_modules.unique_methods"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added react_native.module.call.distinct_count attribute", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.call.distinct_count attribute"), ], ), "react_native.module.duration.max": AttributeMetadata( brief="The duration of the slowest single native module call observed during the lifetime of the span, in milliseconds.", type=AttributeType.DOUBLE, keys=("react_native.module.duration.max",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=512.5, examples=[512.5], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added react_native.module.duration.max attribute", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.duration.max attribute"), ], ), "react_native.module.duration.total": AttributeMetadata( brief="The combined wall-clock duration of all native module calls observed during the lifetime of the span, in milliseconds. Calls overlap, so this can exceed the span duration.", type=AttributeType.DOUBLE, - keys=( - "react_native.module.duration.total", - "turbo_module.total_duration_ms", - "turbo_modules.total_duration_ms", + keys=("react_native.module.duration.total", "turbo_module.total_duration_ms", "turbo_modules.total_duration_ms",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=128.45, examples=[128.45], - aliases=["turbo_module.total_duration_ms", "turbo_modules.total_duration_ms"], + aliases=["turbo_module.total_duration_ms","turbo_modules.total_duration_ms"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added react_native.module.duration.total attribute", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.duration.total attribute"), ], ), "react_native.module.error.count": AttributeMetadata( brief="The number of native module calls that failed during the lifetime of the span. A call counts as failed when it threw, rejected, or — on the Old Architecture bridge only — invoked its failure callback.", type=AttributeType.INTEGER, - keys=( - "react_native.module.error.count", - "turbo_module.total_error_count", - "turbo_modules.total_error_count", + keys=("react_native.module.error.count", "turbo_module.total_error_count", "turbo_modules.total_error_count",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, examples=[2], - aliases=["turbo_module.total_error_count", "turbo_modules.total_error_count"], + aliases=["turbo_module.total_error_count","turbo_modules.total_error_count"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added react_native.module.error.count attribute", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.error.count attribute"), ], ), "react_native.module.kind": AttributeMetadata( brief="Whether the native module call completed synchronously or reported completion later through a Promise or a callback. One of `sync` or `async`.", type=AttributeType.STRING, keys=("react_native.module.kind",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="sync", examples=["sync", "async"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added react_native.module.kind attribute", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.kind attribute"), ], ), "react_native.module.method": AttributeMetadata( brief="The name of the native module method that was called.", type=AttributeType.STRING, - keys=( - "react_native.module.method", - "turbo_module.method", - ), + keys=("react_native.module.method", "turbo_module.method",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable", + reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -25097,23 +22517,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): examples=["getUniqueId"], aliases=["turbo_module.method"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added react_native.module.method attribute", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.method attribute"), ], ), "react_native.module.name": AttributeMetadata( brief="The name of the native module the call was dispatched to. On the New Architecture this is the TurboModule name, on the Old Architecture the `NativeModules` key.", type=AttributeType.STRING, - keys=( - "react_native.module.name", - "turbo_module.name", - ), + keys=("react_native.module.name", "turbo_module.name",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable", + reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -25121,44 +22534,32 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): examples=["RNDeviceInfo"], aliases=["turbo_module.name"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added react_native.module.name attribute", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.name attribute"), ], ), "react_native.module.top.duration": AttributeMetadata( brief="The total duration attributed to `react_native.module.top.name`, in milliseconds.", type=AttributeType.DOUBLE, - keys=( - "react_native.module.top.duration", - "turbo_module.top_module_duration_ms", + keys=("react_native.module.top.duration", "turbo_module.top_module_duration_ms",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=87.25, examples=[87.25], aliases=["turbo_module.top_module_duration_ms"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added react_native.module.top.duration attribute", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.top.duration attribute"), ], ), "react_native.module.top.name": AttributeMetadata( brief="The native module and method that accounted for the most total duration during the lifetime of the span, formatted as `.`.", type=AttributeType.STRING, - keys=( - "react_native.module.top.name", - "turbo_module.top_module", - ), + keys=("react_native.module.top.name", "turbo_module.top_module",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable", + reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -25166,82 +22567,66 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): examples=["RNDeviceInfo.getUniqueId"], aliases=["turbo_module.top_module"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added react_native.module.top.name attribute", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.top.name attribute"), ], ), "redis.command": AttributeMetadata( brief="The name of the Redis operation being executed.", type=AttributeType.STRING, - keys=( - "db.operation.name", - "cloudflare.d1.query_type", - "db.operation", - "redis.command", + keys=("db.operation.name", "cloudflare.d1.query_type", "db.operation", "redis.command",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="SELECT", examples=["SELECT"], deprecation=DeprecationInfo( - replacement="db.operation.name", status=DeprecationStatus.BACKFILL + replacement="db.operation.name", + status=DeprecationStatus.BACKFILL ), - aliases=["cloudflare.d1.query_type", "db.operation.name", "db.operation"], + aliases=["cloudflare.d1.query_type","db.operation.name","db.operation"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[531], description="Added redis.command attribute" - ), + ChangelogEntry(version="0.19.0", prs=[531], description="Added redis.command attribute"), ], ), "redis.key": AttributeMetadata( brief="The key the Redis command is operating on.", type=AttributeType.STRING, - keys=( - "db.redis.key", - "redis.key", + keys=("db.redis.key", "redis.key",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="user:2047:city", deprecation=DeprecationInfo( replacement="db.redis.key", reason="This attribute is being deprecated in favor of db.redis.key, which is the preferred replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["db.redis.key"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[484], - description="Added redis.key attribute, deprecated in favor of db.redis.key", - ), + ChangelogEntry(version="0.19.0", prs=[484], description="Added redis.key attribute, deprecated in favor of db.redis.key"), ], ), "release": AttributeMetadata( brief="The sentry release.", type=AttributeType.STRING, - keys=( - "sentry.release", - "release", - "service.version", + keys=("sentry.release", "release", "service.version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="production", deprecation=DeprecationInfo( - replacement="sentry.release", status=DeprecationStatus.NORMALIZE + replacement="sentry.release", + status=DeprecationStatus.NORMALIZE ), aliases=["sentry.release"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[497], description="Configured normalization" - ), + ChangelogEntry(version="0.19.0", prs=[497], description="Configured normalization"), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -25250,7 +22635,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Remix form data, being the form data key, the value being the form data value.", type=AttributeType.STRING, keys=("remix.action_form_data.",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -25263,11 +22650,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The id of the sentry replay.", type=AttributeType.STRING, keys=("replayId",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="123e4567e89b12d3a456426614174000", - deprecation=DeprecationInfo(replacement="sentry.replay_id"), + deprecation=DeprecationInfo( + replacement="sentry.replay_id" + ), aliases=["sentry.replay_id"], changelog=[ ChangelogEntry(version="0.24.0", prs=[401]), @@ -25276,23 +22667,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "replay_id": AttributeMetadata( brief="The id of the sentry replay.", type=AttributeType.STRING, - keys=( - "sentry.replay_id", - "replay.id", - "replay_id", + keys=("sentry.replay_id", "replay.id", "replay_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="123e4567e89b12d3a456426614174000", deprecation=DeprecationInfo( - replacement="sentry.replay_id", status=DeprecationStatus.NORMALIZE + replacement="sentry.replay_id", + status=DeprecationStatus.NORMALIZE ), aliases=["sentry.replay_id"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[497], description="Configured normalization" - ), + ChangelogEntry(version="0.19.0", prs=[497], description="Configured normalization"), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], @@ -25300,18 +22688,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "resource.deployment.environment": AttributeMetadata( brief="The software deployment environment name.", type=AttributeType.STRING, - keys=( - "sentry.environment", - "environment", - "resource.deployment.environment", - "resource.deployment.environment.name", + keys=("sentry.environment", "environment", "resource.deployment.environment", "resource.deployment.environment.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="production", deprecation=DeprecationInfo( - replacement="sentry.environment", status=DeprecationStatus.BACKFILL + replacement="sentry.environment", + status=DeprecationStatus.BACKFILL ), changelog=[ ChangelogEntry(version="0.5.0", prs=[266]), @@ -25320,18 +22706,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "resource.deployment.environment.name": AttributeMetadata( brief="The software deployment environment name.", type=AttributeType.STRING, - keys=( - "sentry.environment", - "environment", - "resource.deployment.environment", - "resource.deployment.environment.name", + keys=("sentry.environment", "environment", "resource.deployment.environment", "resource.deployment.environment.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="production", deprecation=DeprecationInfo( - replacement="sentry.environment", status=DeprecationStatus.BACKFILL + replacement="sentry.environment", + status=DeprecationStatus.BACKFILL ), changelog=[ ChangelogEntry(version="0.3.1", prs=[196]), @@ -25341,7 +22725,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The render blocking status of the resource.", type=AttributeType.STRING, keys=("resource.render_blocking_status",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="non-blocking", @@ -25354,11 +22740,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.STRING, keys=("route",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="App\\Controller::indexAction", - deprecation=DeprecationInfo(replacement="http.route"), + deprecation=DeprecationInfo( + replacement="http.route" + ), aliases=["http.route"], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 74]), @@ -25368,84 +22758,65 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "router.navigation.origin": AttributeMetadata( brief="The origin of the navigation (usually client side router navigations). Should preferably be a parameterized template (like url.template) or a URL path otherwise.", type=AttributeType.STRING, - keys=( - "router.navigation.origin", - "navigation.origin", - "sentry.sveltekit.navigation.from", + keys=("router.navigation.origin", "navigation.origin", "sentry.sveltekit.navigation.from",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="/users/:id", - aliases=["navigation.origin", "sentry.sveltekit.navigation.from"], + aliases=["navigation.origin","sentry.sveltekit.navigation.from"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[600], - description="Added router.navigation.origin attribute, replacing navigation.origin", - ), + ChangelogEntry(version="0.22.0", prs=[600], description="Added router.navigation.origin attribute, replacing navigation.origin"), ], ), "router.navigation.route.id": AttributeMetadata( brief="The identifier of the matched client-side route, as assigned by the routing framework (e.g., vue-router name, react-router id).", type=AttributeType.STRING, - keys=( - "router.navigation.route.id", - "navigation.route.id", + keys=("router.navigation.route.id", "navigation.route.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="AboutView", aliases=["navigation.route.id"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[600], - description="Added router.navigation.route.id attribute, replacing navigation.route.id", - ), + ChangelogEntry(version="0.22.0", prs=[600], description="Added router.navigation.route.id attribute, replacing navigation.route.id"), ], ), "router.navigation.type": AttributeMetadata( brief="The type of navigation done by a client-side router.", type=AttributeType.STRING, - keys=( - "router.navigation.type", - "navigation.type", - "sentry.sveltekit.navigation.type", + keys=("router.navigation.type", "navigation.type", "sentry.sveltekit.navigation.type",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="router.push", - aliases=["navigation.type", "sentry.sveltekit.navigation.type"], + aliases=["navigation.type","sentry.sveltekit.navigation.type"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[600], - description="Added router.navigation.type attribute, replacing navigation.type", - ), + ChangelogEntry(version="0.22.0", prs=[600], description="Added router.navigation.type attribute, replacing navigation.type"), ], ), "rpc.grpc.status_code": AttributeMetadata( brief="The numeric status code of the gRPC request.", type=AttributeType.INTEGER, keys=("rpc.grpc.status_code",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=2, deprecation=DeprecationInfo( 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.", + 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." ), - aliases=["code", "rpc.response.status_code"], + aliases=["code","rpc.response.status_code"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[494, 533], - description="Deprecated rpc.grpc.status_code in favor of rpc.response.status_code", - ), + ChangelogEntry(version="0.19.0", prs=[494, 533], description="Deprecated rpc.grpc.status_code in favor of rpc.response.status_code"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], @@ -25453,56 +22824,42 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "rpc.method": AttributeMetadata( brief="The fully-qualified logical name of the method from the RPC interface perspective.", type=AttributeType.STRING, - keys=( - "rpc.method", - "aws.operation_name", + keys=("rpc.method", "aws.operation_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="com.example.ExampleService/exampleMethod", aliases=["aws.operation_name"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[536], - description="Added aws.operation_name as an alias", - ), - ChangelogEntry( - version="0.7.0", prs=[351], description="Added rpc.method attribute" - ), + ChangelogEntry(version="0.19.0", prs=[536], description="Added aws.operation_name as an alias"), + ChangelogEntry(version="0.7.0", prs=[351], description="Added rpc.method attribute"), ], ), "rpc.response.status_code": AttributeMetadata( brief="Status code of the RPC returned by the RPC server or generated by the client.", type=AttributeType.STRING, - keys=( - "rpc.response.status_code", - "code", + keys=("rpc.response.status_code", "code",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="DEADLINE_EXCEEDED", - aliases=["code", "rpc.grpc.status_code"], + aliases=["code","rpc.grpc.status_code"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[494, 533], - description="Added code and rpc.grpc.status_code as aliases", - ), - ChangelogEntry( - version="0.7.0", - prs=[352], - description="Added rpc.response.status_code attribute", - ), + ChangelogEntry(version="0.19.0", prs=[494, 533], description="Added code and rpc.grpc.status_code as aliases"), + ChangelogEntry(version="0.7.0", prs=[352], description="Added rpc.response.status_code attribute"), ], ), "rpc.service": AttributeMetadata( brief="The full (logical) name of the service being called, including its package name, if applicable.", type=AttributeType.STRING, keys=("rpc.service",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="myService.BestService", @@ -25514,53 +22871,45 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "rpc.system": AttributeMetadata( brief="A string identifying the remoting system.", type=AttributeType.STRING, - keys=( - "rpc.system.name", - "rpc.system", + keys=("rpc.system.name", "rpc.system",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="aws-api", deprecation=DeprecationInfo( replacement="rpc.system.name", reason="This attribute is being deprecated in favor of rpc.system.name, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["rpc.system.name"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[482], - description="Added rpc.system attribute, deprecated in favor of rpc.system.name", - ), + ChangelogEntry(version="0.16.0", prs=[482], description="Added rpc.system attribute, deprecated in favor of rpc.system.name"), ], ), "rpc.system.name": AttributeMetadata( brief="A string identifying the remoting system.", type=AttributeType.STRING, - keys=( - "rpc.system.name", - "rpc.system", + keys=("rpc.system.name", "rpc.system",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="aws-api", aliases=["rpc.system"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[482], - description="Added rpc.system.name attribute", - ), + ChangelogEntry(version="0.16.0", prs=[482], description="Added rpc.system.name attribute"), ], ), "runtime.build": AttributeMetadata( brief="The application build string, when it is separate from the version.", type=AttributeType.STRING, keys=("runtime.build",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="stable", @@ -25568,199 +22917,179 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="The runtime.* namespace is deprecated in favor of process.runtime.*. No direct OTel equivalent exists for this attribute." ), changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[383], - description="Added and deprecated runtime.build attribute", - ), + ChangelogEntry(version="0.11.0", prs=[383], description="Added and deprecated runtime.build attribute"), ], ), "runtime.name": AttributeMetadata( brief="The name of the runtime. For example node, CPython, or rustc.", type=AttributeType.STRING, - keys=( - "process.runtime.name", - "runtime.name", + keys=("process.runtime.name", "runtime.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="node", deprecation=DeprecationInfo( replacement="process.runtime.name", reason="Prefer OTel-aligned process.runtime.name", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["process.runtime.name"], changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[383], - description="Added and deprecated runtime.name attribute in favor of process.runtime.name", - ), + ChangelogEntry(version="0.11.0", prs=[383], description="Added and deprecated runtime.name attribute in favor of process.runtime.name"), ], ), "runtime.raw_description": AttributeMetadata( brief="Unprocessed description string as obtained from the runtime. Used to extract name and version for well-known runtimes.", type=AttributeType.STRING, - keys=( - "process.runtime.description", - "runtime.raw_description", + keys=("process.runtime.description", "runtime.raw_description",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Eclipse OpenJ9 VM openj9-0.21.0", deprecation=DeprecationInfo( replacement="process.runtime.description", reason="Prefer OTel-aligned process.runtime.description", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["process.runtime.description"], changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[383], - description="Added and deprecated runtime.raw_description attribute in favor of process.runtime.description", - ), + ChangelogEntry(version="0.11.0", prs=[383], description="Added and deprecated runtime.raw_description attribute in favor of process.runtime.description"), ], ), "runtime.version": AttributeMetadata( brief="The version of the runtime.", type=AttributeType.STRING, - keys=( - "process.runtime.version", - "runtime.version", + keys=("process.runtime.version", "runtime.version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="18.04.2", deprecation=DeprecationInfo( replacement="process.runtime.version", reason="Prefer OTel-aligned process.runtime.version", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["process.runtime.version"], changelog=[ - ChangelogEntry( - version="0.11.0", - prs=[383], - description="Added and deprecated runtime.version attribute in favor of process.runtime.version", - ), + ChangelogEntry(version="0.11.0", prs=[383], description="Added and deprecated runtime.version attribute in favor of process.runtime.version"), ], ), "score.": AttributeMetadata( brief="The weighted performance score for a web vital. This is defined as `score.weight.` * `score.ratio.`.", type=AttributeType.DOUBLE, keys=("score.",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="score.cls=0.1723", changelog=[ - ChangelogEntry( - version="0.7.0", prs=[355], description="Added score. attribute" - ), + ChangelogEntry(version="0.7.0", prs=[355], description="Added score. attribute"), ], ), "score.ratio.": AttributeMetadata( brief="The score for a web vital, normalized to a number between 0 and 1.", type=AttributeType.DOUBLE, keys=("score.ratio.",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="score.ratio.inp=0.7748", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[355], - description="Added score.ratio. attribute", - ), + ChangelogEntry(version="0.7.0", prs=[355], description="Added score.ratio. attribute"), ], ), "score.total": AttributeMetadata( brief="The total performance score of a span. This is the sum of individual weighted web vital scores (see `score.`).", type=AttributeType.DOUBLE, keys=("score.total",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, changelog=[ - ChangelogEntry( - version="0.7.0", prs=[355], description="Added score.total attribute" - ), + ChangelogEntry(version="0.7.0", prs=[355], description="Added score.total attribute"), ], ), "score.weight.": AttributeMetadata( brief="The relative weight of a web vital in a span's performance score.", type=AttributeType.DOUBLE, keys=("score.weight.",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="score.weight.fcp=0.25", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[355], - description="Added score.weight. attribute", - ), + ChangelogEntry(version="0.7.0", prs=[355], description="Added score.weight. attribute"), ], ), "sentry.action": AttributeMetadata( 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=AttributeType.STRING, - keys=( - "sentry.action", - "span.action", + keys=("sentry.action", "span.action",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="SELECT", changelog=[ ChangelogEntry(version="0.4.0", prs=[212]), ], - search_alias=SearchAlias(name="span.action"), + search_alias=SearchAlias( + name="span.action" + ), ), "sentry.browser.name": AttributeMetadata( brief="The name of the browser.", type=AttributeType.STRING, - keys=( - "browser.name", - "sentry.browser.name", + keys=("browser.name", "sentry.browser.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Chrome", deprecation=DeprecationInfo( - replacement="browser.name", status=DeprecationStatus.BACKFILL + replacement="browser.name", + status=DeprecationStatus.BACKFILL ), aliases=["browser.name"], changelog=[ ChangelogEntry(version="0.1.0", prs=[139]), ], - search_alias=SearchAlias(name="browser.name"), + search_alias=SearchAlias( + name="browser.name" + ), ), "sentry.browser.version": AttributeMetadata( brief="The version of the browser.", type=AttributeType.STRING, - keys=( - "browser.version", - "sentry.browser.version", + keys=("browser.version", "sentry.browser.version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="120.0.6099.130", deprecation=DeprecationInfo( - replacement="browser.version", status=DeprecationStatus.BACKFILL + replacement="browser.version", + status=DeprecationStatus.BACKFILL ), aliases=["browser.version"], changelog=[ @@ -25771,7 +23100,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The reason why a span ended early.", type=AttributeType.STRING, keys=("sentry.cancellation_reason",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="document.hidden", @@ -25782,40 +23113,44 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.category": AttributeMetadata( 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).", type=AttributeType.STRING, - keys=( - "sentry.category", - "span.category", + keys=("sentry.category", "span.category",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="db", changelog=[ ChangelogEntry(version="0.4.0", prs=[218]), ], - search_alias=SearchAlias(name="span.category"), + search_alias=SearchAlias( + name="span.category" + ), ), "sentry.client_sample_rate": AttributeMetadata( brief="Rate at which a span was sampled in the SDK.", type=AttributeType.DOUBLE, - keys=( - "sentry.client_sample_rate", - "client_sample_rate", + keys=("sentry.client_sample_rate", "client_sample_rate",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, changelog=[ ChangelogEntry(version="0.1.0", prs=[102]), ], - search_alias=SearchAlias(name="client_sample_rate"), + search_alias=SearchAlias( + name="client_sample_rate" + ), ), "sentry.description": AttributeMetadata( brief="The human-readable description of a span.", type=AttributeType.STRING, keys=("sentry.description",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="index view query", @@ -25826,43 +23161,43 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.dist": AttributeMetadata( brief="The sentry dist.", type=AttributeType.STRING, - keys=( - "sentry.dist", - "dist", + keys=("sentry.dist", "dist",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="1.0", aliases=["dist"], changelog=[ - ChangelogEntry( - version="0.16.0", prs=[489], description="Added dist as an alias" - ), + ChangelogEntry(version="0.16.0", prs=[489], description="Added dist as an alias"), ChangelogEntry(version="0.0.0"), ], ), "sentry.domain": AttributeMetadata( brief="Used as a generic attribute representing the domain depending on the type of span. For instance, this is the collection/table name for database spans, and the server address for HTTP spans.", type=AttributeType.STRING, - keys=( - "sentry.domain", - "span.domain", + keys=("sentry.domain", "span.domain",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="example.com", changelog=[ ChangelogEntry(version="0.4.0", prs=[212]), ], - search_alias=SearchAlias(name="span.domain"), + search_alias=SearchAlias( + name="span.domain" + ), ), "sentry.dsc.environment": AttributeMetadata( brief="The environment from the dynamic sampling context.", type=AttributeType.STRING, keys=("sentry.dsc.environment",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.INTERNAL, example="prod", @@ -25874,23 +23209,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The ID of the project where the trace originated (i.e. the project of the SDK that started the trace). Propagated through the dynamic sampling context and set by Relay during ingestion.", type=AttributeType.STRING, keys=("sentry.dsc.project_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.INTERNAL, example="12345", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[358], - description="Add sentry.dsc.project_id as an attribute", - ), + ChangelogEntry(version="0.7.0", prs=[358], description="Add sentry.dsc.project_id as an attribute"), ], ), "sentry.dsc.public_key": AttributeMetadata( brief="The public key from the dynamic sampling context.", type=AttributeType.STRING, keys=("sentry.dsc.public_key",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.INTERNAL, example="c51734c603c4430eb57cb0a5728a479d", @@ -25902,7 +23237,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The release identifier from the dynamic sampling context.", type=AttributeType.STRING, keys=("sentry.dsc.release",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.INTERNAL, example="frontend@e8211be71b214afab5b85de4b4c54be3714952bb", @@ -25914,7 +23251,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The sample rate from the dynamic sampling context.", type=AttributeType.STRING, keys=("sentry.dsc.sample_rate",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.INTERNAL, example="1.0", @@ -25926,7 +23265,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the event was sampled according to the dynamic sampling context.", type=AttributeType.BOOLEAN, keys=("sentry.dsc.sampled",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.INTERNAL, example=True, @@ -25938,7 +23279,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The trace ID from the dynamic sampling context.", type=AttributeType.STRING, keys=("sentry.dsc.trace_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.INTERNAL, example="047372980460430cbc78d9779df33a46", @@ -25950,7 +23293,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The transaction name from the dynamic sampling context.", type=AttributeType.STRING, keys=("sentry.dsc.transaction",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.INTERNAL, example="/issues/errors-outages/", @@ -25961,13 +23306,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.environment": AttributeMetadata( brief="The sentry environment.", type=AttributeType.STRING, - keys=( - "sentry.environment", - "environment", - "resource.deployment.environment", - "resource.deployment.environment.name", + keys=("sentry.environment", "environment", "resource.deployment.environment", "resource.deployment.environment.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="production", @@ -25975,13 +23317,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="environment"), + search_alias=SearchAlias( + name="environment" + ), ), "sentry.event.serialized_breadcrumbs": AttributeMetadata( brief="JSON-serialized `breadcrumbs` property from a Sentry event.", type=AttributeType.STRING, keys=("sentry.event.serialized_breadcrumbs",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.INTERNAL, changelog=[ @@ -25992,7 +23338,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="JSON-serialized `contexts` property from a Sentry event.", type=AttributeType.STRING, keys=("sentry.event.serialized_contexts",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.INTERNAL, changelog=[ @@ -26003,7 +23351,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="JSON-serialized `extra` property from a Sentry event.", type=AttributeType.STRING, keys=("sentry.event.serialized_extra",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.INTERNAL, changelog=[ @@ -26014,7 +23364,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="JSON-serialized `_meta` for the `sentry.event.serialized_*` properties from a Sentry event.", type=AttributeType.STRING, keys=("sentry.event.serialized_meta",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.INTERNAL, changelog=[ @@ -26025,7 +23377,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The exclusive time duration of the span in milliseconds.", type=AttributeType.DOUBLE, keys=("sentry.exclusive_time",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234, @@ -26038,89 +23392,70 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.frames.frozen": AttributeMetadata( brief="The number of frozen frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=( - "app.vitals.frames.frozen.count", - "frames.frozen", - "mobile.frozen_frames", - "sentry.frames.frozen", + keys=("app.vitals.frames.frozen.count", "frames.frozen", "mobile.frozen_frames", "sentry.frames.frozen",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=3, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["app.vitals.frames.frozen.count", "frames.frozen"], + aliases=["app.vitals.frames.frozen.count","frames.frozen"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[500], - description="Added sentry.frames.frozen attribute", - ), + ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.frozen attribute"), ], ), "sentry.frames.slow": AttributeMetadata( brief="The number of slow frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=( - "app.vitals.frames.slow.count", - "frames.slow", - "mobile.slow_frames", - "sentry.frames.slow", + keys=("app.vitals.frames.slow.count", "frames.slow", "mobile.slow_frames", "sentry.frames.slow",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["app.vitals.frames.slow.count", "frames.slow"], + aliases=["app.vitals.frames.slow.count","frames.slow"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[500], - description="Added sentry.frames.slow attribute", - ), + ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.slow attribute"), ], ), "sentry.frames.total": AttributeMetadata( brief="The number of total frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=( - "app.vitals.frames.total.count", - "frames.total", - "mobile.total_frames", - "sentry.frames.total", + keys=("app.vitals.frames.total.count", "frames.total", "mobile.total_frames", "sentry.frames.total",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=60, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["app.vitals.frames.total.count", "frames.total"], + aliases=["app.vitals.frames.total.count","frames.total"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[500], - description="Added sentry.frames.total attribute", - ), + ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.total attribute"), ], ), "sentry.graphql.operation": AttributeMetadata( brief="Indicates the type of graphql operation, emitted by the Javascript SDK.", type=AttributeType.STRING, keys=("sentry.graphql.operation",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="getUserById", @@ -26131,23 +23466,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.group": AttributeMetadata( brief="Stores the hash of `sentry.normalized_description`. This is primarily used for grouping spans in the product end.", type=AttributeType.STRING, - keys=( - "sentry.group", - "span.group", + keys=("sentry.group", "span.group",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, changelog=[ ChangelogEntry(version="0.4.0", prs=[212]), ], - search_alias=SearchAlias(name="span.group"), + search_alias=SearchAlias( + name="span.group" + ), ), "sentry.http.prefetch": AttributeMetadata( brief="If an http request was a prefetch request.", type=AttributeType.BOOLEAN, keys=("sentry.http.prefetch",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -26159,7 +23497,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The reason why an idle span ended early.", type=AttributeType.STRING, keys=("sentry.idle_span_finish_reason",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="idleTimeout", @@ -26171,28 +23511,25 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Indicates whether a telemetry item was sent on a host, device or browser on a localhost URL or IP address.", type=AttributeType.BOOLEAN, keys=("sentry.is_localhost",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.INTERNAL, example=True, examples=[True, False], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[646], - description="Added sentry.is_localhost attribute", - ), - ], - additional_context=[ - 'This attribute is used for the Sentry "Filter telemetry from localhost" inbound filter feature.', - "SDKs must set this attribute on every span, as well as every other telemetry item supporting attribuztes.", + ChangelogEntry(version="0.24.0", prs=[646], description="Added sentry.is_localhost attribute"), ], + additional_context=["This attribute is used for the Sentry \"Filter telemetry from localhost\" inbound filter feature.","SDKs must set this attribute on every span, as well as every other telemetry item supporting attribuztes."], ), "sentry.is_remote": AttributeMetadata( brief="Indicates whether a span's parent is remote.", type=AttributeType.BOOLEAN, keys=("sentry.is_remote",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -26203,64 +23540,51 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.kind": AttributeMetadata( brief="Used to clarify the relationship between parents and children, or to distinguish between spans, e.g. a `server` and `client` span with the same name.", type=AttributeType.STRING, - keys=( - "sentry.kind", - "span.kind", - "otel.kind", + keys=("sentry.kind", "span.kind", "otel.kind",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="client", examples=["client", "server", "producer", "consumer", "internal"], aliases=["otel.kind"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[517], - description="Added more examples and additional_context to the attribute", - ), + ChangelogEntry(version="0.19.0", prs=[517], description="Added more examples and additional_context to the attribute"), ChangelogEntry(version="0.3.1", prs=[190]), ], - additional_context=[ - 'Valid attribute values are: "client", "server", "producer", "consumer" and "internal"' - ], - search_alias=SearchAlias(name="span.kind"), + additional_context=["Valid attribute values are: \"client\", \"server\", \"producer\", \"consumer\" and \"internal\""], + search_alias=SearchAlias( + name="span.kind" + ), ), "sentry.link.type": AttributeMetadata( brief="Set on a span link. Describes the relationship between the span and the linked span.", type=AttributeType.STRING, - keys=( - "sentry.link.type", - "link.type", + keys=("sentry.link.type", "link.type",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="previous_trace", examples=["previous_trace", "next_trace", "cache_origin"], changelog=[ - ChangelogEntry( - version="0.27.0", prs=[687], description="Added search alias link.type" - ), - ChangelogEntry( - version="0.25.0", - prs=[656], - description="Added sentry.link.type attribute", - ), + ChangelogEntry(version="0.27.0", prs=[687], description="Added search alias link.type"), + ChangelogEntry(version="0.25.0", prs=[656], description="Added sentry.link.type attribute"), ], - additional_context=[ - "This attribute is exclusively set on span links.", - "Sentry instrumentation setting span links, sets it to describe the relationship between the span and the linked span.", - "For known values, see Examples. Add new values to Examples.", - ], - search_alias=SearchAlias(name="link.type"), + additional_context=["This attribute is exclusively set on span links.","Sentry instrumentation setting span links, sets it to describe the relationship between the span and the linked span.","For known values, see Examples. Add new values to Examples."], + search_alias=SearchAlias( + name="link.type" + ), ), "sentry.main_thread": AttributeMetadata( brief="Whether the span or event occurred on the main thread. Computed by Relay and should not be set by SDKs.", type=AttributeType.BOOLEAN, keys=("sentry.main_thread",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -26272,7 +23596,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A parameter used in the message template. can either be the number that represent the parameter's position in the template string (sentry.message.parameter.0, sentry.message.parameter.1, etc) or the parameter's name (sentry.message.parameter.item_id, sentry.message.parameter.user_id, etc)", type=AttributeType.STRING, keys=("sentry.message.parameter.",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="sentry.message.parameter.0='123'", @@ -26284,7 +23610,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The parameterized template string.", type=AttributeType.STRING, keys=("sentry.message.template",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Hello, {name}!", @@ -26296,23 +23624,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The provenance of a metric. For example, this can be set to indicate if a metric was generated by Relay from a span.", type=AttributeType.STRING, keys=("sentry.metric.source",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="span", changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[476], - description="Added sentry.metric.source attribute", - ), + ChangelogEntry(version="0.16.0", prs=[476], description="Added sentry.metric.source attribute"), ], ), "sentry.mobile": AttributeMetadata( brief="Whether the application is using a mobile SDK. Computed by Relay and should not be set by SDKs.", type=AttributeType.BOOLEAN, keys=("sentry.mobile",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -26324,7 +23652,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A module that was loaded in the process. The key is the name of the module.", type=AttributeType.STRING, keys=("sentry.module.",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -26337,7 +23667,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A parameterized route for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions when the file location of the function is known.", type=AttributeType.STRING, keys=("sentry.nextjs.ssr.function.route",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="/posts/[id]/layout", @@ -26349,7 +23681,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A descriptor for a for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions.", type=AttributeType.STRING, keys=("sentry.nextjs.ssr.function.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="generateMetadata", @@ -26361,7 +23695,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The normalized version of `db.query.text`.", type=AttributeType.STRING, keys=("sentry.normalized_db_query",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="SELECT .. FROM sentry_project WHERE (project_id = %s)", @@ -26373,7 +23709,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The hash of `sentry.normalized_db_query`.", type=AttributeType.STRING, keys=("sentry.normalized_db_query.hash",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, changelog=[ @@ -26384,7 +23722,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Used as a generic attribute representing the normalized `sentry.description`. This refers to the legacy use case of `sentry.description` where it holds relevant data depending on the type of span (e.g. database query, resource url, http request description, etc).", type=AttributeType.STRING, keys=("sentry.normalized_description",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="SELECT .. FROM sentry_project WHERE (project_id = %s)", @@ -26396,7 +23736,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The timestamp at which an envelope was received by Relay, in nanoseconds.", type=AttributeType.STRING, keys=("sentry.observed_timestamp_nanos",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="1544712660300000000", @@ -26408,27 +23750,27 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.op": AttributeMetadata( brief="The operation of a span.", type=AttributeType.STRING, - keys=( - "sentry.op", - "span.op", + keys=("sentry.op", "span.op",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="http.client", changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="span.op"), + search_alias=SearchAlias( + name="span.op" + ), ), "sentry.origin": AttributeMetadata( brief="The origin of the instrumentation (e.g. span, log, etc.)", type=AttributeType.STRING, - keys=( - "sentry.origin", - "origin", + keys=("sentry.origin", "origin",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="auto.http.otel.fastify", @@ -26436,154 +23778,149 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.1.0", prs=[68]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="origin"), + search_alias=SearchAlias( + name="origin" + ), ), "sentry.pageload.span_id": AttributeMetadata( brief="The id of the pageload span, set by web vital spans and metrics", type=AttributeType.STRING, keys=("sentry.pageload.span_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="bf2c8d3df84524de", changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[495], - description="Added sentry.pageload.span_id attribute", - ), + ChangelogEntry(version="0.17.0", prs=[495], description="Added sentry.pageload.span_id attribute"), ], ), "sentry.platform": AttributeMetadata( brief="The sdk platform that generated the event.", type=AttributeType.STRING, - keys=( - "sentry.platform", - "platform", + keys=("sentry.platform", "platform",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="php", changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="platform"), + search_alias=SearchAlias( + name="platform" + ), ), "sentry.profile_id": AttributeMetadata( brief="The ID of the Sentry profile the span is associated with. This is only meaningful for transaction-based profiling.", type=AttributeType.STRING, - keys=( - "sentry.profile_id", - "profile.id", - "profile_id", + keys=("sentry.profile_id", "profile.id", "profile_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="123e4567e89b12d3a456426614174000", aliases=["profile_id"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[497], description="Added profile_id as an alias" - ), - ChangelogEntry( - version="0.6.0", - prs=[344], - description="Added sentry.profile_id attribute", - ), + ChangelogEntry(version="0.19.0", prs=[497], description="Added profile_id as an alias"), + ChangelogEntry(version="0.6.0", prs=[344], description="Added sentry.profile_id attribute"), ], - search_alias=SearchAlias(name="profile.id"), + search_alias=SearchAlias( + name="profile.id" + ), ), "sentry.profiler_id": AttributeMetadata( brief="The id of the currently running profiler (continuous profiling)", type=AttributeType.STRING, - keys=( - "sentry.profiler_id", - "profiler.id", + keys=("sentry.profiler_id", "profiler.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="18779b64dd35d1a538e7ce2dd2d3fad3", changelog=[ ChangelogEntry(version="0.4.0", prs=[242]), ], - search_alias=SearchAlias(name="profiler.id"), + search_alias=SearchAlias( + name="profiler.id" + ), ), "sentry.relay.ingress": AttributeMetadata( brief="How an item (span, log, &c.) entered Relay.", type=AttributeType.STRING, keys=("sentry.relay.ingress",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.INTERNAL, example="OTEL", changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[491], - description="Added sentry.relay.ingress attribute", - ), + ChangelogEntry(version="0.17.0", prs=[491], description="Added sentry.relay.ingress attribute"), ], ), "sentry.relay.pipeline": AttributeMetadata( brief="An internal descriptor of which processing pipeline an item went through in Relay.", type=AttributeType.STRING, keys=("sentry.relay.pipeline",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.INTERNAL, example="span v2", changelog=[ - ChangelogEntry( - version="0.17.0", - prs=[491], - description="Added sentry.relay.pipeline attribute", - ), + ChangelogEntry(version="0.17.0", prs=[491], description="Added sentry.relay.pipeline attribute"), ], ), "sentry.release": AttributeMetadata( brief="The sentry release.", type=AttributeType.STRING, - keys=( - "sentry.release", - "release", - "service.version", + keys=("sentry.release", "release", "service.version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="7.0.0", - aliases=["service.version", "release"], + aliases=["service.version","release"], changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="release"), + search_alias=SearchAlias( + name="release" + ), ), "sentry.replay_id": AttributeMetadata( brief="The id of the sentry replay.", type=AttributeType.STRING, - keys=( - "sentry.replay_id", - "replay.id", - "replay_id", + keys=("sentry.replay_id", "replay.id", "replay_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="123e4567e89b12d3a456426614174000", - aliases=["replay_id", "replayId"], + aliases=["replay_id","replayId"], changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="replay.id", deprecated_aliases=["replay_id"]), + search_alias=SearchAlias( + name="replay.id", + deprecated_aliases=["replay_id"] + ), ), "sentry.replay_is_buffering": AttributeMetadata( brief="A sentinel attribute on log events indicating whether the current Session Replay is being buffered (onErrorSampleRate).", type=AttributeType.BOOLEAN, keys=("sentry.replay_is_buffering",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -26595,7 +23932,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="(Deprecated) The event that caused the SDK to report CLS or LCP (pagehide or navigation)", type=AttributeType.STRING, keys=("sentry.report_event",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="pagehide", @@ -26603,31 +23942,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="The report event moved to browser.web_vital.lcp.report_event and browser.web_vital.cls.report_event, which are themselves deprecated without a replacement. No backfill required." ), changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[642], - description="Updated the deprecation reason now that the browser.web_vital.*.report_event attributes are deprecated", - ), - ChangelogEntry( - version="0.5.0", - prs=[320], - description="Added sentry.report_event attribute", - ), + ChangelogEntry(version="0.24.0", prs=[642], description="Updated the deprecation reason now that the browser.web_vital.*.report_event attributes are deprecated"), + ChangelogEntry(version="0.5.0", prs=[320], description="Added sentry.report_event attribute"), ], ), "sentry.sdk.integrations": AttributeMetadata( brief="A list of names identifying enabled integrations. The list shouldhave all enabled integrations, including default integrations. Defaultintegrations are included because different SDK releases may contain differentdefault integrations.", type=AttributeType.STRING_ARRAY, keys=("sentry.sdk.integrations",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, - example=[ - "InboundFilters", - "FunctionToString", - "BrowserApiErrors", - "Breadcrumbs", - ], + example=["InboundFilters", "FunctionToString", "BrowserApiErrors", "Breadcrumbs"], changelog=[ ChangelogEntry(version="0.0.0", prs=[42]), ], @@ -26635,44 +23963,44 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.sdk.name": AttributeMetadata( brief="The sentry sdk name.", type=AttributeType.STRING, - keys=( - "sentry.sdk.name", - "sdk.name", + keys=("sentry.sdk.name", "sdk.name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="@sentry/react", changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="sdk.name"), + search_alias=SearchAlias( + name="sdk.name" + ), ), "sentry.sdk.version": AttributeMetadata( brief="The sentry sdk version.", type=AttributeType.STRING, - keys=( - "sentry.sdk.version", - "sdk.version", + keys=("sentry.sdk.version", "sdk.version",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="7.0.0", changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias(name="sdk.version"), + search_alias=SearchAlias( + name="sdk.version" + ), ), "sentry.segment.id": AttributeMetadata( brief="The segment ID of a span", type=AttributeType.STRING, - keys=( - "sentry.segment.id", - "sentry.segment_id", - "transaction.span_id", + keys=("sentry.segment.id", "sentry.segment_id", "transaction.span_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="051581bf3cb55c13", @@ -26684,89 +24012,84 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.segment.name": AttributeMetadata( brief="The segment name of a span", type=AttributeType.STRING, - keys=( - "sentry.segment.name", - "transaction", - "sentry.transaction", + keys=("sentry.segment.name", "transaction", "sentry.transaction",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="GET /user", - aliases=["sentry.transaction", "transaction"], + aliases=["sentry.transaction","transaction"], changelog=[ - ChangelogEntry( - version="0.6.0", - prs=[345], - description="Added sentry.transaction and transaction aliases", - ), + ChangelogEntry(version="0.6.0", prs=[345], description="Added sentry.transaction and transaction aliases"), ChangelogEntry(version="0.1.0", prs=[104]), ], - search_alias=SearchAlias(name="transaction"), + search_alias=SearchAlias( + name="transaction" + ), ), "sentry.segment.name.source": AttributeMetadata( brief="The source of the segment span name. Should only be set on segment spans.", type=AttributeType.STRING, keys=("sentry.segment.name.source",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.INTERNAL, example="route", examples=["route", "component", "view", "task", "custom", "url"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[466], - description="Added sentry.segment.name.source", - ), - ], - additional_context=[ - "This attribute is the replacement for `transaction_info.source` on transactions.", - "Should we bring back clustering for segment names (like we do for transaction names), this attribute will be used to determine if a segment name should be clustered.", + ChangelogEntry(version="0.19.0", prs=[466], description="Added sentry.segment.name.source"), ], + additional_context=["This attribute is the replacement for `transaction_info.source` on transactions.","Should we bring back clustering for segment names (like we do for transaction names), this attribute will be used to determine if a segment name should be clustered."], ), "sentry.segment_id": AttributeMetadata( brief="The segment ID of a span", type=AttributeType.STRING, - keys=( - "sentry.segment.id", - "sentry.segment_id", - "transaction.span_id", + keys=("sentry.segment.id", "sentry.segment_id", "transaction.span_id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="051581bf3cb55c13", deprecation=DeprecationInfo( - replacement="sentry.segment.id", status=DeprecationStatus.BACKFILL + replacement="sentry.segment.id", + status=DeprecationStatus.BACKFILL ), aliases=["sentry.segment.id"], changelog=[ ChangelogEntry(version="0.1.0", prs=[124]), ], - search_alias=SearchAlias(name="transaction.span_id"), + search_alias=SearchAlias( + name="transaction.span_id" + ), ), "sentry.server_sample_rate": AttributeMetadata( brief="Rate at which a span was sampled in Relay.", type=AttributeType.DOUBLE, - keys=( - "sentry.server_sample_rate", - "server_sample_rate", + keys=("sentry.server_sample_rate", "server_sample_rate",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, changelog=[ ChangelogEntry(version="0.1.0", prs=[102]), ], - search_alias=SearchAlias(name="server_sample_rate"), + search_alias=SearchAlias( + name="server_sample_rate" + ), ), "sentry.source": AttributeMetadata( brief="The source of a span, also referred to as transaction source.", type=AttributeType.STRING, keys=("sentry.source",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="route", @@ -26774,11 +24097,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is superseded by sentry.segment.name.source, which only needs to be set on segment spans." ), changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[510], - description="Removed the sentry.span.source replacement", - ), + ChangelogEntry(version="0.19.0", prs=[510], description="Removed the sentry.span.source replacement"), ChangelogEntry(version="0.5.0"), ], ), @@ -26786,7 +24105,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The source of a span, also referred to as transaction source.", type=AttributeType.STRING, keys=("sentry.span.source",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="route", @@ -26794,99 +24115,90 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is superseded by sentry.segment.name.source, which only needs to be set on segment spans." ), changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[510], - description="Deprecated; superseded by sentry.segment.name.source on segment spans", - ), + ChangelogEntry(version="0.19.0", prs=[510], description="Deprecated; superseded by sentry.segment.name.source on segment spans"), ChangelogEntry(version="0.4.0", prs=[214]), ChangelogEntry(version="0.0.0"), ], ), "sentry.status": AttributeMetadata( - brief='The span\'s status (either "ok" or "error"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.', + brief="The span's status (either \"ok\" or \"error\"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.", type=AttributeType.STRING, - keys=( - "sentry.status", - "span.status", + keys=("sentry.status", "span.status",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="ok", changelog=[ ChangelogEntry(version="0.14.0", prs=[453]), ], - search_alias=SearchAlias(name="span.status"), + search_alias=SearchAlias( + name="span.status" + ), ), "sentry.status.message": AttributeMetadata( brief="The from OTLP extracted status message.", type=AttributeType.STRING, - keys=( - "sentry.status.message", - "span.status.message", + keys=("sentry.status.message", "span.status.message",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="foobar", changelog=[ ChangelogEntry(version="0.3.1", prs=[190]), ], - search_alias=SearchAlias(name="span.status.message"), + search_alias=SearchAlias( + name="span.status.message" + ), ), "sentry.status_code": AttributeMetadata( brief="The HTTP status code used in Sentry Insights. Typically set by Sentry during ingestion, rather than by clients.", type=AttributeType.INTEGER, - keys=( - "sentry.status_code", - "span.status_code", + keys=("sentry.status_code", "span.status_code",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=200, changelog=[ ChangelogEntry(version="0.4.0", prs=[223, 228]), ], - search_alias=SearchAlias(name="span.status_code"), + search_alias=SearchAlias( + name="span.status_code" + ), ), "sentry.sveltekit.navigation.from": AttributeMetadata( brief="the navigation origin (sveltekit router)", type=AttributeType.STRING, - keys=( - "router.navigation.origin", - "navigation.origin", - "sentry.sveltekit.navigation.from", + keys=("router.navigation.origin", "navigation.origin", "sentry.sveltekit.navigation.from",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="/home", deprecation=DeprecationInfo( replacement="router.navigation.origin", reason="Use the more generic attribute instead", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["navigation.origin", "router.navigation.origin"], + aliases=["navigation.origin","router.navigation.origin"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[600], - description="Re-pointed deprecation from navigation.origin to router.navigation.origin", - ), - ChangelogEntry( - version="0.16.0", - prs=[467], - description="Added sentry.sveltekit.navigation.from attribute", - ), + ChangelogEntry(version="0.22.0", prs=[600], description="Re-pointed deprecation from navigation.origin to router.navigation.origin"), + ChangelogEntry(version="0.16.0", prs=[467], description="Added sentry.sveltekit.navigation.from attribute"), ], ), "sentry.sveltekit.navigation.to": AttributeMetadata( brief="the navigation destination", type=AttributeType.STRING, keys=("sentry.sveltekit.navigation.to",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="/users/:id", @@ -26894,70 +24206,59 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="the navigation destination is already covered by url.* attributes" ), changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[467], - description="Added sentry.sveltekit.navigation.to attribute", - ), + ChangelogEntry(version="0.16.0", prs=[467], description="Added sentry.sveltekit.navigation.to attribute"), ], ), "sentry.sveltekit.navigation.type": AttributeMetadata( brief="The type of navigation event emitted from the sveltekit client router", type=AttributeType.STRING, - keys=( - "router.navigation.type", - "navigation.type", - "sentry.sveltekit.navigation.type", + keys=("router.navigation.type", "navigation.type", "sentry.sveltekit.navigation.type",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="link", deprecation=DeprecationInfo( replacement="router.navigation.type", reason="Use the more generic attribute instead", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["navigation.type", "router.navigation.type"], + aliases=["navigation.type","router.navigation.type"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[600], - description="Re-pointed deprecation from navigation.type to router.navigation.type", - ), - ChangelogEntry( - version="0.16.0", - prs=[467], - description="Added sentry.sveltekit.navigation.type attribute", - ), + ChangelogEntry(version="0.22.0", prs=[600], description="Re-pointed deprecation from navigation.type to router.navigation.type"), + ChangelogEntry(version="0.16.0", prs=[467], description="Added sentry.sveltekit.navigation.type attribute"), ], ), "sentry.thread.id": AttributeMetadata( - brief='Current "managed" thread ID.', + brief="Current \"managed\" thread ID.", type=AttributeType.INTEGER, - keys=( - "thread.id", - "sentry.thread.id", + keys=("thread.id", "sentry.thread.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=56, deprecation=DeprecationInfo( replacement="thread.id", reason="This attribute is being deprecated in favor of the OTel-standard thread.id", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), changelog=[ ChangelogEntry(version="0.13.0", prs=[451]), ], - search_alias=SearchAlias(name="thread.id"), + search_alias=SearchAlias( + name="thread.id" + ), ), "sentry.timestamp.sequence": AttributeMetadata( brief="A sequencing counter for deterministic ordering of logs or metrics when timestamps share the same integer millisecond. Starts at 0 on SDK initialization, increments by 1 for each captured item, and resets to 0 when the integer millisecond of the current item differs from the previous one.", type=AttributeType.INTEGER, keys=("sentry.timestamp.sequence",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=0, @@ -26969,273 +24270,256 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The span id of the span that was active when the log was collected. This should not be set if there was no active span.", type=AttributeType.STRING, keys=("sentry.trace.parent_span_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="b0e6f15b45c36b12", deprecation=DeprecationInfo(), changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[287], - description="Deprecate `sentry.trace.parent_span_id`", - ), + ChangelogEntry(version="0.5.0", prs=[287], description="Deprecate `sentry.trace.parent_span_id`"), ChangelogEntry(version="0.1.0", prs=[116]), ], ), "sentry.trace.status": AttributeMetadata( - brief='The segment\'s status (either "ok" or "error"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.', + brief="The segment's status (either \"ok\" or \"error\"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.", type=AttributeType.STRING, - keys=( - "sentry.trace.status", - "trace.status", + keys=("sentry.trace.status", "trace.status",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="ok", changelog=[ ChangelogEntry(version="0.14.0", prs=[453]), ], - search_alias=SearchAlias(name="trace.status"), + search_alias=SearchAlias( + name="trace.status" + ), ), "sentry.trace_lifecycle": AttributeMetadata( brief="Indicates the chosen trace lifecycle mode of the SDK (stream or static)", type=AttributeType.STRING, - keys=( - "sentry.trace_lifecycle", - "trace_lifecycle", + keys=("sentry.trace_lifecycle", "trace_lifecycle",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="stream", changelog=[ - ChangelogEntry( - version="0.13.0", - prs=[442], - description="Added sentry.trace_lifecycle attribute", - ), + ChangelogEntry(version="0.13.0", prs=[442], description="Added sentry.trace_lifecycle attribute"), ], - search_alias=SearchAlias(name="trace_lifecycle"), + search_alias=SearchAlias( + name="trace_lifecycle" + ), ), "sentry.transaction": AttributeMetadata( brief="The sentry transaction (segment name).", type=AttributeType.STRING, - keys=( - "sentry.segment.name", - "transaction", - "sentry.transaction", + keys=("sentry.segment.name", "transaction", "sentry.transaction",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.NEVER ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="GET /", deprecation=DeprecationInfo( replacement="sentry.segment.name", reason="This attribute is being deprecated in favor of sentry.segment.name", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["sentry.segment.name", "transaction"], + aliases=["sentry.segment.name","transaction"], changelog=[ - ChangelogEntry( - version="0.6.0", - prs=[345], - description="Deprecated sentry.transaction in favor of sentry.segment.name", - ), + ChangelogEntry(version="0.6.0", prs=[345], description="Deprecated sentry.transaction in favor of sentry.segment.name"), ChangelogEntry(version="0.0.0"), ], ), "sentry.user.email": AttributeMetadata( brief="User email address.", type=AttributeType.STRING, - keys=( - "user.email", - "sentry.user.email", + keys=("user.email", "sentry.user.email",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.email", status=DeprecationStatus.BACKFILL + replacement="user.email", + status=DeprecationStatus.BACKFILL ), aliases=["user.email"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias(name="user.email"), + search_alias=SearchAlias( + name="user.email" + ), ), "sentry.user.geo.city": AttributeMetadata( brief="Human readable city name.", type=AttributeType.STRING, - keys=( - "user.geo.city", - "sentry.user.geo.city", + keys=("user.geo.city", "sentry.user.geo.city",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.geo.city", status=DeprecationStatus.BACKFILL + replacement="user.geo.city", + status=DeprecationStatus.BACKFILL ), aliases=["user.geo.city"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias(name="user.geo.city"), + search_alias=SearchAlias( + name="user.geo.city" + ), ), "sentry.user.geo.country_code": AttributeMetadata( brief="Two-letter country code (ISO 3166-1 alpha-2).", type=AttributeType.STRING, - keys=( - "user.geo.country_code", - "sentry.user.geo.country_code", + keys=("user.geo.country_code", "sentry.user.geo.country_code",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.geo.country_code", status=DeprecationStatus.BACKFILL + replacement="user.geo.country_code", + status=DeprecationStatus.BACKFILL ), aliases=["user.geo.country_code"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias(name="user.geo.country_code"), + search_alias=SearchAlias( + name="user.geo.country_code" + ), ), "sentry.user.geo.region": AttributeMetadata( brief="Human readable region name or code.", type=AttributeType.STRING, - keys=( - "user.geo.region", - "sentry.user.geo.region", + keys=("user.geo.region", "sentry.user.geo.region",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.geo.region", status=DeprecationStatus.BACKFILL + replacement="user.geo.region", + status=DeprecationStatus.BACKFILL ), aliases=["user.geo.region"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias(name="user.geo.region"), + search_alias=SearchAlias( + name="user.geo.region" + ), ), "sentry.user.geo.subdivision": AttributeMetadata( brief="Human readable subdivision name.", type=AttributeType.STRING, - keys=( - "user.geo.subdivision", - "sentry.user.geo.subdivision", + keys=("user.geo.subdivision", "sentry.user.geo.subdivision",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.geo.subdivision", status=DeprecationStatus.BACKFILL + replacement="user.geo.subdivision", + status=DeprecationStatus.BACKFILL ), aliases=["user.geo.subdivision"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias(name="user.geo.subdivision"), + search_alias=SearchAlias( + name="user.geo.subdivision" + ), ), "sentry.user.id": AttributeMetadata( brief="Unique identifier of the user.", type=AttributeType.STRING, - keys=( - "user.id", - "sentry.user.id", + keys=("user.id", "sentry.user.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.id", status=DeprecationStatus.BACKFILL + replacement="user.id", + status=DeprecationStatus.BACKFILL ), aliases=["user.id"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias(name="user.id"), + search_alias=SearchAlias( + name="user.id" + ), ), "sentry.user.ip": AttributeMetadata( brief="The IP address of the user.", type=AttributeType.STRING, - keys=( - "user.ip_address", - "sentry.user.ip", - "user.ip", + keys=("user.ip_address", "sentry.user.ip", "user.ip",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.ip_address", status=DeprecationStatus.BACKFILL + replacement="user.ip_address", + status=DeprecationStatus.BACKFILL ), aliases=["user.ip_address"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias(name="user.ip"), + search_alias=SearchAlias( + name="user.ip" + ), ), "sentry.user.username": AttributeMetadata( brief="Short name or login/username of the user.", type=AttributeType.STRING, - keys=( - "user.name", - "sentry.user.username", - "user.username", + keys=("user.name", "sentry.user.username", "user.username",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.name", status=DeprecationStatus.BACKFILL + replacement="user.name", + status=DeprecationStatus.BACKFILL ), aliases=["user.name"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias(name="user.username"), + search_alias=SearchAlias( + name="user.username" + ), ), "server.address": AttributeMetadata( brief="Preferably the server domain name if available without reverse DNS lookup, or an IP address or Unix domain socket name. For compatibility, it may contain what the hostname command returns on UNIX systems, the fully qualified hostname, or another name specified by the user.", type=AttributeType.STRING, - keys=( - "server.address", - "address", - "http.server_name", - "net.host.name", - "server_name", + keys=("server.address", "address", "http.server_name", "net.host.name", "server_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", - aliases=[ - "address", - "http.server_name", - "net.host.name", - "http.host", - "server_name", - "net.peer.name", - ], - changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[645, 647], - description="Broaden brief to allow hostnames", - ), - ChangelogEntry( - version="0.21.0", - prs=[588, 602], - description="Added net.peer.name as an alias", - ), - ChangelogEntry( - version="0.19.0", prs=[534], description="Added address as an alias" - ), + aliases=["address","http.server_name","net.host.name","http.host","server_name","net.peer.name"], + changelog=[ + ChangelogEntry(version="0.24.0", prs=[645, 647], description="Broaden brief to allow hostnames"), + ChangelogEntry(version="0.21.0", prs=[588, 602], description="Added net.peer.name as an alias"), + ChangelogEntry(version="0.19.0", prs=[534], description="Added address as an alias"), ChangelogEntry(version="0.1.0", prs=[108, 127]), ChangelogEntry(version="0.0.0"), ], @@ -27243,20 +24527,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "server.port": AttributeMetadata( brief="Server port number.", type=AttributeType.INTEGER, - keys=( - "server.port", - "net.host.port", - "port", + keys=("server.port", "net.host.port", "port",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=1337, - aliases=["net.host.port", "port"], + aliases=["net.host.port","port"], changelog=[ - ChangelogEntry( - version="0.19.0", prs=[532], description="Added port as an alias" - ), + ChangelogEntry(version="0.19.0", prs=[532], description="Added port as an alias"), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], @@ -27264,56 +24544,33 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "server_name": AttributeMetadata( brief="The name of the device. On servers and desktops, this is typically the hostname.", type=AttributeType.STRING, - keys=( - "server.address", - "address", - "http.server_name", - "net.host.name", - "server_name", + keys=("server.address", "address", "http.server_name", "net.host.name", "server_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="example.com", deprecation=DeprecationInfo( replacement="server.address", reason="This attribute is being deprecated in favor of server.address.", - status=DeprecationStatus.BACKFILL, - ), - aliases=[ - "address", - "server.address", - "http.server_name", - "net.host.name", - "http.host", - "net.peer.name", - ], - changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[647], - description="Alias the server.address alias group", - ), - ChangelogEntry( - version="0.21.0", - prs=[588, 602], - description="Alias device.name instead of the server.address alias group", - ), - ChangelogEntry( - version="0.19.0", prs=[534], description="Added address as an alias" - ), - ChangelogEntry( - version="0.16.0", - prs=[477], - description="Added server_name attribute, deprecated in favor of server.address", - ), + status=DeprecationStatus.BACKFILL + ), + aliases=["address","server.address","http.server_name","net.host.name","http.host","net.peer.name"], + changelog=[ + ChangelogEntry(version="0.24.0", prs=[647], description="Alias the server.address alias group"), + ChangelogEntry(version="0.21.0", prs=[588, 602], description="Alias device.name instead of the server.address alias group"), + ChangelogEntry(version="0.19.0", prs=[534], description="Added address as an alias"), + ChangelogEntry(version="0.16.0", prs=[477], description="Added server_name attribute, deprecated in favor of server.address"), ], ), "service.name": AttributeMetadata( brief="Logical name of the service.", type=AttributeType.STRING, keys=("service.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="omegastar", @@ -27325,12 +24582,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "service.version": AttributeMetadata( brief="The version string of the service API or implementation. The format is not defined by these conventions.", type=AttributeType.STRING, - keys=( - "service.version", - "sentry.release", - "release", + keys=("service.version", "sentry.release", "release",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="5.0.0", @@ -27344,113 +24599,83 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A unique id identifying the active session at the time of setting this attribute", type=AttributeType.STRING, keys=("session.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="00112233-4455-6677-8899-aabbccddeeff", changelog=[ - ChangelogEntry( - version="0.11.0", prs=[412], description="Added session.id attribute" - ), + ChangelogEntry(version="0.11.0", prs=[412], description="Added session.id attribute"), ], ), "stall_percentage": AttributeMetadata( brief="The fraction of time the app was stalled. Only applies to React Native. This is computed by Relay.", type=AttributeType.DOUBLE, - keys=( - "app.vitals.stall.percentage", - "stall_percentage", + keys=("app.vitals.stall.percentage", "stall_percentage",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( replacement="app.vitals.stall.percentage", reason="Replaced by app.vitals.stall.percentage to align with the app.vitals.* namespace for mobile performance attributes", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.vitals.stall.percentage"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[493], - description="Deprecated in favor of app.vitals.stall.percentage", - ), - ChangelogEntry( - version="0.7.0", - prs=[362], - description="Added stall_percentage attribute", - ), + ChangelogEntry(version="0.19.0", prs=[493], description="Deprecated in favor of app.vitals.stall.percentage"), + ChangelogEntry(version="0.7.0", prs=[362], description="Added stall_percentage attribute"), ], ), "stall_total_time": AttributeMetadata( brief="The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay.", type=AttributeType.DOUBLE, - keys=( - "app.vitals.stall.duration", - "stall_total_time", + keys=("app.vitals.stall.duration", "stall_total_time",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( replacement="app.vitals.stall.duration", reason="Replaced by app.vitals.stall.duration to align with the app.vitals.* namespace for mobile performance attributes", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.vitals.stall.duration"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[493], - description="Deprecated in favor of app.vitals.stall.duration", - ), - ChangelogEntry( - version="0.7.0", - prs=[362], - description="Added stall_total_time attribute", - ), + ChangelogEntry(version="0.19.0", prs=[493], description="Deprecated in favor of app.vitals.stall.duration"), + ChangelogEntry(version="0.7.0", prs=[362], description="Added stall_total_time attribute"), ], ), "starlette.middleware_name": AttributeMetadata( brief="The name of the Starlette middleware.", type=AttributeType.STRING, - keys=( - "middleware.name", - "django.middleware_name", - "litestar.middleware_name", - "starlette.middleware_name", - "starlite.middleware_name", + keys=("middleware.name", "django.middleware_name", "litestar.middleware_name", "starlette.middleware_name", "starlite.middleware_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="AuthenticationMiddleware", deprecation=DeprecationInfo( replacement="middleware.name", reason="This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["middleware.name"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[485], - description="Added starlette.middleware_name attribute, deprecated in favor of middleware.name", - ), + ChangelogEntry(version="0.19.0", prs=[485], description="Added starlette.middleware_name attribute, deprecated in favor of middleware.name"), ], ), "starlite.middleware_name": AttributeMetadata( brief="The name of the Starlite middleware.", type=AttributeType.STRING, - keys=( - "middleware.name", - "django.middleware_name", - "litestar.middleware_name", - "starlette.middleware_name", - "starlite.middleware_name", + keys=("middleware.name", "django.middleware_name", "litestar.middleware_name", "starlette.middleware_name", "starlite.middleware_name",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="AuthenticationMiddleware", @@ -27458,149 +24683,119 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="middleware.name", reason="This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["middleware.name"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[519], - description="Added starlite.middleware_name attribute", - ), + ChangelogEntry(version="0.19.0", prs=[519], description="Added starlite.middleware_name attribute"), ], ), "state.type": AttributeMetadata( brief="The type of state management library", type=AttributeType.STRING, keys=("state.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="redux", changelog=[ - ChangelogEntry( - version="0.7.0", prs=[365], description="Added state.type attribute" - ), + ChangelogEntry(version="0.7.0", prs=[365], description="Added state.type attribute"), ], ), "subprocess.pid": AttributeMetadata( brief="The process ID of a subprocess.", type=AttributeType.INTEGER, - keys=( - "process.pid", - "subprocess.pid", + keys=("process.pid", "subprocess.pid",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=12345, deprecation=DeprecationInfo( replacement="process.pid", reason="This attribute is being deprecated in favor of process.pid, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["process.pid"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[487], - description="Added subprocess.pid attribute, deprecated in favor of process.pid", - ), + ChangelogEntry(version="0.19.0", prs=[487], description="Added subprocess.pid attribute, deprecated in favor of process.pid"), ], ), "sveltekit.load.environment": AttributeMetadata( brief="The runtime environment in which the SvelteKit load function was executed. Known values are `'server'` and `'client'`.", type=AttributeType.STRING, keys=("sveltekit.load.environment",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="server", examples=["server", "client"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[611], - description="Added sveltekit.load.environment attribute", - ), - ], - additional_context=[ - "Added by the SvelteKit framework itself. The Sentry SDK only forwards the attribute to Sentry." + ChangelogEntry(version="0.22.0", prs=[611], description="Added sveltekit.load.environment attribute"), ], + additional_context=["Added by the SvelteKit framework itself. The Sentry SDK only forwards the attribute to Sentry."], ), "sveltekit.load.node_id": AttributeMetadata( brief="The path to the SvelteKit load function.", type=AttributeType.STRING, - keys=( - "sveltekit.load.node_id", - "code.file.path", - "code.filepath", + keys=("sveltekit.load.node_id", "code.file.path", "code.filepath",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="src/routes/users/:id/+page.server.ts", examples=["src/routes/users/:id/+page.server.ts"], - aliases=["code.file.path", "code.filepath"], + aliases=["code.file.path","code.filepath"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[611], - description="Added sveltekit.load.node_id attribute", - ), - ], - additional_context=[ - "Added by the SvelteKit framework itself. The Sentry SDK only forwards the attribute to Sentry." + ChangelogEntry(version="0.22.0", prs=[611], description="Added sveltekit.load.node_id attribute"), ], + additional_context=["Added by the SvelteKit framework itself. The Sentry SDK only forwards the attribute to Sentry."], ), "sveltekit.load.node_type": AttributeMetadata( brief="The kind of SvelteKit load function that was executed, distinguishing page from layout and universal from server load functions.", type=AttributeType.STRING, keys=("sveltekit.load.node_type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="+page.server", examples=["+page.server", "+layout", "+layout.server"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[611], - description="Added sveltekit.load.node_type attribute", - ), - ], - additional_context=[ - "Added by the SvelteKit framework itself. The Sentry SDK only forwards the attribute to Sentry." + ChangelogEntry(version="0.22.0", prs=[611], description="Added sveltekit.load.node_type attribute"), ], + additional_context=["Added by the SvelteKit framework itself. The Sentry SDK only forwards the attribute to Sentry."], ), "sveltekit.tracing.original_name": AttributeMetadata( brief="The original span name as emitted by SvelteKit.", type=AttributeType.STRING, keys=("sveltekit.tracing.original_name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="sveltekit.handle.root", examples=["sveltekit.handle.root"], changelog=[ - ChangelogEntry( - version="0.22.0", - prs=[611], - description="Added sveltekit.tracing.original_name attribute", - ), - ], - additional_context=[ - "The Sentry SDK renames SvelteKit-emitted spans to match Sentry's span name semantics, and preserves the name SvelteKit originally set in this attribute." + ChangelogEntry(version="0.22.0", prs=[611], description="Added sveltekit.tracing.original_name attribute"), ], + additional_context=["The Sentry SDK renames SvelteKit-emitted spans to match Sentry's span name semantics, and preserves the name SvelteKit originally set in this attribute."], ), "thread.id": AttributeMetadata( brief="Current “managed” thread ID.", type=AttributeType.INTEGER, - keys=( - "thread.id", - "sentry.thread.id", + keys=("thread.id", "sentry.thread.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=56, @@ -27612,7 +24807,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Current thread name.", type=AttributeType.STRING, keys=("thread.name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="main", @@ -27625,7 +24822,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The log tag provided by the timber logging framework.", type=AttributeType.STRING, keys=("timber.tag",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="MyTag", @@ -27636,80 +24835,61 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "time_to_full_display": AttributeMetadata( brief="The duration of time to full display in milliseconds", type=AttributeType.DOUBLE, - keys=( - "app.vitals.ttfd.value", - "time_to_full_display", + keys=("app.vitals.ttfd.value", "time_to_full_display",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, deprecation=DeprecationInfo( replacement="app.vitals.ttfd.value", reason="Replaced by app.vitals.ttfd.value to align with the app.vitals.* namespace for mobile performance attributes", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.vitals.ttfd.value"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Added and deprecated in favor of app.vitals.ttfd.value", - ), + ChangelogEntry(version="0.5.0", prs=[313], description="Added and deprecated in favor of app.vitals.ttfd.value"), ], ), "time_to_initial_display": AttributeMetadata( brief="The duration of time to initial display in milliseconds", type=AttributeType.DOUBLE, - keys=( - "app.vitals.ttid.value", - "time_to_initial_display", + keys=("app.vitals.ttid.value", "time_to_initial_display",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, deprecation=DeprecationInfo( replacement="app.vitals.ttid.value", reason="Replaced by app.vitals.ttid.value to align with the app.vitals.* namespace for mobile performance attributes", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["app.vitals.ttid.value"], changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[313], - description="Added and deprecated in favor of app.vitals.ttid.value", - ), + ChangelogEntry(version="0.5.0", prs=[313], description="Added and deprecated in favor of app.vitals.ttid.value"), ], ), "transaction": AttributeMetadata( brief="The sentry transaction (segment name).", type=AttributeType.STRING, - keys=( - "sentry.segment.name", - "transaction", - "sentry.transaction", + keys=("sentry.segment.name", "transaction", "sentry.transaction",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="GET /", deprecation=DeprecationInfo( - replacement="sentry.segment.name", status=DeprecationStatus.NORMALIZE + replacement="sentry.segment.name", + status=DeprecationStatus.NORMALIZE ), - aliases=["sentry.segment.name", "sentry.transaction"], + aliases=["sentry.segment.name","sentry.transaction"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[497], - description="Change deprecation from backfill to normalize", - ), - ChangelogEntry( - version="0.6.0", - prs=[345], - description="Updated transaction deprecation replacement to sentry.segment.name", - ), + ChangelogEntry(version="0.19.0", prs=[497], description="Change deprecation from backfill to normalize"), + ChangelogEntry(version="0.6.0", prs=[345], description="Updated transaction deprecation replacement to sentry.segment.name"), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -27718,49 +24898,44 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The path of the tRPC procedure being called", type=AttributeType.STRING, keys=("trpc.procedure_path",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="user.getById", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[370], - description="Added trpc.procedure_path attribute", - ), + ChangelogEntry(version="0.7.0", prs=[370], description="Added trpc.procedure_path attribute"), ], ), "trpc.procedure_type": AttributeMetadata( brief="The type of the tRPC procedure", type=AttributeType.STRING, keys=("trpc.procedure_type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="query", changelog=[ - ChangelogEntry( - version="0.7.0", - prs=[370], - description="Added trpc.procedure_type attribute", - ), + ChangelogEntry(version="0.7.0", prs=[370], description="Added trpc.procedure_type attribute"), ], ), "ttfb.requestTime": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=( - "browser.web_vital.ttfb.request_time", - "ttfb.requestTime", + keys=("browser.web_vital.ttfb.request_time", "ttfb.requestTime",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1554.5814, deprecation=DeprecationInfo( replacement="browser.web_vital.ttfb.request_time", reason="This attribute is being deprecated in favor of browser.web_vital.ttfb.request_time", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.ttfb.request_time"], changelog=[ @@ -27770,18 +24945,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ttfb": AttributeMetadata( brief="The value of the recorded Time To First Byte (TTFB) web vital in milliseconds", type=AttributeType.DOUBLE, - keys=( - "browser.web_vital.ttfb.value", - "ttfb", + keys=("browser.web_vital.ttfb.value", "ttfb",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=194, deprecation=DeprecationInfo( replacement="browser.web_vital.ttfb.value", reason="This attribute is being deprecated in favor of browser.web_vital.ttfb.value", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["browser.web_vital.ttfb.value"], changelog=[ @@ -27791,11 +24965,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "turbo_module.arch": AttributeMetadata( brief="The React Native architecture the call was observed on. `new` for a TurboModule resolved through `TurboModuleRegistry`, `legacy` for a module reached over the Old Architecture bridge. Only applies to React Native.", type=AttributeType.STRING, - keys=( - "react_native.architecture", - "turbo_module.arch", + keys=("react_native.architecture", "turbo_module.arch",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="new", @@ -27803,27 +24976,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.architecture", reason="Replaced by the `react_native.*` namespace, which also covers native module calls made over the Old Architecture bridge, which are not TurboModules", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["react_native.architecture"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added turbo_module.arch and deprecated it in favor of react_native.architecture", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.arch and deprecated it in favor of react_native.architecture"), ], ), "turbo_module.method": AttributeMetadata( brief="The name of the native module method that was called. Only applies to React Native.", type=AttributeType.STRING, - keys=( - "react_native.module.method", - "turbo_module.method", - ), + keys=("react_native.module.method", "turbo_module.method",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable", + reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -27832,27 +24998,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.method", reason="Replaced by the `react_native.*` namespace, which also covers native module calls made over the Old Architecture bridge, which are not TurboModules", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["react_native.module.method"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added turbo_module.method and deprecated it in favor of react_native.module.method", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.method and deprecated it in favor of react_native.module.method"), ], ), "turbo_module.name": AttributeMetadata( brief="The name of the native module the call was dispatched to. On the New Architecture this is the TurboModule name, on the Old Architecture the `NativeModules` key. Only applies to React Native.", type=AttributeType.STRING, - keys=( - "react_native.module.name", - "turbo_module.name", - ), + keys=("react_native.module.name", "turbo_module.name",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable", + reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -27861,27 +25020,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.name", reason="Replaced by the `react_native.*` namespace, which also covers native module calls made over the Old Architecture bridge, which are not TurboModules", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["react_native.module.name"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added turbo_module.name and deprecated it in favor of react_native.module.name", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.name and deprecated it in favor of react_native.module.name"), ], ), "turbo_module.top_module": AttributeMetadata( brief="The native module and method that accounted for the most total duration during the lifetime of the span. Only applies to React Native.", type=AttributeType.STRING, - keys=( - "react_native.module.top.name", - "turbo_module.top_module", - ), + keys=("react_native.module.top.name", "turbo_module.top_module",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable", + reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -27890,25 +25042,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.top.name", reason="Replaced by the `react_native.module.*` namespace, which also covers native module calls made over the Old Architecture bridge, and which drops the `total_` prefix and `_ms` suffix in favor of dot-separated logical grouping", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["react_native.module.top.name"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added turbo_module.top_module and deprecated it in favor of react_native.module.top.name", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.top_module and deprecated it in favor of react_native.module.top.name"), ], ), "turbo_module.top_module_duration_ms": AttributeMetadata( brief="The total duration attributed to the top native module method, in milliseconds. Only applies to React Native.", type=AttributeType.DOUBLE, - keys=( - "react_native.module.top.duration", - "turbo_module.top_module_duration_ms", + keys=("react_native.module.top.duration", "turbo_module.top_module_duration_ms",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=87.25, @@ -27916,26 +25063,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.top.duration", reason="Replaced by the `react_native.module.*` namespace, which also covers native module calls made over the Old Architecture bridge, and which drops the `total_` prefix and `_ms` suffix in favor of dot-separated logical grouping", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["react_native.module.top.duration"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added turbo_module.top_module_duration_ms and deprecated it in favor of react_native.module.top.duration", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.top_module_duration_ms and deprecated it in favor of react_native.module.top.duration"), ], ), "turbo_module.total_call_count": AttributeMetadata( brief="The number of native module calls observed during the lifetime of the span. Only applies to React Native.", type=AttributeType.INTEGER, - keys=( - "react_native.module.call.count", - "turbo_module.total_call_count", - "turbo_modules.total_call_count", + keys=("react_native.module.call.count", "turbo_module.total_call_count", "turbo_modules.total_call_count",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=42, @@ -27943,26 +25084,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.call.count", reason="Replaced by the `react_native.module.*` namespace, which also covers native module calls made over the Old Architecture bridge, and which drops the `total_` prefix and `_ms` suffix in favor of dot-separated logical grouping", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["react_native.module.call.count", "turbo_modules.total_call_count"], + aliases=["react_native.module.call.count","turbo_modules.total_call_count"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added turbo_module.total_call_count and deprecated it in favor of react_native.module.call.count", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.total_call_count and deprecated it in favor of react_native.module.call.count"), ], ), "turbo_module.total_duration_ms": AttributeMetadata( brief="The combined duration of all native module calls observed during the lifetime of the span, in milliseconds. Only applies to React Native.", type=AttributeType.DOUBLE, - keys=( - "react_native.module.duration.total", - "turbo_module.total_duration_ms", - "turbo_modules.total_duration_ms", + keys=("react_native.module.duration.total", "turbo_module.total_duration_ms", "turbo_modules.total_duration_ms",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=128.45, @@ -27970,29 +25105,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.duration.total", reason="Replaced by the `react_native.module.*` namespace, which also covers native module calls made over the Old Architecture bridge, and which drops the `total_` prefix and `_ms` suffix in favor of dot-separated logical grouping", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=[ - "react_native.module.duration.total", - "turbo_modules.total_duration_ms", - ], + aliases=["react_native.module.duration.total","turbo_modules.total_duration_ms"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added turbo_module.total_duration_ms and deprecated it in favor of react_native.module.duration.total", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.total_duration_ms and deprecated it in favor of react_native.module.duration.total"), ], ), "turbo_module.total_error_count": AttributeMetadata( brief="The number of native module calls that failed during the lifetime of the span. Only applies to React Native.", type=AttributeType.INTEGER, - keys=( - "react_native.module.error.count", - "turbo_module.total_error_count", - "turbo_modules.total_error_count", + keys=("react_native.module.error.count", "turbo_module.total_error_count", "turbo_modules.total_error_count",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, @@ -28000,26 +25126,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.error.count", reason="Replaced by the `react_native.module.*` namespace, which also covers native module calls made over the Old Architecture bridge, and which drops the `total_` prefix and `_ms` suffix in favor of dot-separated logical grouping", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["react_native.module.error.count", "turbo_modules.total_error_count"], + aliases=["react_native.module.error.count","turbo_modules.total_error_count"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added turbo_module.total_error_count and deprecated it in favor of react_native.module.error.count", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.total_error_count and deprecated it in favor of react_native.module.error.count"), ], ), "turbo_module.unique_methods": AttributeMetadata( brief="The number of distinct native module and method pairs called during the lifetime of the span. Only applies to React Native.", type=AttributeType.INTEGER, - keys=( - "react_native.module.call.distinct_count", - "turbo_module.unique_methods", - "turbo_modules.unique_methods", + keys=("react_native.module.call.distinct_count", "turbo_module.unique_methods", "turbo_modules.unique_methods",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=7, @@ -28027,29 +25147,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.call.distinct_count", reason="Replaced by the `react_native.module.*` namespace, which also covers native module calls made over the Old Architecture bridge, and which drops the `total_` prefix and `_ms` suffix in favor of dot-separated logical grouping", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=[ - "react_native.module.call.distinct_count", - "turbo_modules.unique_methods", - ], + aliases=["react_native.module.call.distinct_count","turbo_modules.unique_methods"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added turbo_module.unique_methods and deprecated it in favor of react_native.module.call.distinct_count", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.unique_methods and deprecated it in favor of react_native.module.call.distinct_count"), ], ), "turbo_modules.total_call_count": AttributeMetadata( brief="The number of native module calls in the flushed call aggregate. Only applies to React Native.", type=AttributeType.INTEGER, - keys=( - "react_native.module.call.count", - "turbo_module.total_call_count", - "turbo_modules.total_call_count", + keys=("react_native.module.call.count", "turbo_module.total_call_count", "turbo_modules.total_call_count",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=42, @@ -28057,26 +25168,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.call.count", reason="Replaced by the `react_native.module.*` namespace; the SDK emitted the same values under both a singular `turbo_module.*` and a plural `turbo_modules.*` prefix", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["react_native.module.call.count", "turbo_module.total_call_count"], + aliases=["react_native.module.call.count","turbo_module.total_call_count"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added turbo_modules.total_call_count and deprecated it in favor of react_native.module.call.count", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_modules.total_call_count and deprecated it in favor of react_native.module.call.count"), ], ), "turbo_modules.total_duration_ms": AttributeMetadata( brief="The combined duration of all native module calls in the flushed call aggregate, in milliseconds. Only applies to React Native.", type=AttributeType.DOUBLE, - keys=( - "react_native.module.duration.total", - "turbo_module.total_duration_ms", - "turbo_modules.total_duration_ms", + keys=("react_native.module.duration.total", "turbo_module.total_duration_ms", "turbo_modules.total_duration_ms",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=128.45, @@ -28084,29 +25189,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.duration.total", reason="Replaced by the `react_native.module.*` namespace; the SDK emitted the same values under both a singular `turbo_module.*` and a plural `turbo_modules.*` prefix", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=[ - "react_native.module.duration.total", - "turbo_module.total_duration_ms", - ], + aliases=["react_native.module.duration.total","turbo_module.total_duration_ms"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added turbo_modules.total_duration_ms and deprecated it in favor of react_native.module.duration.total", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_modules.total_duration_ms and deprecated it in favor of react_native.module.duration.total"), ], ), "turbo_modules.total_error_count": AttributeMetadata( brief="The number of failed native module calls in the flushed call aggregate. Only applies to React Native.", type=AttributeType.INTEGER, - keys=( - "react_native.module.error.count", - "turbo_module.total_error_count", - "turbo_modules.total_error_count", + keys=("react_native.module.error.count", "turbo_module.total_error_count", "turbo_modules.total_error_count",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, @@ -28114,26 +25210,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.error.count", reason="Replaced by the `react_native.module.*` namespace; the SDK emitted the same values under both a singular `turbo_module.*` and a plural `turbo_modules.*` prefix", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["react_native.module.error.count", "turbo_module.total_error_count"], + aliases=["react_native.module.error.count","turbo_module.total_error_count"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added turbo_modules.total_error_count and deprecated it in favor of react_native.module.error.count", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_modules.total_error_count and deprecated it in favor of react_native.module.error.count"), ], ), "turbo_modules.unique_methods": AttributeMetadata( brief="The number of distinct native module and method pairs in the flushed call aggregate. Only applies to React Native.", type=AttributeType.INTEGER, - keys=( - "react_native.module.call.distinct_count", - "turbo_module.unique_methods", - "turbo_modules.unique_methods", + keys=("react_native.module.call.distinct_count", "turbo_module.unique_methods", "turbo_modules.unique_methods",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=7, @@ -28141,25 +25231,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.call.distinct_count", reason="Replaced by the `react_native.module.*` namespace; the SDK emitted the same values under both a singular `turbo_module.*` and a plural `turbo_modules.*` prefix", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=[ - "react_native.module.call.distinct_count", - "turbo_module.unique_methods", - ], + aliases=["react_native.module.call.distinct_count","turbo_module.unique_methods"], changelog=[ - ChangelogEntry( - version="0.24.0", - prs=[564], - description="Added turbo_modules.unique_methods and deprecated it in favor of react_native.module.call.distinct_count", - ), + ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_modules.unique_methods and deprecated it in favor of react_native.module.call.distinct_count"), ], ), "type": AttributeMetadata( brief="More granular type of the operation happening.", type=AttributeType.STRING, keys=("type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="fetch", @@ -28171,7 +25256,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name of the associated component.", type=AttributeType.STRING, keys=("ui.component_name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="HomeButton", @@ -28184,7 +25271,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the span execution contributed to the TTFD (time to fully drawn) metric.", type=AttributeType.BOOLEAN, keys=("ui.contributes_to_ttfd",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -28196,7 +25285,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the span execution contributed to the TTID (time to initial display) metric.", type=AttributeType.BOOLEAN, keys=("ui.contributes_to_ttid",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -28208,147 +25299,135 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The height of the UI element (for Html in pixels)", type=AttributeType.INTEGER, keys=("ui.element.height",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=256, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[284], - description="Added ui.element.height attribute", - ), + ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.height attribute"), ], ), "ui.element.id": AttributeMetadata( brief="The id of the UI element", type=AttributeType.STRING, keys=("ui.element.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="btn-login", changelog=[ - ChangelogEntry( - version="0.5.0", prs=[284], description="Added ui.element.id attribute" - ), + ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.id attribute"), ], ), "ui.element.identifier": AttributeMetadata( brief="The identifier used to measure the UI element timing", type=AttributeType.STRING, keys=("ui.element.identifier",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="heroImage", changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[284], - description="Added ui.element.identifier attribute", - ), + ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.identifier attribute"), ], ), "ui.element.load_time": AttributeMetadata( brief="The loading time of a UI element (from time origin to finished loading)", type=AttributeType.DOUBLE, keys=("ui.element.load_time",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=998.2234, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[284], - description="Added ui.element.load_time attribute", - ), + ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.load_time attribute"), ], ), "ui.element.paint_type": AttributeMetadata( brief="The type of element paint. Can either be 'image-paint' or 'text-paint'", type=AttributeType.STRING, keys=("ui.element.paint_type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="image-paint", changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[284], - description="Added ui.element.paint_type attribute", - ), + ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.paint_type attribute"), ], ), "ui.element.render_time": AttributeMetadata( brief="The rendering time of the UI element (from time origin to finished rendering)", type=AttributeType.DOUBLE, keys=("ui.element.render_time",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1023.1124, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[284], - description="Added ui.element.render_time attribute", - ), + ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.render_time attribute"), ], ), "ui.element.type": AttributeMetadata( brief="type of the UI element", type=AttributeType.STRING, keys=("ui.element.type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="img", changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[284], - description="Added ui.element.type attribute", - ), + ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.type attribute"), ], ), "ui.element.url": AttributeMetadata( brief="The URL of the UI element (e.g. an img src)", type=AttributeType.STRING, keys=("ui.element.url",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://assets.myapp.com/hero.png", changelog=[ - ChangelogEntry( - version="0.5.0", prs=[284], description="Added ui.element.url attribute" - ), + ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.url attribute"), ], ), "ui.element.width": AttributeMetadata( brief="The width of the UI element (for HTML in pixels)", type=AttributeType.INTEGER, keys=("ui.element.width",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=512, changelog=[ - ChangelogEntry( - version="0.5.0", - prs=[284], - description="Added ui.element.width attribute", - ), + ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.width attribute"), ], ), "url.domain": AttributeMetadata( brief="Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.", type=AttributeType.STRING, keys=("url.domain",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", @@ -28361,7 +25440,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The fragments present in the URI. Note that this does not contain the leading # character, while the `http.fragment` attribute does.", type=AttributeType.STRING, keys=("url.fragment",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="details", @@ -28372,29 +25453,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "url.full": AttributeMetadata( brief="The URL of the resource that was fetched.", type=AttributeType.STRING, - keys=( - "url.full", - "aws.request.url", - "http.url", - "messaging.url", - "url", + keys=("url.full", "aws.request.url", "http.url", "messaging.url", "url",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="https://example.com/test?foo=bar#buzz", - aliases=["http.url", "url", "aws.request.url", "messaging.url"], - changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.url as an alias", - ), - ChangelogEntry( - version="0.19.0", - prs=[488], - description="Added aws.request.url as an alias", - ), + aliases=["http.url","url","aws.request.url","messaging.url"], + changelog=[ + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.url as an alias"), + ChangelogEntry(version="0.19.0", prs=[488], description="Added aws.request.url as an alias"), ChangelogEntry(version="0.1.0", prs=[108]), ChangelogEntry(version="0.0.0"), ], @@ -28403,7 +25472,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The URI path component.", type=AttributeType.STRING, keys=("url.path",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="/foo", @@ -28414,35 +25485,27 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "url.path.parameter.": AttributeMetadata( brief="Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.", type=AttributeType.STRING, - keys=( - "url.path.parameter.", - "params.", - "url.path.params.", + keys=("url.path.parameter.", "params.", "url.path.params.",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="url.path.parameter.id='123'", - aliases=["params.", "url.path.params."], + aliases=["params.","url.path.params."], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[586], - description="Added url.path.params. as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[586], description="Added url.path.params. as an alias"), ChangelogEntry(version="0.1.0", prs=[103]), ], ), "url.path.params.": AttributeMetadata( brief="Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.", type=AttributeType.STRING, - keys=( - "url.path.parameter.", - "params.", - "url.path.params.", + keys=("url.path.parameter.", "params.", "url.path.params.",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -28451,22 +25514,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="url.path.parameter.", reason="This attribute is being deprecated in favor of url.path.parameter..", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), - aliases=["url.path.parameter.", "params."], + aliases=["url.path.parameter.","params."], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[586], - description="Added url.path.params. attribute", - ), + ChangelogEntry(version="0.21.0", prs=[586], description="Added url.path.params. attribute"), ], ), "url.port": AttributeMetadata( brief="Server port number.", type=AttributeType.INTEGER, keys=("url.port",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=1337, @@ -28481,7 +25542,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("url.query",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.", + reason="Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information." ), is_in_otel=True, visibility=Visibility.PUBLIC, @@ -28493,36 +25554,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "url.same_origin": AttributeMetadata( brief="Indicates that a URL has the same origin as the current page's origin in the browser.", type=AttributeType.BOOLEAN, - keys=( - "http.request.same_origin", - "url.same_origin", + keys=("http.request.same_origin", "url.same_origin",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, deprecation=DeprecationInfo( replacement="http.request.same_origin", reason="This attribute is being deprecated in favor of http.request.same_origin.", - status=DeprecationStatus.BACKFILL, + status=DeprecationStatus.BACKFILL ), aliases=["http.request.same_origin"], changelog=[ - ChangelogEntry( - version="0.16.0", - prs=[456], - description="Added url.same_origin attribute, deprecated in favor of http.request.same_origin", - ), + ChangelogEntry(version="0.16.0", prs=[456], description="Added url.same_origin attribute, deprecated in favor of http.request.same_origin"), ], ), "url.scheme": AttributeMetadata( brief="The URI scheme component identifying the used protocol.", type=AttributeType.STRING, - keys=( - "url.scheme", - "http.scheme", + keys=("url.scheme", "http.scheme",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="https", @@ -28536,49 +25591,37 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The low-cardinality template of an absolute URL path reference.", type=AttributeType.STRING, keys=("url.template",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="/users/{id}", examples=["/users/{id}", "/users/:id", "/about"], changelog=[ - ChangelogEntry( - version="0.19.0", - prs=[505, 521], - description="Added multiple examples, removed alias to `http.route`, added additional context", - ), + ChangelogEntry(version="0.19.0", prs=[505, 521], description="Added multiple examples, removed alias to `http.route`, added additional context"), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], - additional_context=[ - "This attribute should primarily be set by client-side routing instrumentation, or `http.client` spans (if applicable).", - "Use `http.route` for server-side instrumentation that captures the framework route of an incoming request.", - ], + additional_context=["This attribute should primarily be set by client-side routing instrumentation, or `http.client` spans (if applicable).","Use `http.route` for server-side instrumentation that captures the framework route of an incoming request."], ), "url": AttributeMetadata( brief="The URL of the resource that was fetched.", type=AttributeType.STRING, - keys=( - "url.full", - "aws.request.url", - "http.url", - "messaging.url", - "url", + keys=("url.full", "aws.request.url", "http.url", "messaging.url", "url",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://example.com/test?foo=bar#buzz", deprecation=DeprecationInfo( - replacement="url.full", status=DeprecationStatus.BACKFILL + replacement="url.full", + status=DeprecationStatus.BACKFILL ), - aliases=["url.full", "http.url", "aws.request.url", "messaging.url"], + aliases=["url.full","http.url","aws.request.url","messaging.url"], changelog=[ - ChangelogEntry( - version="0.21.0", - prs=[581], - description="Added messaging.url as an alias", - ), + ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.url as an alias"), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], @@ -28586,11 +25629,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.email": AttributeMetadata( brief="User email address.", type=AttributeType.STRING, - keys=( - "user.email", - "sentry.user.email", + keys=("user.email", "sentry.user.email",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="test@example.com", @@ -28603,7 +25645,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="User's full name.", type=AttributeType.STRING, keys=("user.full_name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="John Smith", @@ -28614,11 +25658,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.geo.city": AttributeMetadata( brief="Human readable city name.", type=AttributeType.STRING, - keys=( - "user.geo.city", - "sentry.user.geo.city", + keys=("user.geo.city", "sentry.user.geo.city",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Toronto", @@ -28630,11 +25673,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.geo.country_code": AttributeMetadata( brief="Two-letter country code (ISO 3166-1 alpha-2).", type=AttributeType.STRING, - keys=( - "user.geo.country_code", - "sentry.user.geo.country_code", + keys=("user.geo.country_code", "sentry.user.geo.country_code",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="CA", @@ -28646,11 +25688,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.geo.region": AttributeMetadata( brief="Human readable region name or code.", type=AttributeType.STRING, - keys=( - "user.geo.region", - "sentry.user.geo.region", + keys=("user.geo.region", "sentry.user.geo.region",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Canada", @@ -28662,11 +25703,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.geo.subdivision": AttributeMetadata( brief="Human readable subdivision name.", type=AttributeType.STRING, - keys=( - "user.geo.subdivision", - "sentry.user.geo.subdivision", + keys=("user.geo.subdivision", "sentry.user.geo.subdivision",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Ontario", @@ -28679,7 +25719,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Unique user hash to correlate information for a user in anonymized form.", type=AttributeType.STRING, keys=("user.hash",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, example="8ae4c2993e0f4f3b8b2d1b1f3b5e8f4d", @@ -28690,11 +25732,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.id": AttributeMetadata( brief="Unique identifier of the user.", type=AttributeType.STRING, - keys=( - "user.id", - "sentry.user.id", + keys=("user.id", "sentry.user.id",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="S-1-5-21-202424912787-2692429404-2351956786-1000", @@ -28706,12 +25747,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.ip_address": AttributeMetadata( brief="The IP address of the user.", type=AttributeType.STRING, - keys=( - "user.ip_address", - "sentry.user.ip", - "user.ip", + keys=("user.ip_address", "sentry.user.ip", "user.ip",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="192.168.1.1", @@ -28723,12 +25762,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.name": AttributeMetadata( brief="Short name or login/username of the user.", type=AttributeType.STRING, - keys=( - "user.name", - "sentry.user.username", - "user.username", + keys=("user.name", "sentry.user.username", "user.username",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="j.smith", @@ -28741,7 +25778,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Array of user roles at the time of the event.", type=AttributeType.STRING_ARRAY, keys=("user.roles",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=True, visibility=Visibility.PUBLIC, example=["admin", "editor"], @@ -28752,11 +25791,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user_agent.original": AttributeMetadata( brief="Value of the HTTP User-Agent header sent by the client.", type=AttributeType.STRING, - keys=( - "user_agent.original", - "http.user_agent", + keys=("user_agent.original", "http.user_agent",), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL ), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=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", @@ -28772,7 +25810,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("vercel.ai.telemetry.metadata.",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Metadata is user-defined and can contain user data", + reason="Metadata is user-defined and can contain user data" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -28780,24 +25818,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): example="vercel.ai.telemetry.metadata.tenantId='acme'", examples=["vercel.ai.telemetry.metadata.tenantId='acme'"], changelog=[ - ChangelogEntry( - version="0.26.0", - prs=[662], - description="Added vercel.ai.telemetry.metadata. attribute", - ), - ], - additional_context=[ - "Set on `gen_ai` spans for `invoke_agent`, `generate_content` and `embeddings` operations. Not set on `execute_tool` spans.", - "The Vercel AI SDK's own OpenTelemetry spans emit the same data as `ai.telemetry.metadata.`.", - "The Vercel AI SDK also allows numbers, booleans and arrays as metadata values. SDKs MUST convert these values to strings.", - "This attribute is open-ended on purpose. The Vercel AI SDK does not define the metadata keys. If Vercel defines a stricter spec for this metadata, consider moving it into `gen_ai.*` attributes.", + ChangelogEntry(version="0.26.0", prs=[662], description="Added vercel.ai.telemetry.metadata. attribute"), ], + additional_context=["Set on `gen_ai` spans for `invoke_agent`, `generate_content` and `embeddings` operations. Not set on `execute_tool` spans.","The Vercel AI SDK's own OpenTelemetry spans emit the same data as `ai.telemetry.metadata.`.","The Vercel AI SDK also allows numbers, booleans and arrays as metadata values. SDKs MUST convert these values to strings.","This attribute is open-ended on purpose. The Vercel AI SDK does not define the metadata keys. If Vercel defines a stricter spec for this metadata, consider moving it into `gen_ai.*` attributes."], ), "vercel.branch": AttributeMetadata( brief="Git branch name for Vercel project", type=AttributeType.STRING, keys=("vercel.branch",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="main", @@ -28809,7 +25840,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Identifier for the Vercel build (only present on build logs)", type=AttributeType.STRING, keys=("vercel.build_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="bld_cotnkcr76", @@ -28821,7 +25854,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Identifier for the Vercel deployment", type=AttributeType.STRING, keys=("vercel.deployment_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="dpl_233NRGRjVZX1caZrXWtz5g1TAksD", @@ -28833,7 +25868,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Origin of the external content in Vercel (only on external logs)", type=AttributeType.STRING, keys=("vercel.destination",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://vitals.vercel-insights.com/v1", @@ -28845,7 +25882,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Type of edge runtime in Vercel", type=AttributeType.STRING, keys=("vercel.edge_type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="edge-function", @@ -28857,7 +25896,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Entrypoint for the request in Vercel", type=AttributeType.STRING, keys=("vercel.entrypoint",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="api/index.js", @@ -28869,7 +25910,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Region where the request is executed", type=AttributeType.STRING, keys=("vercel.execution_region",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="sfo1", @@ -28881,7 +25924,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Unique identifier for the log entry in Vercel", type=AttributeType.STRING, keys=("vercel.id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="1573817187330377061717300000", @@ -28893,7 +25938,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="JA3 fingerprint digest of Vercel request", type=AttributeType.STRING, keys=("vercel.ja3_digest",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="769,47-53-5-10-49161-49162-49171-49172-50-56-19-4,0-10-11,23-24-25,0", @@ -28905,7 +25952,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="JA4 fingerprint digest", type=AttributeType.STRING, keys=("vercel.ja4_digest",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="t13d1516h2_8daaf6152771_02713d6af862", @@ -28917,7 +25966,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Vercel log output type", type=AttributeType.STRING, keys=("vercel.log_type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="stdout", @@ -28929,21 +25980,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Function or dynamic path of the request in Vercel.", type=AttributeType.STRING, keys=("vercel.path",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="/dynamic/[route].json", changelog=[ - ChangelogEntry( - version="0.6.0", prs=[349], description="Added vercel.path attribute" - ), + ChangelogEntry(version="0.6.0", prs=[349], description="Added vercel.path attribute"), ], ), "vercel.project_id": AttributeMetadata( brief="Identifier for the Vercel project", type=AttributeType.STRING, keys=("vercel.project_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="gdufoJxB6b9b1fEqr1jUtFkyavUU", @@ -28955,7 +26008,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the Vercel project", type=AttributeType.STRING, keys=("vercel.project_name",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="my-app", @@ -28967,7 +26022,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Original request ID when request is served from cache", type=AttributeType.STRING, keys=("vercel.proxy.cache_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="pdx1::v8g4b-1744143786684-93dafbc0f70d", @@ -28979,7 +26036,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Client IP address", type=AttributeType.STRING, keys=("vercel.proxy.client_ip",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="120.75.16.101", @@ -28991,7 +26050,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Hostname of the request", type=AttributeType.STRING, keys=("vercel.proxy.host",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="test.vercel.app", @@ -29003,7 +26064,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Region where lambda function executed", type=AttributeType.STRING, keys=("vercel.proxy.lambda_region",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="sfo1", @@ -29015,7 +26078,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="HTTP method of the request", type=AttributeType.STRING, keys=("vercel.proxy.method",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="GET", @@ -29027,7 +26092,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Request path with query parameters", type=AttributeType.STRING, keys=("vercel.proxy.path",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="/dynamic/some-value.json?route=some-value", @@ -29039,7 +26106,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="How the request was served based on its path and project configuration", type=AttributeType.STRING, keys=("vercel.proxy.path_type",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="func", @@ -29051,7 +26120,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Variant of the path type", type=AttributeType.STRING, keys=("vercel.proxy.path_type_variant",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="api", @@ -29063,7 +26134,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Referer of the request", type=AttributeType.STRING, keys=("vercel.proxy.referer",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.AUTO + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="*.vercel.app", @@ -29075,7 +26148,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Region where the request is processed", type=AttributeType.STRING, keys=("vercel.proxy.region",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="sfo1", @@ -29087,7 +26162,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Size of the response in bytes", type=AttributeType.INTEGER, keys=("vercel.proxy.response_byte_size",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1024, @@ -29100,7 +26177,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Protocol of the request", type=AttributeType.STRING, keys=("vercel.proxy.scheme",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="https", @@ -29112,7 +26191,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="HTTP status code of the proxy request", type=AttributeType.INTEGER, keys=("vercel.proxy.status_code",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=200, @@ -29125,7 +26206,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Unix timestamp when the proxy request was made", type=AttributeType.INTEGER, keys=("vercel.proxy.timestamp",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=1573817250172, @@ -29138,7 +26221,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="User agent strings of the request", type=AttributeType.STRING_ARRAY, keys=("vercel.proxy.user_agent",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=["Mozilla/5.0..."], @@ -29150,7 +26235,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Cache status sent to the browser", type=AttributeType.STRING, keys=("vercel.proxy.vercel_cache",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="REVALIDATED", @@ -29162,7 +26249,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Vercel-specific identifier", type=AttributeType.STRING, keys=("vercel.proxy.vercel_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="sfo1::abc123", @@ -29174,7 +26263,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Action taken by firewall rules", type=AttributeType.STRING, keys=("vercel.proxy.waf_action",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="deny", @@ -29186,7 +26277,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="ID of the firewall rule that matched", type=AttributeType.STRING, keys=("vercel.proxy.waf_rule_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="rule_gAHz8jtSB1Gy", @@ -29198,7 +26291,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Identifier of the Vercel request", type=AttributeType.STRING, keys=("vercel.request_id",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="643af4e3-975a-4cc7-9e7a-1eda11539d90", @@ -29210,7 +26305,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Origin of the Vercel log (build, edge, lambda, static, external, or firewall)", type=AttributeType.STRING, keys=("vercel.source",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example="build", @@ -29222,7 +26319,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="HTTP status code of the request (-1 means no response returned and the lambda crashed)", type=AttributeType.INTEGER, keys=("vercel.status_code",), - apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), + apply_scrubbing=ApplyScrubbingInfo( + key=ApplyScrubbing.MANUAL + ), is_in_otel=False, visibility=Visibility.PUBLIC, example=200, @@ -29238,918 +26337,914 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): If a key is not present in this dictionary, it means that attribute is not defined in the Sentry Semantic Conventions. """ -Attributes = TypedDict( - "Attributes", - { - "address": str, - "ai.citations": List[str], - "ai.completion_tokens.used": int, - "ai.documents": List[str], - "ai.finish_reason": str, - "ai.frequency_penalty": float, - "ai.function_call": str, - "ai.generation_id": str, - "ai.input_messages": str, - "ai.is_search_required": bool, - "ai.metadata": str, - "ai.model.id": str, - "ai.model.provider": str, - "ai.model_id": str, - "ai.pipeline.name": str, - "ai.preamble": str, - "ai.presence_penalty": float, - "ai.prompt": str, - "ai.prompt.messages": str, - "ai.prompt.tools": List[str], - "ai.prompt_tokens.used": int, - "ai.raw_prompting": bool, - "ai.response.id": str, - "ai.response.model": str, - "ai.response.object": str, - "ai.response.text": str, - "ai.response.timestamp": str, - "ai.response.toolCalls": str, - "ai.response_format": str, - "ai.responses": List[str], - "ai.schema": str, - "ai.search_queries": List[str], - "ai.search_results": List[str], - "ai.seed": str, - "ai.streaming": bool, - "ai.tags": str, - "ai.temperature": float, - "ai.texts": List[str], - "ai.toolCall.args": str, - "ai.toolCall.result": str, - "ai.tool_calls": List[str], - "ai.tools": List[str], - "ai.top_k": int, - "ai.top_p": float, - "ai.total_cost": float, - "ai.total_tokens.used": int, - "ai.usage.tokens": int, - "ai.values": str, - "ai.warnings": List[str], - "angular.version": str, - "anthropic.tool_result.content": str, - "app.app_build": str, - "app.app_identifier": str, - "app.app_name": str, - "app.app_start_time": str, - "app.app_version": str, - "app.build": str, - "app.identifier": str, - "app.in_foreground": bool, - "app.name": str, - "app.start_time": str, - "app.version": str, - "app.vitals.frames.delay.value": int, - "app.vitals.frames.frozen.count": int, - "app.vitals.frames.frozen.rate": float, - "app.vitals.frames.slow.count": int, - "app.vitals.frames.slow.rate": float, - "app.vitals.frames.total.count": int, - "app.vitals.stall.duration": float, - "app.vitals.stall.percentage": float, - "app.vitals.start.cold.value": float, - "app.vitals.start.prewarmed": bool, - "app.vitals.start.reason": str, - "app.vitals.start.screen": str, - "app.vitals.start.type": str, - "app.vitals.start.warm.value": float, - "app.vitals.ttfd.value": float, - "app.vitals.ttid.value": float, - "app_start_cold": float, - "app_start_type": str, - "app_start_warm": float, - "art.gc.blocking_count": int, - "art.gc.blocking_time": float, - "art.gc.pre_oome_count": int, - "art.gc.total_count": int, - "art.gc.total_time": float, - "art.gc.waiting_time": float, - "art.memory.free": int, - "art.memory.free_until_gc": int, - "art.memory.free_until_oome": int, - "art.memory.max": int, - "art.memory.total": int, - "aws.cloudwatch.logs.log_group": str, - "aws.cloudwatch.logs.log_stream": str, - "aws.cloudwatch.logs.url": str, - "aws.dynamodb.attribute_definitions": List[str], - "aws.dynamodb.attributes_to_get": List[str], - "aws.dynamodb.consistent_read": bool, - "aws.dynamodb.consumed_capacity": List[str], - "aws.dynamodb.count": int, - "aws.dynamodb.exclusive_start_table": str, - "aws.dynamodb.global_secondary_index_updates": List[str], - "aws.dynamodb.global_secondary_indexes": List[str], - "aws.dynamodb.index_name": str, - "aws.dynamodb.item_collection_metrics": str, - "aws.dynamodb.limit": int, - "aws.dynamodb.local_secondary_indexes": List[str], - "aws.dynamodb.projection": str, - "aws.dynamodb.provisioned_read_capacity": float, - "aws.dynamodb.provisioned_write_capacity": float, - "aws.dynamodb.scan_forward": bool, - "aws.dynamodb.scanned_count": int, - "aws.dynamodb.segment": int, - "aws.dynamodb.select": str, - "aws.dynamodb.table_count": int, - "aws.dynamodb.table_names": List[str], - "aws.dynamodb.total_segments": int, - "aws.extended_request_id": str, - "aws.kinesis.stream.name": str, - "aws.kinesis.stream_name": str, - "aws.lambda.aws_request_id": str, - "aws.lambda.execution_duration_in_millis": float, - "aws.lambda.function_name": str, - "aws.lambda.function_version": str, - "aws.lambda.invoked_arn": str, - "aws.lambda.invoked_function_arn": str, - "aws.lambda.remaining_time_in_millis": float, - "aws.log.group.names": List[str], - "aws.log.stream.names": List[str], - "aws.operation_name": str, - "aws.request.extended_id": str, - "aws.request.id": str, - "aws.request.url": str, - "aws.request_id": str, - "aws.s3.bucket": str, - "aws.s3.copy_source": str, - "aws.s3.delete": str, - "aws.s3.key": str, - "aws.s3.part_number": int, - "aws.s3.upload_id": str, - "aws.secretsmanager.secret.arn": str, - "aws.sns.topic.arn": str, - "aws.sqs.queue.url": str, - "aws.step_functions.activity.arn": str, - "aws.step_functions.execution.arn": str, - "aws.step_functions.state_machine.arn": str, - "aws_region": str, - "blocked_main_thread": bool, - "browser.bfcache.frame": str, - "browser.bfcache.not_restored_reason_count": int, - "browser.bfcache.outcome": str, - "browser.bfcache.reason": str, - "browser.name": str, - "browser.navigation.id": int, - "browser.navigation.type": str, - "browser.paint.type": str, - "browser.performance.navigation.activation_start": float, - "browser.performance.time_origin": float, - "browser.report.type": str, - "browser.script.invoker": str, - "browser.script.invoker_type": str, - "browser.script.source_char_position": int, - "browser.version": str, - "browser.web_vital.cls.report_event": str, - "browser.web_vital.cls.source.": str, - "browser.web_vital.cls.value": float, - "browser.web_vital.fcp.value": float, - "browser.web_vital.fp.value": float, - "browser.web_vital.inp.interaction_type": str, - "browser.web_vital.inp.target": str, - "browser.web_vital.inp.value": float, - "browser.web_vital.lcp.element": str, - "browser.web_vital.lcp.id": str, - "browser.web_vital.lcp.load_time": int, - "browser.web_vital.lcp.render_time": int, - "browser.web_vital.lcp.report_event": str, - "browser.web_vital.lcp.size": int, - "browser.web_vital.lcp.url": str, - "browser.web_vital.lcp.value": float, - "browser.web_vital.ttfb.request_time": float, - "browser.web_vital.ttfb.value": float, - "cache.hit": bool, - "cache.item_age": int, - "cache.item_size": int, - "cache.key": List[str], - "cache.operation": str, - "cache.tags": List[str], - "cache.ttl": int, - "cache.write": bool, - "channel": str, - "client.address": str, - "client.port": int, - "cloud.account.id": str, - "cloud.availability_zone": str, - "cloud.platform": str, - "cloud.provider": str, - "cloud.region": str, - "cloud.resource_id": str, - "cloudflare.d1.duration": int, - "cloudflare.d1.query_type": str, - "cloudflare.d1.rows_read": int, - "cloudflare.d1.rows_written": int, - "cloudflare.durable_object.query.bindings": int, - "cloudflare.durable_object.response.rows_read": int, - "cloudflare.durable_object.response.rows_written": int, - "cloudflare.r2.bucket": str, - "cloudflare.r2.operation": str, - "cloudflare.r2.request.delimiter": str, - "cloudflare.r2.request.key": str, - "cloudflare.r2.request.part_number": int, - "cloudflare.r2.request.prefix": str, - "cloudflare.workflow.attempt": int, - "cloudflare.workflow.retries.backoff": str, - "cloudflare.workflow.retries.delay": str, - "cloudflare.workflow.retries.limit": int, - "cloudflare.workflow.timeout": str, - "cls.source.": str, - "cls": float, - "code.file.path": str, - "code.filepath": str, - "code.function": str, - "code.function.name": str, - "code.line.number": int, - "code.lineno": int, - "code.namespace": str, - "code": str, - "connection.rtt": int, - "connectionType": str, - "culture.calendar": str, - "culture.display_name": str, - "culture.is_24_hour_format": bool, - "culture.locale": str, - "culture.timezone": str, - "db.collection.name": str, - "db.connection_string": str, - "db.driver.name": str, - "db.mongodb.collection": str, - "db.name": str, - "db.namespace": str, - "db.operation": str, - "db.operation.batch.size": int, - "db.operation.name": str, - "db.params": str, - "db.query.parameter.": str, - "db.query.summary": str, - "db.query.text": str, - "db.redis.connection": str, - "db.redis.key": str, - "db.redis.parameters": List[str], - "db.response.status_code": str, - "db.sql.bindings": List[str], - "db.statement": str, - "db.stored_procedure.name": str, - "db.system": str, - "db.system.name": str, - "db.user": str, - "device.archs": List[str], - "device.battery_level": float, - "device.battery_temperature": float, - "device.boot_time": str, - "device.brand": str, - "device.charging": bool, - "device.chipset": str, - "device.class": str, - "device.connection_type": str, - "device.cpu_description": str, - "device.external_free_storage": int, - "device.external_storage_size": int, - "device.family": str, - "device.free_memory": int, - "device.free_storage": int, - "device.id": str, - "device.locale": str, - "device.low_memory": bool, - "device.low_power_mode": bool, - "device.manufacturer": str, - "device.memory.estimated_capacity": int, - "device.memory_size": int, - "device.model": str, - "device.model_id": str, - "device.name": str, - "device.online": bool, - "device.orientation": str, - "device.processor_count": int, - "device.processor_frequency": float, - "device.screen_density": float, - "device.screen_dpi": int, - "device.screen_height_pixels": int, - "device.screen_width_pixels": int, - "device.simulator": bool, - "device.storage_size": int, - "device.thermal_state": str, - "device.timezone": str, - "device.usable_memory": int, - "deviceMemory": str, - "dist": str, - "django.function_name": str, - "django.middleware_name": str, - "effectiveConnectionType": str, - "environment": str, - "error.type": str, - "event.id": int, - "event.name": str, - "exception.escaped": bool, - "exception.message": str, - "exception.stacktrace": str, - "exception.type": str, - "faas.coldstart": bool, - "faas.cron": str, - "faas.duration_in_ms": int, - "faas.entry_point": str, - "faas.execution": str, - "faas.id": str, - "faas.identity": str, - "faas.invocation_id": str, - "faas.invoked_name": str, - "faas.invoked_provider": str, - "faas.invoked_region": str, - "faas.name": str, - "faas.time": str, - "faas.trigger": str, - "faas.version": str, - "fcp": float, - "file.path": str, - "file.size": int, - "flag.evaluation.": bool, - "fp": float, - "frames.delay": int, - "frames.frozen": int, - "frames.slow": int, - "frames.total": int, - "frames_frozen_rate": float, - "frames_slow_rate": float, - "fs_error": str, - "gcp.function.context.event_id": str, - "gcp.function.context.event_type": str, - "gcp.function.context.id": str, - "gcp.function.context.resource": str, - "gcp.function.context.source": str, - "gcp.function.context.specversion": str, - "gcp.function.context.time": str, - "gcp.function.context.timestamp": str, - "gcp.function.context.type": str, - "gcp.project.id": str, - "gcp_region": str, - "gen_ai.agent.name": str, - "gen_ai.context.utilization": float, - "gen_ai.context.window_size": int, - "gen_ai.conversation.id": str, - "gen_ai.cost.cache_creation.input_tokens": float, - "gen_ai.cost.cache_read.input_tokens": float, - "gen_ai.cost.input_tokens": float, - "gen_ai.cost.output_tokens": float, - "gen_ai.cost.reasoning.output_tokens": float, - "gen_ai.cost.total_tokens": float, - "gen_ai.embeddings.input": str, - "gen_ai.function_id": str, - "gen_ai.input.messages": str, - "gen_ai.memory.query.text": str, - "gen_ai.memory.record.count": int, - "gen_ai.memory.record.id": str, - "gen_ai.memory.records": str, - "gen_ai.memory.store.id": str, - "gen_ai.operation.name": str, - "gen_ai.operation.type": str, - "gen_ai.output.messages": str, - "gen_ai.pipeline.name": str, - "gen_ai.prompt": str, - "gen_ai.prompt.name": str, - "gen_ai.prompt.variable.": str, - "gen_ai.provider.name": str, - "gen_ai.request.available_tools": str, - "gen_ai.request.frequency_penalty": float, - "gen_ai.request.max_tokens": int, - "gen_ai.request.messages": str, - "gen_ai.request.model": str, - "gen_ai.request.presence_penalty": float, - "gen_ai.request.reasoning.level": str, - "gen_ai.request.schema": str, - "gen_ai.request.seed": str, - "gen_ai.request.stop_sequences": List[str], - "gen_ai.request.temperature": float, - "gen_ai.request.top_k": int, - "gen_ai.request.top_p": float, - "gen_ai.response.finish_reason": str, - "gen_ai.response.finish_reasons": str, - "gen_ai.response.id": str, - "gen_ai.response.model": str, - "gen_ai.response.object": str, - "gen_ai.response.streaming": bool, - "gen_ai.response.text": str, - "gen_ai.response.time_to_first_chunk": float, - "gen_ai.response.time_to_first_token": float, - "gen_ai.response.tokens_per_second": float, - "gen_ai.response.tool_calls": str, - "gen_ai.system": str, - "gen_ai.system.message": str, - "gen_ai.system_instructions": str, - "gen_ai.tool.call.arguments": str, - "gen_ai.tool.call.result": str, - "gen_ai.tool.definitions": str, - "gen_ai.tool.description": str, - "gen_ai.tool.input": str, - "gen_ai.tool.message": str, - "gen_ai.tool.name": str, - "gen_ai.tool.output": str, - "gen_ai.tool.type": str, - "gen_ai.usage.cache_creation.input_tokens": int, - "gen_ai.usage.cache_creation_input_tokens": int, - "gen_ai.usage.cache_read.input_tokens": int, - "gen_ai.usage.cache_read_input_tokens": int, - "gen_ai.usage.completion_tokens": int, - "gen_ai.usage.input_tokens": int, - "gen_ai.usage.input_tokens.cache_write": int, - "gen_ai.usage.input_tokens.cached": int, - "gen_ai.usage.output_tokens": int, - "gen_ai.usage.output_tokens.reasoning": int, - "gen_ai.usage.prompt_tokens": int, - "gen_ai.usage.reasoning.output_tokens": int, - "gen_ai.usage.total_tokens": int, - "graphql.document": str, - "graphql.operation.name": str, - "graphql.operation.type": str, - "graphql.processing.type": str, - "graphql.source": str, - "grpc.error.bad_request.field_violations": List[str], - "grpc.error.debug_info.detail": str, - "grpc.error.debug_info.stack_entries": List[str], - "grpc.error.error_info.domain": str, - "grpc.error.error_info.metadata.": str, - "grpc.error.error_info.reason": str, - "grpc.error.precondition_failure.violations": List[str], - "grpc.error.quota_failure.violations": List[str], - "grpc.error.resource_info.description": str, - "grpc.error.resource_info.owner": str, - "grpc.error.resource_info.resource_name": str, - "grpc.error.resource_info.resource_type": str, - "grpc.error.retry_info.retry_delay_ms": int, - "hardwareConcurrency": str, - "http.client_ip": str, - "http.decoded_response_content_length": int, - "http.flavor": str, - "http.fragment": str, - "http.host": str, - "http.method": str, - "http.query": str, - "http.request.body.data": str, - "http.request.body.decoded_size": int, - "http.request.body.size": int, - "http.request.connect_start": float, - "http.request.connection_end": float, - "http.request.domain_lookup_end": float, - "http.request.domain_lookup_start": float, - "http.request.duration": int, - "http.request.fetch_start": float, - "http.request.header.": List[str], - "http.request.method": str, - "http.request.redirect_end": float, - "http.request.redirect_start": float, - "http.request.request_start": float, - "http.request.resend_count": int, - "http.request.response_end": float, - "http.request.response_start": float, - "http.request.same_origin": bool, - "http.request.secure_connection_start": float, - "http.request.time_to_first_byte": float, - "http.request.worker_start": float, - "http.request_content_length": int, - "http.request_content_length_uncompressed": int, - "http.request_method": str, - "http.response.body.decoded_size": int, - "http.response.body.size": int, - "http.response.header.": List[str], - "http.response.header.content-length": str, - "http.response.size": int, - "http.response.status_code": int, - "http.response.status_text": str, - "http.response_content_length": int, - "http.response_content_length_uncompressed": int, - "http.response_transfer_size": int, - "http.route": str, - "http.scheme": str, - "http.server.request.time_in_queue": float, - "http.server_name": str, - "http.status_code": int, - "http.status_text": str, - "http.target": str, - "http.url": str, - "http.user_agent": str, - "id": str, - "inp": float, - "integrity.blocked_url": str, - "integrity.destination": str, - "integrity.document_url": str, - "integrity.report_only": bool, - "jsonrpc.protocol.version": str, - "jsonrpc.request.id": str, - "jvm.gc.action": str, - "jvm.gc.name": str, - "jvm.memory.pool.name": str, - "jvm.memory.type": str, - "jvm.thread.daemon": bool, - "jvm.thread.state": str, - "koa.name": str, - "koa.type": str, - "langchain.chain.name": str, - "lcp.element": str, - "lcp.id": str, - "lcp.loadTime": int, - "lcp.renderTime": int, - "lcp.size": int, - "lcp.url": str, - "lcp": float, - "litestar.middleware_name": str, - "logger.name": str, - "mcp.auth.client.name": str, - "mcp.cancelled.reason": str, - "mcp.cancelled.request_id": str, - "mcp.client.name": str, - "mcp.client.title": str, - "mcp.client.version": str, - "mcp.lifecycle.phase": str, - "mcp.logging.data_type": str, - "mcp.logging.level": str, - "mcp.logging.logger": str, - "mcp.logging.message": str, - "mcp.method.name": str, - "mcp.progress.current": float, - "mcp.progress.message": str, - "mcp.progress.percentage": float, - "mcp.progress.token": str, - "mcp.progress.total": float, - "mcp.prompt.name": str, - "mcp.prompt.result..content": str, - "mcp.prompt.result..role": str, - "mcp.prompt.result.description": str, - "mcp.prompt.result.message_content": str, - "mcp.prompt.result.message_count": int, - "mcp.prompt.result.message_role": str, - "mcp.protocol.ready": int, - "mcp.protocol.version": str, - "mcp.request.argument.": str, - "mcp.request.argument.name": str, - "mcp.request.argument.uri": str, - "mcp.request.id": str, - "mcp.resource.protocol": str, - "mcp.resource.uri": str, - "mcp.server.name": str, - "mcp.server.title": str, - "mcp.server.version": str, - "mcp.session.id": str, - "mcp.tool.name": str, - "mcp.tool.result..content": str, - "mcp.tool.result..content_type": str, - "mcp.tool.result..data_size": int, - "mcp.tool.result..mime_type": str, - "mcp.tool.result..name": str, - "mcp.tool.result..resource_mime_type": str, - "mcp.tool.result..resource_uri": str, - "mcp.tool.result..uri": str, - "mcp.tool.result.content": str, - "mcp.tool.result.content_count": int, - "mcp.tool.result.content_type": str, - "mcp.tool.result.data_size": int, - "mcp.tool.result.is_error": bool, - "mcp.tool.result.mime_type": str, - "mcp.tool.result.name": str, - "mcp.tool.result.resource_mime_type": str, - "mcp.tool.result.resource_uri": str, - "mcp.tool.result.uri": str, - "mcp.transport": str, - "mdc.": str, - "messaging.batch.message_count": int, - "messaging.conversation_id": str, - "messaging.destination": str, - "messaging.destination.connection": str, - "messaging.destination.name": str, - "messaging.destination.partition.id": str, - "messaging.destination_kind": str, - "messaging.kafka.message.key": str, - "messaging.kafka.message.tombstone": bool, - "messaging.kafka.offset": int, - "messaging.message.body.size": int, - "messaging.message.conversation_id": str, - "messaging.message.envelope.size": int, - "messaging.message.id": str, - "messaging.message.receive.latency": int, - "messaging.message.retry.count": int, - "messaging.message_id": str, - "messaging.operation": str, - "messaging.operation.name": str, - "messaging.operation.type": str, - "messaging.protocol": str, - "messaging.protocol_version": str, - "messaging.rabbitmq.destination.routing_key": str, - "messaging.rabbitmq.routing_key": str, - "messaging.system": str, - "messaging.url": str, - "method": str, - "middleware.name": str, - "navigation.origin": str, - "navigation.route.id": str, - "navigation.type": str, - "nel.elapsed_time": int, - "nel.phase": str, - "nel.referrer": str, - "nel.sampling_fraction": float, - "nel.sampling_function": float, - "nel.type": str, - "net.host.ip": str, - "net.host.name": str, - "net.host.port": int, - "net.peer.ip": str, - "net.peer.name": str, - "net.peer.port": int, - "net.protocol.name": str, - "net.protocol.version": str, - "net.sock.family": str, - "net.sock.host.addr": str, - "net.sock.host.port": int, - "net.sock.peer.addr": str, - "net.sock.peer.name": str, - "net.sock.peer.port": int, - "net.transport": str, - "network.connection.effective_type": str, - "network.connection.rtt": int, - "network.connection.type": str, - "network.local.address": str, - "network.local.port": int, - "network.peer.address": str, - "network.peer.port": int, - "network.protocol.name": str, - "network.protocol.version": str, - "network.transport": str, - "network.type": str, - "os.build": str, - "os.build_id": str, - "os.description": str, - "os.kernel_version": str, - "os.name": str, - "os.raw_description": str, - "os.rooted": bool, - "os.theme": str, - "os.type": str, - "os.version": str, - "otel.kind": str, - "otel.scope.name": str, - "otel.scope.version": str, - "otel.status_code": str, - "otel.status_description": str, - "params.": str, - "performance.activationStart": float, - "performance.timeOrigin": float, - "port": int, - "previous_route": str, - "process.command_args": List[str], - "process.executable.name": str, - "process.pid": int, - "process.runtime.description": str, - "process.runtime.engine.name": str, - "process.runtime.engine.version": str, - "process.runtime.name": str, - "process.runtime.version": str, - "profile_id": str, - "query.": str, - "query": str, - "react.version": str, - "react_native.architecture": str, - "react_native.module.call.count": int, - "react_native.module.call.distinct_count": int, - "react_native.module.duration.max": float, - "react_native.module.duration.total": float, - "react_native.module.error.count": int, - "react_native.module.kind": str, - "react_native.module.method": str, - "react_native.module.name": str, - "react_native.module.top.duration": float, - "react_native.module.top.name": str, - "redis.command": str, - "redis.key": str, - "release": str, - "remix.action_form_data.": str, - "replayId": str, - "replay_id": str, - "resource.deployment.environment": str, - "resource.deployment.environment.name": str, - "resource.render_blocking_status": str, - "route": str, - "router.navigation.origin": str, - "router.navigation.route.id": str, - "router.navigation.type": str, - "rpc.grpc.status_code": int, - "rpc.method": str, - "rpc.response.status_code": str, - "rpc.service": str, - "rpc.system": str, - "rpc.system.name": str, - "runtime.build": str, - "runtime.name": str, - "runtime.raw_description": str, - "runtime.version": str, - "score.": float, - "score.ratio.": float, - "score.total": float, - "score.weight.": float, - "sentry.action": str, - "sentry.browser.name": str, - "sentry.browser.version": str, - "sentry.cancellation_reason": str, - "sentry.category": str, - "sentry.client_sample_rate": float, - "sentry.description": str, - "sentry.dist": str, - "sentry.domain": str, - "sentry.dsc.environment": str, - "sentry.dsc.project_id": str, - "sentry.dsc.public_key": str, - "sentry.dsc.release": str, - "sentry.dsc.sample_rate": str, - "sentry.dsc.sampled": bool, - "sentry.dsc.trace_id": str, - "sentry.dsc.transaction": str, - "sentry.environment": str, - "sentry.event.serialized_breadcrumbs": str, - "sentry.event.serialized_contexts": str, - "sentry.event.serialized_extra": str, - "sentry.event.serialized_meta": str, - "sentry.exclusive_time": float, - "sentry.frames.frozen": int, - "sentry.frames.slow": int, - "sentry.frames.total": int, - "sentry.graphql.operation": str, - "sentry.group": str, - "sentry.http.prefetch": bool, - "sentry.idle_span_finish_reason": str, - "sentry.is_localhost": bool, - "sentry.is_remote": bool, - "sentry.kind": str, - "sentry.link.type": str, - "sentry.main_thread": bool, - "sentry.message.parameter.": str, - "sentry.message.template": str, - "sentry.metric.source": str, - "sentry.mobile": bool, - "sentry.module.": str, - "sentry.nextjs.ssr.function.route": str, - "sentry.nextjs.ssr.function.type": str, - "sentry.normalized_db_query": str, - "sentry.normalized_db_query.hash": str, - "sentry.normalized_description": str, - "sentry.observed_timestamp_nanos": str, - "sentry.op": str, - "sentry.origin": str, - "sentry.pageload.span_id": str, - "sentry.platform": str, - "sentry.profile_id": str, - "sentry.profiler_id": str, - "sentry.relay.ingress": str, - "sentry.relay.pipeline": str, - "sentry.release": str, - "sentry.replay_id": str, - "sentry.replay_is_buffering": bool, - "sentry.report_event": str, - "sentry.sdk.integrations": List[str], - "sentry.sdk.name": str, - "sentry.sdk.version": str, - "sentry.segment.id": str, - "sentry.segment.name": str, - "sentry.segment.name.source": str, - "sentry.segment_id": str, - "sentry.server_sample_rate": float, - "sentry.source": str, - "sentry.span.source": str, - "sentry.status": str, - "sentry.status.message": str, - "sentry.status_code": int, - "sentry.sveltekit.navigation.from": str, - "sentry.sveltekit.navigation.to": str, - "sentry.sveltekit.navigation.type": str, - "sentry.thread.id": int, - "sentry.timestamp.sequence": int, - "sentry.trace.parent_span_id": str, - "sentry.trace.status": str, - "sentry.trace_lifecycle": str, - "sentry.transaction": str, - "sentry.user.email": str, - "sentry.user.geo.city": str, - "sentry.user.geo.country_code": str, - "sentry.user.geo.region": str, - "sentry.user.geo.subdivision": str, - "sentry.user.id": str, - "sentry.user.ip": str, - "sentry.user.username": str, - "server.address": str, - "server.port": int, - "server_name": str, - "service.name": str, - "service.version": str, - "session.id": str, - "stall_percentage": float, - "stall_total_time": float, - "starlette.middleware_name": str, - "starlite.middleware_name": str, - "state.type": str, - "subprocess.pid": int, - "sveltekit.load.environment": str, - "sveltekit.load.node_id": str, - "sveltekit.load.node_type": str, - "sveltekit.tracing.original_name": str, - "thread.id": int, - "thread.name": str, - "timber.tag": str, - "time_to_full_display": float, - "time_to_initial_display": float, - "transaction": str, - "trpc.procedure_path": str, - "trpc.procedure_type": str, - "ttfb.requestTime": float, - "ttfb": float, - "turbo_module.arch": str, - "turbo_module.method": str, - "turbo_module.name": str, - "turbo_module.top_module": str, - "turbo_module.top_module_duration_ms": float, - "turbo_module.total_call_count": int, - "turbo_module.total_duration_ms": float, - "turbo_module.total_error_count": int, - "turbo_module.unique_methods": int, - "turbo_modules.total_call_count": int, - "turbo_modules.total_duration_ms": float, - "turbo_modules.total_error_count": int, - "turbo_modules.unique_methods": int, - "type": str, - "ui.component_name": str, - "ui.contributes_to_ttfd": bool, - "ui.contributes_to_ttid": bool, - "ui.element.height": int, - "ui.element.id": str, - "ui.element.identifier": str, - "ui.element.load_time": float, - "ui.element.paint_type": str, - "ui.element.render_time": float, - "ui.element.type": str, - "ui.element.url": str, - "ui.element.width": int, - "url.domain": str, - "url.fragment": str, - "url.full": str, - "url.path": str, - "url.path.parameter.": str, - "url.path.params.": str, - "url.port": int, - "url.query": str, - "url.same_origin": bool, - "url.scheme": str, - "url.template": str, - "url": str, - "user.email": str, - "user.full_name": str, - "user.geo.city": str, - "user.geo.country_code": str, - "user.geo.region": str, - "user.geo.subdivision": str, - "user.hash": str, - "user.id": str, - "user.ip_address": str, - "user.name": str, - "user.roles": List[str], - "user_agent.original": str, - "vercel.ai.telemetry.metadata.": str, - "vercel.branch": str, - "vercel.build_id": str, - "vercel.deployment_id": str, - "vercel.destination": str, - "vercel.edge_type": str, - "vercel.entrypoint": str, - "vercel.execution_region": str, - "vercel.id": str, - "vercel.ja3_digest": str, - "vercel.ja4_digest": str, - "vercel.log_type": str, - "vercel.path": str, - "vercel.project_id": str, - "vercel.project_name": str, - "vercel.proxy.cache_id": str, - "vercel.proxy.client_ip": str, - "vercel.proxy.host": str, - "vercel.proxy.lambda_region": str, - "vercel.proxy.method": str, - "vercel.proxy.path": str, - "vercel.proxy.path_type": str, - "vercel.proxy.path_type_variant": str, - "vercel.proxy.referer": str, - "vercel.proxy.region": str, - "vercel.proxy.response_byte_size": int, - "vercel.proxy.scheme": str, - "vercel.proxy.status_code": int, - "vercel.proxy.timestamp": int, - "vercel.proxy.user_agent": List[str], - "vercel.proxy.vercel_cache": str, - "vercel.proxy.vercel_id": str, - "vercel.proxy.waf_action": str, - "vercel.proxy.waf_rule_id": str, - "vercel.request_id": str, - "vercel.source": str, - "vercel.status_code": int, - }, - total=False, -) +Attributes = TypedDict("Attributes", { + "address": str, + "ai.citations": List[str], + "ai.completion_tokens.used": int, + "ai.documents": List[str], + "ai.finish_reason": str, + "ai.frequency_penalty": float, + "ai.function_call": str, + "ai.generation_id": str, + "ai.input_messages": str, + "ai.is_search_required": bool, + "ai.metadata": str, + "ai.model.id": str, + "ai.model.provider": str, + "ai.model_id": str, + "ai.pipeline.name": str, + "ai.preamble": str, + "ai.presence_penalty": float, + "ai.prompt": str, + "ai.prompt.messages": str, + "ai.prompt.tools": List[str], + "ai.prompt_tokens.used": int, + "ai.raw_prompting": bool, + "ai.response.id": str, + "ai.response.model": str, + "ai.response.object": str, + "ai.response.text": str, + "ai.response.timestamp": str, + "ai.response.toolCalls": str, + "ai.response_format": str, + "ai.responses": List[str], + "ai.schema": str, + "ai.search_queries": List[str], + "ai.search_results": List[str], + "ai.seed": str, + "ai.streaming": bool, + "ai.tags": str, + "ai.temperature": float, + "ai.texts": List[str], + "ai.toolCall.args": str, + "ai.toolCall.result": str, + "ai.tool_calls": List[str], + "ai.tools": List[str], + "ai.top_k": int, + "ai.top_p": float, + "ai.total_cost": float, + "ai.total_tokens.used": int, + "ai.usage.tokens": int, + "ai.values": str, + "ai.warnings": List[str], + "angular.version": str, + "anthropic.tool_result.content": str, + "app.app_build": str, + "app.app_identifier": str, + "app.app_name": str, + "app.app_start_time": str, + "app.app_version": str, + "app.build": str, + "app.identifier": str, + "app.in_foreground": bool, + "app.name": str, + "app.start_time": str, + "app.version": str, + "app.vitals.frames.delay.value": int, + "app.vitals.frames.frozen.count": int, + "app.vitals.frames.frozen.rate": float, + "app.vitals.frames.slow.count": int, + "app.vitals.frames.slow.rate": float, + "app.vitals.frames.total.count": int, + "app.vitals.stall.duration": float, + "app.vitals.stall.percentage": float, + "app.vitals.start.cold.value": float, + "app.vitals.start.prewarmed": bool, + "app.vitals.start.reason": str, + "app.vitals.start.screen": str, + "app.vitals.start.type": str, + "app.vitals.start.warm.value": float, + "app.vitals.ttfd.value": float, + "app.vitals.ttid.value": float, + "app_start_cold": float, + "app_start_type": str, + "app_start_warm": float, + "art.gc.blocking_count": int, + "art.gc.blocking_time": float, + "art.gc.pre_oome_count": int, + "art.gc.total_count": int, + "art.gc.total_time": float, + "art.gc.waiting_time": float, + "art.memory.free": int, + "art.memory.free_until_gc": int, + "art.memory.free_until_oome": int, + "art.memory.max": int, + "art.memory.total": int, + "aws.cloudwatch.logs.log_group": str, + "aws.cloudwatch.logs.log_stream": str, + "aws.cloudwatch.logs.url": str, + "aws.dynamodb.attribute_definitions": List[str], + "aws.dynamodb.attributes_to_get": List[str], + "aws.dynamodb.consistent_read": bool, + "aws.dynamodb.consumed_capacity": List[str], + "aws.dynamodb.count": int, + "aws.dynamodb.exclusive_start_table": str, + "aws.dynamodb.global_secondary_index_updates": List[str], + "aws.dynamodb.global_secondary_indexes": List[str], + "aws.dynamodb.index_name": str, + "aws.dynamodb.item_collection_metrics": str, + "aws.dynamodb.limit": int, + "aws.dynamodb.local_secondary_indexes": List[str], + "aws.dynamodb.projection": str, + "aws.dynamodb.provisioned_read_capacity": float, + "aws.dynamodb.provisioned_write_capacity": float, + "aws.dynamodb.scan_forward": bool, + "aws.dynamodb.scanned_count": int, + "aws.dynamodb.segment": int, + "aws.dynamodb.select": str, + "aws.dynamodb.table_count": int, + "aws.dynamodb.table_names": List[str], + "aws.dynamodb.total_segments": int, + "aws.extended_request_id": str, + "aws.kinesis.stream.name": str, + "aws.kinesis.stream_name": str, + "aws.lambda.aws_request_id": str, + "aws.lambda.execution_duration_in_millis": float, + "aws.lambda.function_name": str, + "aws.lambda.function_version": str, + "aws.lambda.invoked_arn": str, + "aws.lambda.invoked_function_arn": str, + "aws.lambda.remaining_time_in_millis": float, + "aws.log.group.names": List[str], + "aws.log.stream.names": List[str], + "aws.operation_name": str, + "aws.request.extended_id": str, + "aws.request.id": str, + "aws.request.url": str, + "aws.request_id": str, + "aws.s3.bucket": str, + "aws.s3.copy_source": str, + "aws.s3.delete": str, + "aws.s3.key": str, + "aws.s3.part_number": int, + "aws.s3.upload_id": str, + "aws.secretsmanager.secret.arn": str, + "aws.sns.topic.arn": str, + "aws.sqs.queue.url": str, + "aws.step_functions.activity.arn": str, + "aws.step_functions.execution.arn": str, + "aws.step_functions.state_machine.arn": str, + "aws_region": str, + "blocked_main_thread": bool, + "browser.bfcache.frame": str, + "browser.bfcache.not_restored_reason_count": int, + "browser.bfcache.outcome": str, + "browser.bfcache.reason": str, + "browser.name": str, + "browser.navigation.id": int, + "browser.navigation.type": str, + "browser.paint.type": str, + "browser.performance.navigation.activation_start": float, + "browser.performance.time_origin": float, + "browser.report.type": str, + "browser.script.invoker": str, + "browser.script.invoker_type": str, + "browser.script.source_char_position": int, + "browser.version": str, + "browser.web_vital.cls.report_event": str, + "browser.web_vital.cls.source.": str, + "browser.web_vital.cls.value": float, + "browser.web_vital.fcp.value": float, + "browser.web_vital.fp.value": float, + "browser.web_vital.inp.interaction_type": str, + "browser.web_vital.inp.target": str, + "browser.web_vital.inp.value": float, + "browser.web_vital.lcp.element": str, + "browser.web_vital.lcp.id": str, + "browser.web_vital.lcp.load_time": int, + "browser.web_vital.lcp.render_time": int, + "browser.web_vital.lcp.report_event": str, + "browser.web_vital.lcp.size": int, + "browser.web_vital.lcp.url": str, + "browser.web_vital.lcp.value": float, + "browser.web_vital.ttfb.request_time": float, + "browser.web_vital.ttfb.value": float, + "cache.hit": bool, + "cache.item_age": int, + "cache.item_size": int, + "cache.key": List[str], + "cache.operation": str, + "cache.tags": List[str], + "cache.ttl": int, + "cache.write": bool, + "channel": str, + "client.address": str, + "client.port": int, + "cloud.account.id": str, + "cloud.availability_zone": str, + "cloud.platform": str, + "cloud.provider": str, + "cloud.region": str, + "cloud.resource_id": str, + "cloudflare.d1.duration": int, + "cloudflare.d1.query_type": str, + "cloudflare.d1.rows_read": int, + "cloudflare.d1.rows_written": int, + "cloudflare.durable_object.query.bindings": int, + "cloudflare.durable_object.response.rows_read": int, + "cloudflare.durable_object.response.rows_written": int, + "cloudflare.r2.bucket": str, + "cloudflare.r2.operation": str, + "cloudflare.r2.request.delimiter": str, + "cloudflare.r2.request.key": str, + "cloudflare.r2.request.part_number": int, + "cloudflare.r2.request.prefix": str, + "cloudflare.workflow.attempt": int, + "cloudflare.workflow.retries.backoff": str, + "cloudflare.workflow.retries.delay": str, + "cloudflare.workflow.retries.limit": int, + "cloudflare.workflow.timeout": str, + "cls.source.": str, + "cls": float, + "code.file.path": str, + "code.filepath": str, + "code.function": str, + "code.function.name": str, + "code.line.number": int, + "code.lineno": int, + "code.namespace": str, + "code": str, + "connection.rtt": int, + "connectionType": str, + "culture.calendar": str, + "culture.display_name": str, + "culture.is_24_hour_format": bool, + "culture.locale": str, + "culture.timezone": str, + "db.collection.name": str, + "db.connection_string": str, + "db.driver.name": str, + "db.mongodb.collection": str, + "db.name": str, + "db.namespace": str, + "db.operation": str, + "db.operation.batch.size": int, + "db.operation.name": str, + "db.params": str, + "db.query.parameter.": str, + "db.query.summary": str, + "db.query.text": str, + "db.redis.connection": str, + "db.redis.key": str, + "db.redis.parameters": List[str], + "db.response.status_code": str, + "db.sql.bindings": List[str], + "db.statement": str, + "db.stored_procedure.name": str, + "db.system": str, + "db.system.name": str, + "db.user": str, + "device.archs": List[str], + "device.battery_level": float, + "device.battery_temperature": float, + "device.boot_time": str, + "device.brand": str, + "device.charging": bool, + "device.chipset": str, + "device.class": str, + "device.connection_type": str, + "device.cpu_description": str, + "device.external_free_storage": int, + "device.external_storage_size": int, + "device.family": str, + "device.free_memory": int, + "device.free_storage": int, + "device.id": str, + "device.locale": str, + "device.low_memory": bool, + "device.low_power_mode": bool, + "device.manufacturer": str, + "device.memory.estimated_capacity": int, + "device.memory_size": int, + "device.model": str, + "device.model_id": str, + "device.name": str, + "device.online": bool, + "device.orientation": str, + "device.processor_count": int, + "device.processor_frequency": float, + "device.screen_density": float, + "device.screen_dpi": int, + "device.screen_height_pixels": int, + "device.screen_width_pixels": int, + "device.simulator": bool, + "device.storage_size": int, + "device.thermal_state": str, + "device.timezone": str, + "device.usable_memory": int, + "deviceMemory": str, + "dist": str, + "django.function_name": str, + "django.middleware_name": str, + "effectiveConnectionType": str, + "environment": str, + "error.type": str, + "event.id": int, + "event.name": str, + "exception.escaped": bool, + "exception.message": str, + "exception.stacktrace": str, + "exception.type": str, + "faas.coldstart": bool, + "faas.cron": str, + "faas.duration_in_ms": int, + "faas.entry_point": str, + "faas.execution": str, + "faas.id": str, + "faas.identity": str, + "faas.invocation_id": str, + "faas.invoked_name": str, + "faas.invoked_provider": str, + "faas.invoked_region": str, + "faas.name": str, + "faas.time": str, + "faas.trigger": str, + "faas.version": str, + "fcp": float, + "file.path": str, + "file.size": int, + "flag.evaluation.": bool, + "fp": float, + "frames.delay": int, + "frames.frozen": int, + "frames.slow": int, + "frames.total": int, + "frames_frozen_rate": float, + "frames_slow_rate": float, + "fs_error": str, + "gcp.function.context.event_id": str, + "gcp.function.context.event_type": str, + "gcp.function.context.id": str, + "gcp.function.context.resource": str, + "gcp.function.context.source": str, + "gcp.function.context.specversion": str, + "gcp.function.context.time": str, + "gcp.function.context.timestamp": str, + "gcp.function.context.type": str, + "gcp.project.id": str, + "gcp_region": str, + "gen_ai.agent.name": str, + "gen_ai.context.utilization": float, + "gen_ai.context.window_size": int, + "gen_ai.conversation.id": str, + "gen_ai.cost.cache_creation.input_tokens": float, + "gen_ai.cost.cache_read.input_tokens": float, + "gen_ai.cost.input_tokens": float, + "gen_ai.cost.output_tokens": float, + "gen_ai.cost.reasoning.output_tokens": float, + "gen_ai.cost.total_tokens": float, + "gen_ai.embeddings.input": str, + "gen_ai.function_id": str, + "gen_ai.input.messages": str, + "gen_ai.memory.query.text": str, + "gen_ai.memory.record.count": int, + "gen_ai.memory.record.id": str, + "gen_ai.memory.records": str, + "gen_ai.memory.store.id": str, + "gen_ai.operation.name": str, + "gen_ai.operation.type": str, + "gen_ai.output.messages": str, + "gen_ai.pipeline.name": str, + "gen_ai.prompt": str, + "gen_ai.prompt.name": str, + "gen_ai.prompt.variable.": str, + "gen_ai.provider.name": str, + "gen_ai.request.available_tools": str, + "gen_ai.request.frequency_penalty": float, + "gen_ai.request.max_tokens": int, + "gen_ai.request.messages": str, + "gen_ai.request.model": str, + "gen_ai.request.presence_penalty": float, + "gen_ai.request.reasoning.level": str, + "gen_ai.request.schema": str, + "gen_ai.request.seed": str, + "gen_ai.request.stop_sequences": List[str], + "gen_ai.request.temperature": float, + "gen_ai.request.top_k": int, + "gen_ai.request.top_p": float, + "gen_ai.response.finish_reason": str, + "gen_ai.response.finish_reasons": str, + "gen_ai.response.id": str, + "gen_ai.response.model": str, + "gen_ai.response.object": str, + "gen_ai.response.streaming": bool, + "gen_ai.response.text": str, + "gen_ai.response.time_to_first_chunk": float, + "gen_ai.response.time_to_first_token": float, + "gen_ai.response.tokens_per_second": float, + "gen_ai.response.tool_calls": str, + "gen_ai.system": str, + "gen_ai.system.message": str, + "gen_ai.system_instructions": str, + "gen_ai.tool.call.arguments": str, + "gen_ai.tool.call.result": str, + "gen_ai.tool.definitions": str, + "gen_ai.tool.description": str, + "gen_ai.tool.input": str, + "gen_ai.tool.message": str, + "gen_ai.tool.name": str, + "gen_ai.tool.output": str, + "gen_ai.tool.type": str, + "gen_ai.usage.cache_creation.input_tokens": int, + "gen_ai.usage.cache_creation_input_tokens": int, + "gen_ai.usage.cache_read.input_tokens": int, + "gen_ai.usage.cache_read_input_tokens": int, + "gen_ai.usage.completion_tokens": int, + "gen_ai.usage.input_tokens": int, + "gen_ai.usage.input_tokens.cache_write": int, + "gen_ai.usage.input_tokens.cached": int, + "gen_ai.usage.output_tokens": int, + "gen_ai.usage.output_tokens.reasoning": int, + "gen_ai.usage.prompt_tokens": int, + "gen_ai.usage.reasoning.output_tokens": int, + "gen_ai.usage.total_tokens": int, + "graphql.document": str, + "graphql.operation.name": str, + "graphql.operation.type": str, + "graphql.processing.type": str, + "graphql.source": str, + "grpc.error.bad_request.field_violations": List[str], + "grpc.error.debug_info.detail": str, + "grpc.error.debug_info.stack_entries": List[str], + "grpc.error.error_info.domain": str, + "grpc.error.error_info.metadata.": str, + "grpc.error.error_info.reason": str, + "grpc.error.precondition_failure.violations": List[str], + "grpc.error.quota_failure.violations": List[str], + "grpc.error.resource_info.description": str, + "grpc.error.resource_info.owner": str, + "grpc.error.resource_info.resource_name": str, + "grpc.error.resource_info.resource_type": str, + "grpc.error.retry_info.retry_delay_ms": int, + "hardwareConcurrency": str, + "http.client_ip": str, + "http.decoded_response_content_length": int, + "http.flavor": str, + "http.fragment": str, + "http.host": str, + "http.method": str, + "http.query": str, + "http.request.body.data": str, + "http.request.body.decoded_size": int, + "http.request.body.size": int, + "http.request.connect_start": float, + "http.request.connection_end": float, + "http.request.domain_lookup_end": float, + "http.request.domain_lookup_start": float, + "http.request.duration": int, + "http.request.fetch_start": float, + "http.request.header.": List[str], + "http.request.method": str, + "http.request.redirect_end": float, + "http.request.redirect_start": float, + "http.request.request_start": float, + "http.request.resend_count": int, + "http.request.response_end": float, + "http.request.response_start": float, + "http.request.same_origin": bool, + "http.request.secure_connection_start": float, + "http.request.time_to_first_byte": float, + "http.request.worker_start": float, + "http.request_content_length": int, + "http.request_content_length_uncompressed": int, + "http.request_method": str, + "http.response.body.decoded_size": int, + "http.response.body.size": int, + "http.response.header.": List[str], + "http.response.header.content-length": str, + "http.response.size": int, + "http.response.status_code": int, + "http.response.status_text": str, + "http.response_content_length": int, + "http.response_content_length_uncompressed": int, + "http.response_transfer_size": int, + "http.route": str, + "http.scheme": str, + "http.server.request.time_in_queue": float, + "http.server_name": str, + "http.status_code": int, + "http.status_text": str, + "http.target": str, + "http.url": str, + "http.user_agent": str, + "id": str, + "inp": float, + "integrity.blocked_url": str, + "integrity.destination": str, + "integrity.document_url": str, + "integrity.report_only": bool, + "jsonrpc.protocol.version": str, + "jsonrpc.request.id": str, + "jvm.gc.action": str, + "jvm.gc.name": str, + "jvm.memory.pool.name": str, + "jvm.memory.type": str, + "jvm.thread.daemon": bool, + "jvm.thread.state": str, + "koa.name": str, + "koa.type": str, + "langchain.chain.name": str, + "lcp.element": str, + "lcp.id": str, + "lcp.loadTime": int, + "lcp.renderTime": int, + "lcp.size": int, + "lcp.url": str, + "lcp": float, + "litestar.middleware_name": str, + "logger.name": str, + "mcp.auth.client.name": str, + "mcp.cancelled.reason": str, + "mcp.cancelled.request_id": str, + "mcp.client.name": str, + "mcp.client.title": str, + "mcp.client.version": str, + "mcp.lifecycle.phase": str, + "mcp.logging.data_type": str, + "mcp.logging.level": str, + "mcp.logging.logger": str, + "mcp.logging.message": str, + "mcp.method.name": str, + "mcp.progress.current": float, + "mcp.progress.message": str, + "mcp.progress.percentage": float, + "mcp.progress.token": str, + "mcp.progress.total": float, + "mcp.prompt.name": str, + "mcp.prompt.result..content": str, + "mcp.prompt.result..role": str, + "mcp.prompt.result.description": str, + "mcp.prompt.result.message_content": str, + "mcp.prompt.result.message_count": int, + "mcp.prompt.result.message_role": str, + "mcp.protocol.ready": int, + "mcp.protocol.version": str, + "mcp.request.argument.": str, + "mcp.request.argument.name": str, + "mcp.request.argument.uri": str, + "mcp.request.id": str, + "mcp.resource.protocol": str, + "mcp.resource.uri": str, + "mcp.server.name": str, + "mcp.server.title": str, + "mcp.server.version": str, + "mcp.session.id": str, + "mcp.tool.name": str, + "mcp.tool.result..content": str, + "mcp.tool.result..content_type": str, + "mcp.tool.result..data_size": int, + "mcp.tool.result..mime_type": str, + "mcp.tool.result..name": str, + "mcp.tool.result..resource_mime_type": str, + "mcp.tool.result..resource_uri": str, + "mcp.tool.result..uri": str, + "mcp.tool.result.content": str, + "mcp.tool.result.content_count": int, + "mcp.tool.result.content_type": str, + "mcp.tool.result.data_size": int, + "mcp.tool.result.is_error": bool, + "mcp.tool.result.mime_type": str, + "mcp.tool.result.name": str, + "mcp.tool.result.resource_mime_type": str, + "mcp.tool.result.resource_uri": str, + "mcp.tool.result.uri": str, + "mcp.transport": str, + "mdc.": str, + "messaging.batch.message_count": int, + "messaging.conversation_id": str, + "messaging.destination": str, + "messaging.destination.connection": str, + "messaging.destination.name": str, + "messaging.destination.partition.id": str, + "messaging.destination_kind": str, + "messaging.kafka.message.key": str, + "messaging.kafka.message.tombstone": bool, + "messaging.kafka.offset": int, + "messaging.message.body.size": int, + "messaging.message.conversation_id": str, + "messaging.message.envelope.size": int, + "messaging.message.id": str, + "messaging.message.receive.latency": int, + "messaging.message.retry.count": int, + "messaging.message_id": str, + "messaging.operation": str, + "messaging.operation.name": str, + "messaging.operation.type": str, + "messaging.protocol": str, + "messaging.protocol_version": str, + "messaging.rabbitmq.destination.routing_key": str, + "messaging.rabbitmq.routing_key": str, + "messaging.system": str, + "messaging.url": str, + "method": str, + "middleware.name": str, + "navigation.origin": str, + "navigation.route.id": str, + "navigation.type": str, + "nel.elapsed_time": int, + "nel.phase": str, + "nel.referrer": str, + "nel.sampling_fraction": float, + "nel.sampling_function": float, + "nel.type": str, + "net.host.ip": str, + "net.host.name": str, + "net.host.port": int, + "net.peer.ip": str, + "net.peer.name": str, + "net.peer.port": int, + "net.protocol.name": str, + "net.protocol.version": str, + "net.sock.family": str, + "net.sock.host.addr": str, + "net.sock.host.port": int, + "net.sock.peer.addr": str, + "net.sock.peer.name": str, + "net.sock.peer.port": int, + "net.transport": str, + "network.connection.effective_type": str, + "network.connection.rtt": int, + "network.connection.type": str, + "network.local.address": str, + "network.local.port": int, + "network.peer.address": str, + "network.peer.port": int, + "network.protocol.name": str, + "network.protocol.version": str, + "network.transport": str, + "network.type": str, + "os.build": str, + "os.build_id": str, + "os.description": str, + "os.kernel_version": str, + "os.name": str, + "os.raw_description": str, + "os.rooted": bool, + "os.theme": str, + "os.type": str, + "os.version": str, + "otel.kind": str, + "otel.scope.name": str, + "otel.scope.version": str, + "otel.status_code": str, + "otel.status_description": str, + "params.": str, + "performance.activationStart": float, + "performance.timeOrigin": float, + "port": int, + "previous_route": str, + "process.command_args": List[str], + "process.executable.name": str, + "process.pid": int, + "process.runtime.description": str, + "process.runtime.engine.name": str, + "process.runtime.engine.version": str, + "process.runtime.name": str, + "process.runtime.version": str, + "profile_id": str, + "query.": str, + "query": str, + "react.version": str, + "react_native.architecture": str, + "react_native.module.call.count": int, + "react_native.module.call.distinct_count": int, + "react_native.module.duration.max": float, + "react_native.module.duration.total": float, + "react_native.module.error.count": int, + "react_native.module.kind": str, + "react_native.module.method": str, + "react_native.module.name": str, + "react_native.module.top.duration": float, + "react_native.module.top.name": str, + "redis.command": str, + "redis.key": str, + "release": str, + "remix.action_form_data.": str, + "replayId": str, + "replay_id": str, + "resource.deployment.environment": str, + "resource.deployment.environment.name": str, + "resource.render_blocking_status": str, + "route": str, + "router.navigation.origin": str, + "router.navigation.route.id": str, + "router.navigation.type": str, + "rpc.grpc.status_code": int, + "rpc.method": str, + "rpc.response.status_code": str, + "rpc.service": str, + "rpc.system": str, + "rpc.system.name": str, + "runtime.build": str, + "runtime.name": str, + "runtime.raw_description": str, + "runtime.version": str, + "score.": float, + "score.ratio.": float, + "score.total": float, + "score.weight.": float, + "sentry.action": str, + "sentry.browser.name": str, + "sentry.browser.version": str, + "sentry.cancellation_reason": str, + "sentry.category": str, + "sentry.client_sample_rate": float, + "sentry.description": str, + "sentry.dist": str, + "sentry.domain": str, + "sentry.dsc.environment": str, + "sentry.dsc.project_id": str, + "sentry.dsc.public_key": str, + "sentry.dsc.release": str, + "sentry.dsc.sample_rate": str, + "sentry.dsc.sampled": bool, + "sentry.dsc.trace_id": str, + "sentry.dsc.transaction": str, + "sentry.environment": str, + "sentry.event.serialized_breadcrumbs": str, + "sentry.event.serialized_contexts": str, + "sentry.event.serialized_extra": str, + "sentry.event.serialized_meta": str, + "sentry.exclusive_time": float, + "sentry.frames.frozen": int, + "sentry.frames.slow": int, + "sentry.frames.total": int, + "sentry.graphql.operation": str, + "sentry.group": str, + "sentry.http.prefetch": bool, + "sentry.idle_span_finish_reason": str, + "sentry.is_localhost": bool, + "sentry.is_remote": bool, + "sentry.kind": str, + "sentry.link.type": str, + "sentry.main_thread": bool, + "sentry.message.parameter.": str, + "sentry.message.template": str, + "sentry.metric.source": str, + "sentry.mobile": bool, + "sentry.module.": str, + "sentry.nextjs.ssr.function.route": str, + "sentry.nextjs.ssr.function.type": str, + "sentry.normalized_db_query": str, + "sentry.normalized_db_query.hash": str, + "sentry.normalized_description": str, + "sentry.observed_timestamp_nanos": str, + "sentry.op": str, + "sentry.origin": str, + "sentry.pageload.span_id": str, + "sentry.platform": str, + "sentry.profile_id": str, + "sentry.profiler_id": str, + "sentry.relay.ingress": str, + "sentry.relay.pipeline": str, + "sentry.release": str, + "sentry.replay_id": str, + "sentry.replay_is_buffering": bool, + "sentry.report_event": str, + "sentry.sdk.integrations": List[str], + "sentry.sdk.name": str, + "sentry.sdk.version": str, + "sentry.segment.id": str, + "sentry.segment.name": str, + "sentry.segment.name.source": str, + "sentry.segment_id": str, + "sentry.server_sample_rate": float, + "sentry.source": str, + "sentry.span.source": str, + "sentry.status": str, + "sentry.status.message": str, + "sentry.status_code": int, + "sentry.sveltekit.navigation.from": str, + "sentry.sveltekit.navigation.to": str, + "sentry.sveltekit.navigation.type": str, + "sentry.thread.id": int, + "sentry.timestamp.sequence": int, + "sentry.trace.parent_span_id": str, + "sentry.trace.status": str, + "sentry.trace_lifecycle": str, + "sentry.transaction": str, + "sentry.user.email": str, + "sentry.user.geo.city": str, + "sentry.user.geo.country_code": str, + "sentry.user.geo.region": str, + "sentry.user.geo.subdivision": str, + "sentry.user.id": str, + "sentry.user.ip": str, + "sentry.user.username": str, + "server.address": str, + "server.port": int, + "server_name": str, + "service.name": str, + "service.version": str, + "session.id": str, + "stall_percentage": float, + "stall_total_time": float, + "starlette.middleware_name": str, + "starlite.middleware_name": str, + "state.type": str, + "subprocess.pid": int, + "sveltekit.load.environment": str, + "sveltekit.load.node_id": str, + "sveltekit.load.node_type": str, + "sveltekit.tracing.original_name": str, + "thread.id": int, + "thread.name": str, + "timber.tag": str, + "time_to_full_display": float, + "time_to_initial_display": float, + "transaction": str, + "trpc.procedure_path": str, + "trpc.procedure_type": str, + "ttfb.requestTime": float, + "ttfb": float, + "turbo_module.arch": str, + "turbo_module.method": str, + "turbo_module.name": str, + "turbo_module.top_module": str, + "turbo_module.top_module_duration_ms": float, + "turbo_module.total_call_count": int, + "turbo_module.total_duration_ms": float, + "turbo_module.total_error_count": int, + "turbo_module.unique_methods": int, + "turbo_modules.total_call_count": int, + "turbo_modules.total_duration_ms": float, + "turbo_modules.total_error_count": int, + "turbo_modules.unique_methods": int, + "type": str, + "ui.component_name": str, + "ui.contributes_to_ttfd": bool, + "ui.contributes_to_ttid": bool, + "ui.element.height": int, + "ui.element.id": str, + "ui.element.identifier": str, + "ui.element.load_time": float, + "ui.element.paint_type": str, + "ui.element.render_time": float, + "ui.element.type": str, + "ui.element.url": str, + "ui.element.width": int, + "url.domain": str, + "url.fragment": str, + "url.full": str, + "url.path": str, + "url.path.parameter.": str, + "url.path.params.": str, + "url.port": int, + "url.query": str, + "url.same_origin": bool, + "url.scheme": str, + "url.template": str, + "url": str, + "user.email": str, + "user.full_name": str, + "user.geo.city": str, + "user.geo.country_code": str, + "user.geo.region": str, + "user.geo.subdivision": str, + "user.hash": str, + "user.id": str, + "user.ip_address": str, + "user.name": str, + "user.roles": List[str], + "user_agent.original": str, + "vercel.ai.telemetry.metadata.": str, + "vercel.branch": str, + "vercel.build_id": str, + "vercel.deployment_id": str, + "vercel.destination": str, + "vercel.edge_type": str, + "vercel.entrypoint": str, + "vercel.execution_region": str, + "vercel.id": str, + "vercel.ja3_digest": str, + "vercel.ja4_digest": str, + "vercel.log_type": str, + "vercel.path": str, + "vercel.project_id": str, + "vercel.project_name": str, + "vercel.proxy.cache_id": str, + "vercel.proxy.client_ip": str, + "vercel.proxy.host": str, + "vercel.proxy.lambda_region": str, + "vercel.proxy.method": str, + "vercel.proxy.path": str, + "vercel.proxy.path_type": str, + "vercel.proxy.path_type_variant": str, + "vercel.proxy.referer": str, + "vercel.proxy.region": str, + "vercel.proxy.response_byte_size": int, + "vercel.proxy.scheme": str, + "vercel.proxy.status_code": int, + "vercel.proxy.timestamp": int, + "vercel.proxy.user_agent": List[str], + "vercel.proxy.vercel_cache": str, + "vercel.proxy.vercel_id": str, + "vercel.proxy.waf_action": str, + "vercel.proxy.waf_rule_id": str, + "vercel.request_id": str, + "vercel.source": str, + "vercel.status_code": int, +}, total=False) """TypedDict representing a collection of attributes, including deprecated and non-deprecated ones.""" __all__ = [ @@ -30157,3 +27252,4 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "Attributes", "ATTRIBUTE_NAMES", ] + From 584e7a60a967b197434370cd170373a55f7bf555 Mon Sep 17 00:00:00 2001 From: Pablo Deputter Date: Tue, 13 Oct 2026 18:49:49 +0200 Subject: [PATCH 3/5] . --- python/src/sentry_conventions/attributes.py | 13530 +++++++++++------- 1 file changed, 8217 insertions(+), 5313 deletions(-) diff --git a/python/src/sentry_conventions/attributes.py b/python/src/sentry_conventions/attributes.py index 10319cc8..6b1f9e86 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -7,7 +7,10 @@ from enum import Enum from typing import Dict, List, Literal, Optional, Tuple, TypedDict, Union -AttributeValue = Union[str, int, float, bool, List[str], List[int], List[float], List[bool]] +AttributeValue = Union[ + str, int, float, bool, List[str], List[int], List[float], List[bool] +] + class AttributeType(Enum): STRING = "string" @@ -20,47 +23,56 @@ class AttributeType(Enum): DOUBLE_ARRAY = "double[]" ANY = "any" + class ApplyScrubbing(Enum): AUTO = "auto" MANUAL = "manual" NEVER = "never" + class Visibility(Enum): PUBLIC = "public" INTERNAL = "internal" + @dataclass class ApplyScrubbingInfo: """Holds information about how PII scrubbing should be applied to an attribute's values.""" + key: ApplyScrubbing reason: Optional[str] = None + class DeprecationStatus(Enum): BACKFILL = "backfill" NORMALIZE = "normalize" TRANSFORM = "transform" + @dataclass class DeprecationInfo: """Holds information about a deprecation.""" + replacement: Optional[str] = None reason: Optional[str] = None status: Optional[DeprecationStatus] = None transformation: Optional[str] = None + @dataclass class ChangelogEntry: """A changelog entry tracking a change to an attribute.""" version: str """The sentry-conventions release version""" - + prs: Optional[List[int]] = None """GitHub PR numbers""" - + description: Optional[str] = None """Optional description of what changed""" + SearchAliasType = Literal[ "byte", "currency", @@ -69,38 +81,40 @@ class ChangelogEntry: "second", ] + @dataclass class SearchAlias: """How an attribute is exposed in Sentry search.""" name: str """The public name exposed in Sentry search""" - + type: Optional[SearchAliasType] = None """The type exposed by Sentry search. Defaults to the attribute's primary type if omitted""" - + deprecated_aliases: Optional[List[str]] = None """Deprecated aliases still accepted in search queries""" + @dataclass class AttributeMetadata: """The metadata for an attribute.""" brief: str """A description of the attribute""" - + type: AttributeType """The type of the attribute value""" - + apply_scrubbing: ApplyScrubbingInfo """How PII scrubbing should be applied to the attribute value. Is either auto, manual or never. Optionally include a reason about why this mode applies""" - + is_in_otel: bool """Whether the attribute is defined in OpenTelemetry Semantic Conventions""" - + visibility: Visibility """Whether the attribute is public or internal to Sentry""" - + keys: Tuple[str, ...] """Every key this attribute's value may be readable under, preferred key first. @@ -111,31 +125,32 @@ class AttributeMetadata: the first key is not guaranteed to be non-deprecated -- check ``deprecation`` if that matters. """ - + has_dynamic_suffix: Optional[bool] = None """If an attribute has a dynamic suffix, for example http.response.header. where is dynamic""" - + example: Optional[AttributeValue] = None """An example value of the attribute""" - + deprecation: Optional[DeprecationInfo] = None """If an attribute was deprecated, and what it was replaced with""" - + aliases: Optional[List[str]] = None """If there are attributes that alias to this attribute""" - + changelog: Optional[List[ChangelogEntry]] = None """Changelog entries tracking how this attribute has changed across versions""" - + additional_context: Optional[List[str]] = None """A list of freeform notes providing additional context about how this attribute behaves, common pitfalls, or query-time nuances""" - + examples: Optional[List[AttributeValue]] = None """Example values of the attribute""" - + search_alias: Optional[SearchAlias] = None """How this attribute is exposed in Sentry search""" + class _AttributeNamesMeta(type): _deprecated_names = { "ADDRESS", @@ -431,6 +446,7 @@ def __getattribute__(cls, name: str): ) return super().__getattribute__(name) + class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """Contains all attribute names as class attributes with their documentation.""" @@ -460,7 +476,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/ai/ai__completion_tokens__used.json - AI_COMPLETION_TOKENS_USED: Literal["ai.completion_tokens.used"] = "ai.completion_tokens.used" + AI_COMPLETION_TOKENS_USED: Literal["ai.completion_tokens.used"] = ( + "ai.completion_tokens.used" + ) """The number of tokens used to respond to the message. Type: int @@ -1065,7 +1083,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/anthropic/anthropic__tool_result__content.json - ANTHROPIC_TOOL_RESULT_CONTENT: Literal["anthropic.tool_result.content"] = "anthropic.tool_result.content" + ANTHROPIC_TOOL_RESULT_CONTENT: Literal["anthropic.tool_result.content"] = ( + "anthropic.tool_result.content" + ) """The content of the tool result. Type: str @@ -1214,7 +1234,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__frames__delay__value.json - APP_VITALS_FRAMES_DELAY_VALUE: Literal["app.vitals.frames.delay.value"] = "app.vitals.frames.delay.value" + APP_VITALS_FRAMES_DELAY_VALUE: Literal["app.vitals.frames.delay.value"] = ( + "app.vitals.frames.delay.value" + ) """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: int @@ -1226,7 +1248,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__frames__frozen__count.json - APP_VITALS_FRAMES_FROZEN_COUNT: Literal["app.vitals.frames.frozen.count"] = "app.vitals.frames.frozen.count" + APP_VITALS_FRAMES_FROZEN_COUNT: Literal["app.vitals.frames.frozen.count"] = ( + "app.vitals.frames.frozen.count" + ) """The number of frozen frames rendered during the lifetime of the span. Type: int @@ -1238,7 +1262,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__frames__frozen__rate.json - APP_VITALS_FRAMES_FROZEN_RATE: Literal["app.vitals.frames.frozen.rate"] = "app.vitals.frames.frozen.rate" + APP_VITALS_FRAMES_FROZEN_RATE: Literal["app.vitals.frames.frozen.rate"] = ( + "app.vitals.frames.frozen.rate" + ) """The fraction of rendered frames that were frozen, calculated as `app.vitals.frames.frozen.count` divided by `app.vitals.frames.total.count`. This is computed by Relay. Type: float @@ -1250,7 +1276,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__frames__slow__count.json - APP_VITALS_FRAMES_SLOW_COUNT: Literal["app.vitals.frames.slow.count"] = "app.vitals.frames.slow.count" + APP_VITALS_FRAMES_SLOW_COUNT: Literal["app.vitals.frames.slow.count"] = ( + "app.vitals.frames.slow.count" + ) """The number of slow frames rendered during the lifetime of the span. Type: int @@ -1262,7 +1290,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__frames__slow__rate.json - APP_VITALS_FRAMES_SLOW_RATE: Literal["app.vitals.frames.slow.rate"] = "app.vitals.frames.slow.rate" + APP_VITALS_FRAMES_SLOW_RATE: Literal["app.vitals.frames.slow.rate"] = ( + "app.vitals.frames.slow.rate" + ) """The fraction of rendered frames that were slow, calculated as `app.vitals.frames.slow.count` divided by `app.vitals.frames.total.count`. This is computed by Relay. Type: float @@ -1274,7 +1304,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__frames__total__count.json - APP_VITALS_FRAMES_TOTAL_COUNT: Literal["app.vitals.frames.total.count"] = "app.vitals.frames.total.count" + APP_VITALS_FRAMES_TOTAL_COUNT: Literal["app.vitals.frames.total.count"] = ( + "app.vitals.frames.total.count" + ) """The number of total frames rendered during the lifetime of the span. Type: int @@ -1286,7 +1318,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__stall__duration.json - APP_VITALS_STALL_DURATION: Literal["app.vitals.stall.duration"] = "app.vitals.stall.duration" + APP_VITALS_STALL_DURATION: Literal["app.vitals.stall.duration"] = ( + "app.vitals.stall.duration" + ) """The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay. Type: float @@ -1298,7 +1332,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__stall__percentage.json - APP_VITALS_STALL_PERCENTAGE: Literal["app.vitals.stall.percentage"] = "app.vitals.stall.percentage" + APP_VITALS_STALL_PERCENTAGE: Literal["app.vitals.stall.percentage"] = ( + "app.vitals.stall.percentage" + ) """The fraction of transaction duration during which the app was stalled, between 0.0 and 1.0. For example, 0.8 represents 80%. Only applies to React Native. This is computed by Relay. Type: float @@ -1310,7 +1346,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__start__cold__value.json - APP_VITALS_START_COLD_VALUE: Literal["app.vitals.start.cold.value"] = "app.vitals.start.cold.value" + APP_VITALS_START_COLD_VALUE: Literal["app.vitals.start.cold.value"] = ( + "app.vitals.start.cold.value" + ) """The duration of a cold app start in milliseconds Type: float @@ -1322,7 +1360,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__start__prewarmed.json - APP_VITALS_START_PREWARMED: Literal["app.vitals.start.prewarmed"] = "app.vitals.start.prewarmed" + APP_VITALS_START_PREWARMED: Literal["app.vitals.start.prewarmed"] = ( + "app.vitals.start.prewarmed" + ) """Whether the app start was prewarmed. Type: bool @@ -1333,7 +1373,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__start__reason.json - APP_VITALS_START_REASON: Literal["app.vitals.start.reason"] = "app.vitals.start.reason" + APP_VITALS_START_REASON: Literal["app.vitals.start.reason"] = ( + "app.vitals.start.reason" + ) """The reason that triggered the app start. Type: str @@ -1344,7 +1386,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__start__screen.json - APP_VITALS_START_SCREEN: Literal["app.vitals.start.screen"] = "app.vitals.start.screen" + APP_VITALS_START_SCREEN: Literal["app.vitals.start.screen"] = ( + "app.vitals.start.screen" + ) """The screen that is rendered when the app start is complete. This is the screen the user first sees and can interact with after launch. The absence of this attribute on the app start span indicates a background app start where no UI was rendered. Type: str @@ -1367,7 +1411,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/app/app__vitals__start__warm__value.json - APP_VITALS_START_WARM_VALUE: Literal["app.vitals.start.warm.value"] = "app.vitals.start.warm.value" + APP_VITALS_START_WARM_VALUE: Literal["app.vitals.start.warm.value"] = ( + "app.vitals.start.warm.value" + ) """The duration of a warm app start in milliseconds Type: float @@ -1519,7 +1565,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/art/art__memory__free_until_gc.json - ART_MEMORY_FREE_UNTIL_GC: Literal["art.memory.free_until_gc"] = "art.memory.free_until_gc" + ART_MEMORY_FREE_UNTIL_GC: Literal["art.memory.free_until_gc"] = ( + "art.memory.free_until_gc" + ) """Free memory available before a garbage collection would be triggered by the Android Runtime, in bytes Type: int @@ -1530,7 +1578,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/art/art__memory__free_until_oome.json - ART_MEMORY_FREE_UNTIL_OOME: Literal["art.memory.free_until_oome"] = "art.memory.free_until_oome" + ART_MEMORY_FREE_UNTIL_OOME: Literal["art.memory.free_until_oome"] = ( + "art.memory.free_until_oome" + ) """Free memory available before an OutOfMemoryError would be thrown by the Android Runtime, in bytes Type: int @@ -1563,7 +1613,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__cloudwatch__logs__log_group.json - AWS_CLOUDWATCH_LOGS_LOG_GROUP: Literal["aws.cloudwatch.logs.log_group"] = "aws.cloudwatch.logs.log_group" + AWS_CLOUDWATCH_LOGS_LOG_GROUP: Literal["aws.cloudwatch.logs.log_group"] = ( + "aws.cloudwatch.logs.log_group" + ) """The name of the CloudWatch Logs log group Type: str @@ -1574,7 +1626,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__cloudwatch__logs__log_stream.json - AWS_CLOUDWATCH_LOGS_LOG_STREAM: Literal["aws.cloudwatch.logs.log_stream"] = "aws.cloudwatch.logs.log_stream" + AWS_CLOUDWATCH_LOGS_LOG_STREAM: Literal["aws.cloudwatch.logs.log_stream"] = ( + "aws.cloudwatch.logs.log_stream" + ) """The name of the CloudWatch Logs log stream Type: str @@ -1585,7 +1639,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__cloudwatch__logs__url.json - AWS_CLOUDWATCH_LOGS_URL: Literal["aws.cloudwatch.logs.url"] = "aws.cloudwatch.logs.url" + AWS_CLOUDWATCH_LOGS_URL: Literal["aws.cloudwatch.logs.url"] = ( + "aws.cloudwatch.logs.url" + ) """The URL to the CloudWatch Logs log group Type: str @@ -1596,7 +1652,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__attribute_definitions.json - AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS: Literal["aws.dynamodb.attribute_definitions"] = "aws.dynamodb.attribute_definitions" + AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS: Literal[ + "aws.dynamodb.attribute_definitions" + ] = "aws.dynamodb.attribute_definitions" """The JSON-serialized value of each item in the `AttributeDefinitions` request field. Type: List[str] @@ -1607,7 +1665,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__attributes_to_get.json - AWS_DYNAMODB_ATTRIBUTES_TO_GET: Literal["aws.dynamodb.attributes_to_get"] = "aws.dynamodb.attributes_to_get" + AWS_DYNAMODB_ATTRIBUTES_TO_GET: Literal["aws.dynamodb.attributes_to_get"] = ( + "aws.dynamodb.attributes_to_get" + ) """The value of the `AttributesToGet` request parameter. Type: List[str] @@ -1618,7 +1678,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__consistent_read.json - AWS_DYNAMODB_CONSISTENT_READ: Literal["aws.dynamodb.consistent_read"] = "aws.dynamodb.consistent_read" + AWS_DYNAMODB_CONSISTENT_READ: Literal["aws.dynamodb.consistent_read"] = ( + "aws.dynamodb.consistent_read" + ) """The value of the `ConsistentRead` request parameter. Type: bool @@ -1629,7 +1691,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__consumed_capacity.json - AWS_DYNAMODB_CONSUMED_CAPACITY: Literal["aws.dynamodb.consumed_capacity"] = "aws.dynamodb.consumed_capacity" + AWS_DYNAMODB_CONSUMED_CAPACITY: Literal["aws.dynamodb.consumed_capacity"] = ( + "aws.dynamodb.consumed_capacity" + ) """The JSON-serialized value of each item in the `ConsumedCapacity` response field. Type: List[str] @@ -1651,7 +1715,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__exclusive_start_table.json - AWS_DYNAMODB_EXCLUSIVE_START_TABLE: Literal["aws.dynamodb.exclusive_start_table"] = "aws.dynamodb.exclusive_start_table" + AWS_DYNAMODB_EXCLUSIVE_START_TABLE: Literal[ + "aws.dynamodb.exclusive_start_table" + ] = "aws.dynamodb.exclusive_start_table" """The value of the `ExclusiveStartTableName` request parameter. Type: str @@ -1662,7 +1728,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__global_secondary_index_updates.json - AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES: Literal["aws.dynamodb.global_secondary_index_updates"] = "aws.dynamodb.global_secondary_index_updates" + AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES: Literal[ + "aws.dynamodb.global_secondary_index_updates" + ] = "aws.dynamodb.global_secondary_index_updates" """The JSON-serialized value of each item in the `GlobalSecondaryIndexUpdates` request field. Type: List[str] @@ -1673,7 +1741,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__global_secondary_indexes.json - AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES: Literal["aws.dynamodb.global_secondary_indexes"] = "aws.dynamodb.global_secondary_indexes" + AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES: Literal[ + "aws.dynamodb.global_secondary_indexes" + ] = "aws.dynamodb.global_secondary_indexes" """The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field. Type: List[str] @@ -1684,7 +1754,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__index_name.json - AWS_DYNAMODB_INDEX_NAME: Literal["aws.dynamodb.index_name"] = "aws.dynamodb.index_name" + AWS_DYNAMODB_INDEX_NAME: Literal["aws.dynamodb.index_name"] = ( + "aws.dynamodb.index_name" + ) """The value of the `IndexName` request parameter. Type: str @@ -1695,7 +1767,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__item_collection_metrics.json - AWS_DYNAMODB_ITEM_COLLECTION_METRICS: Literal["aws.dynamodb.item_collection_metrics"] = "aws.dynamodb.item_collection_metrics" + AWS_DYNAMODB_ITEM_COLLECTION_METRICS: Literal[ + "aws.dynamodb.item_collection_metrics" + ] = "aws.dynamodb.item_collection_metrics" """The JSON-serialized value of the `ItemCollectionMetrics` response field. Type: str @@ -1717,7 +1791,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__local_secondary_indexes.json - AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES: Literal["aws.dynamodb.local_secondary_indexes"] = "aws.dynamodb.local_secondary_indexes" + AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES: Literal[ + "aws.dynamodb.local_secondary_indexes" + ] = "aws.dynamodb.local_secondary_indexes" """The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field. Type: List[str] @@ -1728,7 +1804,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__projection.json - AWS_DYNAMODB_PROJECTION: Literal["aws.dynamodb.projection"] = "aws.dynamodb.projection" + AWS_DYNAMODB_PROJECTION: Literal["aws.dynamodb.projection"] = ( + "aws.dynamodb.projection" + ) """The value of the `ProjectionExpression` request parameter. Type: str @@ -1739,7 +1817,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__provisioned_read_capacity.json - AWS_DYNAMODB_PROVISIONED_READ_CAPACITY: Literal["aws.dynamodb.provisioned_read_capacity"] = "aws.dynamodb.provisioned_read_capacity" + AWS_DYNAMODB_PROVISIONED_READ_CAPACITY: Literal[ + "aws.dynamodb.provisioned_read_capacity" + ] = "aws.dynamodb.provisioned_read_capacity" """The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter. Type: float @@ -1750,7 +1830,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__provisioned_write_capacity.json - AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY: Literal["aws.dynamodb.provisioned_write_capacity"] = "aws.dynamodb.provisioned_write_capacity" + AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY: Literal[ + "aws.dynamodb.provisioned_write_capacity" + ] = "aws.dynamodb.provisioned_write_capacity" """The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter. Type: float @@ -1761,7 +1843,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__scan_forward.json - AWS_DYNAMODB_SCAN_FORWARD: Literal["aws.dynamodb.scan_forward"] = "aws.dynamodb.scan_forward" + AWS_DYNAMODB_SCAN_FORWARD: Literal["aws.dynamodb.scan_forward"] = ( + "aws.dynamodb.scan_forward" + ) """The value of the `ScanIndexForward` request parameter. Type: bool @@ -1772,7 +1856,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__scanned_count.json - AWS_DYNAMODB_SCANNED_COUNT: Literal["aws.dynamodb.scanned_count"] = "aws.dynamodb.scanned_count" + AWS_DYNAMODB_SCANNED_COUNT: Literal["aws.dynamodb.scanned_count"] = ( + "aws.dynamodb.scanned_count" + ) """The value of the `ScannedCount` response parameter. Type: int @@ -1805,7 +1891,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__table_count.json - AWS_DYNAMODB_TABLE_COUNT: Literal["aws.dynamodb.table_count"] = "aws.dynamodb.table_count" + AWS_DYNAMODB_TABLE_COUNT: Literal["aws.dynamodb.table_count"] = ( + "aws.dynamodb.table_count" + ) """The number of items in the `TableNames` response parameter. Type: int @@ -1816,7 +1904,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__table_names.json - AWS_DYNAMODB_TABLE_NAMES: Literal["aws.dynamodb.table_names"] = "aws.dynamodb.table_names" + AWS_DYNAMODB_TABLE_NAMES: Literal["aws.dynamodb.table_names"] = ( + "aws.dynamodb.table_names" + ) """The keys in the `RequestItems` object field. Type: List[str] @@ -1827,7 +1917,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__dynamodb__total_segments.json - AWS_DYNAMODB_TOTAL_SEGMENTS: Literal["aws.dynamodb.total_segments"] = "aws.dynamodb.total_segments" + AWS_DYNAMODB_TOTAL_SEGMENTS: Literal["aws.dynamodb.total_segments"] = ( + "aws.dynamodb.total_segments" + ) """The value of the `TotalSegments` request parameter. Type: int @@ -1838,7 +1930,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__extended_request_id.json - AWS_EXTENDED_REQUEST_ID: Literal["aws.extended_request_id"] = "aws.extended_request_id" + AWS_EXTENDED_REQUEST_ID: Literal["aws.extended_request_id"] = ( + "aws.extended_request_id" + ) """The AWS extended request ID as returned in the response headers. Type: str @@ -1850,7 +1944,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__kinesis__stream__name.json - _AWS_KINESIS_STREAM_NAME: Literal["aws.kinesis.stream.name"] = "aws.kinesis.stream.name" + _AWS_KINESIS_STREAM_NAME: Literal["aws.kinesis.stream.name"] = ( + "aws.kinesis.stream.name" + ) """The name of the AWS Kinesis stream the request refers to. Type: str @@ -1863,7 +1959,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__kinesis__stream_name.json - AWS_KINESIS_STREAM_NAME: Literal["aws.kinesis.stream_name"] = "aws.kinesis.stream_name" + AWS_KINESIS_STREAM_NAME: Literal["aws.kinesis.stream_name"] = ( + "aws.kinesis.stream_name" + ) """The name of the AWS Kinesis stream the request refers to. Type: str @@ -1875,7 +1973,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__lambda__aws_request_id.json - AWS_LAMBDA_AWS_REQUEST_ID: Literal["aws.lambda.aws_request_id"] = "aws.lambda.aws_request_id" + AWS_LAMBDA_AWS_REQUEST_ID: Literal["aws.lambda.aws_request_id"] = ( + "aws.lambda.aws_request_id" + ) """The AWS request ID as received by the Lambda function runtime Type: str @@ -1888,7 +1988,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__lambda__execution_duration_in_millis.json - AWS_LAMBDA_EXECUTION_DURATION_IN_MILLIS: Literal["aws.lambda.execution_duration_in_millis"] = "aws.lambda.execution_duration_in_millis" + AWS_LAMBDA_EXECUTION_DURATION_IN_MILLIS: Literal[ + "aws.lambda.execution_duration_in_millis" + ] = "aws.lambda.execution_duration_in_millis" """The execution duration of the Lambda function invocation in milliseconds Type: float @@ -1899,7 +2001,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__lambda__function_name.json - AWS_LAMBDA_FUNCTION_NAME: Literal["aws.lambda.function_name"] = "aws.lambda.function_name" + AWS_LAMBDA_FUNCTION_NAME: Literal["aws.lambda.function_name"] = ( + "aws.lambda.function_name" + ) """The name of the Lambda function Type: str @@ -1912,7 +2016,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__lambda__function_version.json - AWS_LAMBDA_FUNCTION_VERSION: Literal["aws.lambda.function_version"] = "aws.lambda.function_version" + AWS_LAMBDA_FUNCTION_VERSION: Literal["aws.lambda.function_version"] = ( + "aws.lambda.function_version" + ) """The version of the Lambda function Type: str @@ -1937,7 +2043,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__lambda__invoked_function_arn.json - AWS_LAMBDA_INVOKED_FUNCTION_ARN: Literal["aws.lambda.invoked_function_arn"] = "aws.lambda.invoked_function_arn" + AWS_LAMBDA_INVOKED_FUNCTION_ARN: Literal["aws.lambda.invoked_function_arn"] = ( + "aws.lambda.invoked_function_arn" + ) """The full ARN of the Lambda function that was invoked Type: str @@ -1950,7 +2058,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__lambda__remaining_time_in_millis.json - AWS_LAMBDA_REMAINING_TIME_IN_MILLIS: Literal["aws.lambda.remaining_time_in_millis"] = "aws.lambda.remaining_time_in_millis" + AWS_LAMBDA_REMAINING_TIME_IN_MILLIS: Literal[ + "aws.lambda.remaining_time_in_millis" + ] = "aws.lambda.remaining_time_in_millis" """The remaining time in milliseconds before the Lambda function times out Type: float @@ -1996,7 +2106,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__request__extended_id.json - AWS_REQUEST_EXTENDED_ID: Literal["aws.request.extended_id"] = "aws.request.extended_id" + AWS_REQUEST_EXTENDED_ID: Literal["aws.request.extended_id"] = ( + "aws.request.extended_id" + ) """The AWS extended request ID as returned in the response headers. Type: str @@ -2113,7 +2225,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__secretsmanager__secret__arn.json - AWS_SECRETSMANAGER_SECRET_ARN: Literal["aws.secretsmanager.secret.arn"] = "aws.secretsmanager.secret.arn" + AWS_SECRETSMANAGER_SECRET_ARN: Literal["aws.secretsmanager.secret.arn"] = ( + "aws.secretsmanager.secret.arn" + ) """The ARN of the Secret stored in Secrets Manager. Type: str @@ -2146,7 +2260,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__step_functions__activity__arn.json - AWS_STEP_FUNCTIONS_ACTIVITY_ARN: Literal["aws.step_functions.activity.arn"] = "aws.step_functions.activity.arn" + AWS_STEP_FUNCTIONS_ACTIVITY_ARN: Literal["aws.step_functions.activity.arn"] = ( + "aws.step_functions.activity.arn" + ) """The ARN of the AWS Step Functions Activity. Type: str @@ -2157,7 +2273,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__step_functions__execution__arn.json - AWS_STEP_FUNCTIONS_EXECUTION_ARN: Literal["aws.step_functions.execution.arn"] = "aws.step_functions.execution.arn" + AWS_STEP_FUNCTIONS_EXECUTION_ARN: Literal["aws.step_functions.execution.arn"] = ( + "aws.step_functions.execution.arn" + ) """The ARN of the AWS Step Functions Execution. Type: str @@ -2168,7 +2286,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/aws/aws__step_functions__state_machine__arn.json - AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN: Literal["aws.step_functions.state_machine.arn"] = "aws.step_functions.state_machine.arn" + AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN: Literal[ + "aws.step_functions.state_machine.arn" + ] = "aws.step_functions.state_machine.arn" """The ARN of the AWS Step Functions State Machine. Type: str @@ -2215,7 +2335,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__bfcache__not_restored_reason_count.json - BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT: Literal["browser.bfcache.not_restored_reason_count"] = "browser.bfcache.not_restored_reason_count" + BROWSER_BFCACHE_NOT_RESTORED_REASON_COUNT: Literal[ + "browser.bfcache.not_restored_reason_count" + ] = "browser.bfcache.not_restored_reason_count" """The number of reported reasons a page was not restored from the back/forward cache on a back/forward navigation. 0 when the browser reported no reasons (e.g. non-Chromium browsers). Type: int @@ -2226,7 +2348,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__bfcache__outcome.json - BROWSER_BFCACHE_OUTCOME: Literal["browser.bfcache.outcome"] = "browser.bfcache.outcome" + BROWSER_BFCACHE_OUTCOME: Literal["browser.bfcache.outcome"] = ( + "browser.bfcache.outcome" + ) """Whether a back/forward navigation was restored from the browser's back/forward cache (bfcache). 'hit' means the page was restored; 'miss' means it was reloaded. Type: str @@ -2277,7 +2401,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__navigation__type.json - BROWSER_NAVIGATION_TYPE: Literal["browser.navigation.type"] = "browser.navigation.type" + BROWSER_NAVIGATION_TYPE: Literal["browser.navigation.type"] = ( + "browser.navigation.type" + ) """The type of navigation the browser performed to arrive at the page the metrics were measured on. Type: str @@ -2306,7 +2432,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__performance__navigation__activation_start.json - BROWSER_PERFORMANCE_NAVIGATION_ACTIVATION_START: Literal["browser.performance.navigation.activation_start"] = "browser.performance.navigation.activation_start" + BROWSER_PERFORMANCE_NAVIGATION_ACTIVATION_START: Literal[ + "browser.performance.navigation.activation_start" + ] = "browser.performance.navigation.activation_start" """The time between initiating a navigation to a page and the browser activating the page Type: float @@ -2318,7 +2446,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__performance__time_origin.json - BROWSER_PERFORMANCE_TIME_ORIGIN: Literal["browser.performance.time_origin"] = "browser.performance.time_origin" + BROWSER_PERFORMANCE_TIME_ORIGIN: Literal["browser.performance.time_origin"] = ( + "browser.performance.time_origin" + ) """The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated Type: float @@ -2352,7 +2482,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__script__invoker_type.json - BROWSER_SCRIPT_INVOKER_TYPE: Literal["browser.script.invoker_type"] = "browser.script.invoker_type" + BROWSER_SCRIPT_INVOKER_TYPE: Literal["browser.script.invoker_type"] = ( + "browser.script.invoker_type" + ) """Browser script entry point type. Type: str @@ -2363,7 +2495,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__script__source_char_position.json - BROWSER_SCRIPT_SOURCE_CHAR_POSITION: Literal["browser.script.source_char_position"] = "browser.script.source_char_position" + BROWSER_SCRIPT_SOURCE_CHAR_POSITION: Literal[ + "browser.script.source_char_position" + ] = "browser.script.source_char_position" """A number representing the script character position of the script. Type: int @@ -2386,7 +2520,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__cls__report_event.json - BROWSER_WEB_VITAL_CLS_REPORT_EVENT: Literal["browser.web_vital.cls.report_event"] = "browser.web_vital.cls.report_event" + BROWSER_WEB_VITAL_CLS_REPORT_EVENT: Literal[ + "browser.web_vital.cls.report_event" + ] = "browser.web_vital.cls.report_event" """The event that caused the SDK to report CLS (pagehide or navigation) Type: str @@ -2398,7 +2534,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__cls__source__[key].json - BROWSER_WEB_VITAL_CLS_SOURCE_KEY: Literal["browser.web_vital.cls.source."] = "browser.web_vital.cls.source." + BROWSER_WEB_VITAL_CLS_SOURCE_KEY: Literal["browser.web_vital.cls.source."] = ( + "browser.web_vital.cls.source." + ) """The HTML elements or components responsible for the layout shift. is a numeric index from 1 to N Type: str @@ -2411,7 +2549,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__cls__value.json - BROWSER_WEB_VITAL_CLS_VALUE: Literal["browser.web_vital.cls.value"] = "browser.web_vital.cls.value" + BROWSER_WEB_VITAL_CLS_VALUE: Literal["browser.web_vital.cls.value"] = ( + "browser.web_vital.cls.value" + ) """The value of the recorded Cumulative Layout Shift (CLS) web vital Type: float @@ -2423,7 +2563,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__fcp__value.json - BROWSER_WEB_VITAL_FCP_VALUE: Literal["browser.web_vital.fcp.value"] = "browser.web_vital.fcp.value" + BROWSER_WEB_VITAL_FCP_VALUE: Literal["browser.web_vital.fcp.value"] = ( + "browser.web_vital.fcp.value" + ) """The time it takes for the browser to render the first piece of meaningful content on the screen Type: float @@ -2435,7 +2577,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__fp__value.json - BROWSER_WEB_VITAL_FP_VALUE: Literal["browser.web_vital.fp.value"] = "browser.web_vital.fp.value" + BROWSER_WEB_VITAL_FP_VALUE: Literal["browser.web_vital.fp.value"] = ( + "browser.web_vital.fp.value" + ) """The time in milliseconds it takes for the browser to render the first pixel on the screen Type: float @@ -2447,7 +2591,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__inp__interaction_type.json - BROWSER_WEB_VITAL_INP_INTERACTION_TYPE: Literal["browser.web_vital.inp.interaction_type"] = "browser.web_vital.inp.interaction_type" + BROWSER_WEB_VITAL_INP_INTERACTION_TYPE: Literal[ + "browser.web_vital.inp.interaction_type" + ] = "browser.web_vital.inp.interaction_type" """The kind of user interaction INP was reported on Type: str @@ -2461,7 +2607,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__inp__target.json - BROWSER_WEB_VITAL_INP_TARGET: Literal["browser.web_vital.inp.target"] = "browser.web_vital.inp.target" + BROWSER_WEB_VITAL_INP_TARGET: Literal["browser.web_vital.inp.target"] = ( + "browser.web_vital.inp.target" + ) """The HTML element selector or component name of the element the user interacted with, for the interaction INP was reported on Type: str @@ -2473,7 +2621,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__inp__value.json - BROWSER_WEB_VITAL_INP_VALUE: Literal["browser.web_vital.inp.value"] = "browser.web_vital.inp.value" + BROWSER_WEB_VITAL_INP_VALUE: Literal["browser.web_vital.inp.value"] = ( + "browser.web_vital.inp.value" + ) """The value of the recorded Interaction to Next Paint (INP) web vital Type: float @@ -2485,7 +2635,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__element.json - BROWSER_WEB_VITAL_LCP_ELEMENT: Literal["browser.web_vital.lcp.element"] = "browser.web_vital.lcp.element" + BROWSER_WEB_VITAL_LCP_ELEMENT: Literal["browser.web_vital.lcp.element"] = ( + "browser.web_vital.lcp.element" + ) """The HTML element selector or component name for which LCP was reported Type: str @@ -2497,7 +2649,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__id.json - BROWSER_WEB_VITAL_LCP_ID: Literal["browser.web_vital.lcp.id"] = "browser.web_vital.lcp.id" + BROWSER_WEB_VITAL_LCP_ID: Literal["browser.web_vital.lcp.id"] = ( + "browser.web_vital.lcp.id" + ) """The id of the dom element responsible for the largest contentful paint Type: str @@ -2509,7 +2663,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__load_time.json - BROWSER_WEB_VITAL_LCP_LOAD_TIME: Literal["browser.web_vital.lcp.load_time"] = "browser.web_vital.lcp.load_time" + BROWSER_WEB_VITAL_LCP_LOAD_TIME: Literal["browser.web_vital.lcp.load_time"] = ( + "browser.web_vital.lcp.load_time" + ) """The time it took for the LCP element to be loaded Type: int @@ -2521,7 +2677,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__render_time.json - BROWSER_WEB_VITAL_LCP_RENDER_TIME: Literal["browser.web_vital.lcp.render_time"] = "browser.web_vital.lcp.render_time" + BROWSER_WEB_VITAL_LCP_RENDER_TIME: Literal["browser.web_vital.lcp.render_time"] = ( + "browser.web_vital.lcp.render_time" + ) """The time it took for the LCP element to be rendered Type: int @@ -2533,7 +2691,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__report_event.json - BROWSER_WEB_VITAL_LCP_REPORT_EVENT: Literal["browser.web_vital.lcp.report_event"] = "browser.web_vital.lcp.report_event" + BROWSER_WEB_VITAL_LCP_REPORT_EVENT: Literal[ + "browser.web_vital.lcp.report_event" + ] = "browser.web_vital.lcp.report_event" """The event that caused the SDK to report LCP (pagehide or navigation) Type: str @@ -2545,7 +2705,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__size.json - BROWSER_WEB_VITAL_LCP_SIZE: Literal["browser.web_vital.lcp.size"] = "browser.web_vital.lcp.size" + BROWSER_WEB_VITAL_LCP_SIZE: Literal["browser.web_vital.lcp.size"] = ( + "browser.web_vital.lcp.size" + ) """The size of the largest contentful paint element Type: int @@ -2557,7 +2719,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__url.json - BROWSER_WEB_VITAL_LCP_URL: Literal["browser.web_vital.lcp.url"] = "browser.web_vital.lcp.url" + BROWSER_WEB_VITAL_LCP_URL: Literal["browser.web_vital.lcp.url"] = ( + "browser.web_vital.lcp.url" + ) """The url of the dom element responsible for the largest contentful paint Type: str @@ -2569,7 +2733,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__lcp__value.json - BROWSER_WEB_VITAL_LCP_VALUE: Literal["browser.web_vital.lcp.value"] = "browser.web_vital.lcp.value" + BROWSER_WEB_VITAL_LCP_VALUE: Literal["browser.web_vital.lcp.value"] = ( + "browser.web_vital.lcp.value" + ) """The value of the recorded Largest Contentful Paint (LCP) web vital Type: float @@ -2581,7 +2747,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__ttfb__request_time.json - BROWSER_WEB_VITAL_TTFB_REQUEST_TIME: Literal["browser.web_vital.ttfb.request_time"] = "browser.web_vital.ttfb.request_time" + BROWSER_WEB_VITAL_TTFB_REQUEST_TIME: Literal[ + "browser.web_vital.ttfb.request_time" + ] = "browser.web_vital.ttfb.request_time" """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: float @@ -2593,7 +2761,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/browser/browser__web_vital__ttfb__value.json - BROWSER_WEB_VITAL_TTFB_VALUE: Literal["browser.web_vital.ttfb.value"] = "browser.web_vital.ttfb.value" + BROWSER_WEB_VITAL_TTFB_VALUE: Literal["browser.web_vital.ttfb.value"] = ( + "browser.web_vital.ttfb.value" + ) """The value of the recorded Time To First Byte (TTFB) web vital in Milliseconds Type: float @@ -2742,7 +2912,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloud/cloud__availability_zone.json - CLOUD_AVAILABILITY_ZONE: Literal["cloud.availability_zone"] = "cloud.availability_zone" + CLOUD_AVAILABILITY_ZONE: Literal["cloud.availability_zone"] = ( + "cloud.availability_zone" + ) """Cloud regions often have multiple, isolated locations known as zones to increase availability Type: str @@ -2810,7 +2982,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__d1__query_type.json - CLOUDFLARE_D1_QUERY_TYPE: Literal["cloudflare.d1.query_type"] = "cloudflare.d1.query_type" + CLOUDFLARE_D1_QUERY_TYPE: Literal["cloudflare.d1.query_type"] = ( + "cloudflare.d1.query_type" + ) """The type of query executed in a Cloudflare D1 operation Type: str @@ -2823,7 +2997,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__d1__rows_read.json - CLOUDFLARE_D1_ROWS_READ: Literal["cloudflare.d1.rows_read"] = "cloudflare.d1.rows_read" + CLOUDFLARE_D1_ROWS_READ: Literal["cloudflare.d1.rows_read"] = ( + "cloudflare.d1.rows_read" + ) """The number of rows read in a Cloudflare D1 operation. Type: int @@ -2834,7 +3010,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__d1__rows_written.json - CLOUDFLARE_D1_ROWS_WRITTEN: Literal["cloudflare.d1.rows_written"] = "cloudflare.d1.rows_written" + CLOUDFLARE_D1_ROWS_WRITTEN: Literal["cloudflare.d1.rows_written"] = ( + "cloudflare.d1.rows_written" + ) """The number of rows written in a Cloudflare D1 operation. Type: int @@ -2845,7 +3023,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__durable_object__query__bindings.json - CLOUDFLARE_DURABLE_OBJECT_QUERY_BINDINGS: Literal["cloudflare.durable_object.query.bindings"] = "cloudflare.durable_object.query.bindings" + CLOUDFLARE_DURABLE_OBJECT_QUERY_BINDINGS: Literal[ + "cloudflare.durable_object.query.bindings" + ] = "cloudflare.durable_object.query.bindings" """The number of bound parameters passed to the SQL exec call. Type: int @@ -2856,7 +3036,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__durable_object__response__rows_read.json - CLOUDFLARE_DURABLE_OBJECT_RESPONSE_ROWS_READ: Literal["cloudflare.durable_object.response.rows_read"] = "cloudflare.durable_object.response.rows_read" + CLOUDFLARE_DURABLE_OBJECT_RESPONSE_ROWS_READ: Literal[ + "cloudflare.durable_object.response.rows_read" + ] = "cloudflare.durable_object.response.rows_read" """The number of rows read by a Cloudflare Durable Object SQL operation. Type: int @@ -2867,7 +3049,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__durable_object__response__rows_written.json - CLOUDFLARE_DURABLE_OBJECT_RESPONSE_ROWS_WRITTEN: Literal["cloudflare.durable_object.response.rows_written"] = "cloudflare.durable_object.response.rows_written" + CLOUDFLARE_DURABLE_OBJECT_RESPONSE_ROWS_WRITTEN: Literal[ + "cloudflare.durable_object.response.rows_written" + ] = "cloudflare.durable_object.response.rows_written" """The number of rows written by a Cloudflare Durable Object SQL operation. Type: int @@ -2889,7 +3073,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__r2__operation.json - CLOUDFLARE_R2_OPERATION: Literal["cloudflare.r2.operation"] = "cloudflare.r2.operation" + CLOUDFLARE_R2_OPERATION: Literal["cloudflare.r2.operation"] = ( + "cloudflare.r2.operation" + ) """The R2 API operation being performed Type: str @@ -2900,7 +3086,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__r2__request__delimiter.json - CLOUDFLARE_R2_REQUEST_DELIMITER: Literal["cloudflare.r2.request.delimiter"] = "cloudflare.r2.request.delimiter" + CLOUDFLARE_R2_REQUEST_DELIMITER: Literal["cloudflare.r2.request.delimiter"] = ( + "cloudflare.r2.request.delimiter" + ) """The delimiter used to group objects in an R2 list operation Type: str @@ -2911,7 +3099,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__r2__request__key.json - CLOUDFLARE_R2_REQUEST_KEY: Literal["cloudflare.r2.request.key"] = "cloudflare.r2.request.key" + CLOUDFLARE_R2_REQUEST_KEY: Literal["cloudflare.r2.request.key"] = ( + "cloudflare.r2.request.key" + ) """The object key used in the R2 operation Type: str @@ -2922,7 +3112,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__r2__request__part_number.json - CLOUDFLARE_R2_REQUEST_PART_NUMBER: Literal["cloudflare.r2.request.part_number"] = "cloudflare.r2.request.part_number" + CLOUDFLARE_R2_REQUEST_PART_NUMBER: Literal["cloudflare.r2.request.part_number"] = ( + "cloudflare.r2.request.part_number" + ) """The part number in a multipart upload operation Type: int @@ -2933,7 +3125,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__r2__request__prefix.json - CLOUDFLARE_R2_REQUEST_PREFIX: Literal["cloudflare.r2.request.prefix"] = "cloudflare.r2.request.prefix" + CLOUDFLARE_R2_REQUEST_PREFIX: Literal["cloudflare.r2.request.prefix"] = ( + "cloudflare.r2.request.prefix" + ) """The prefix used to filter objects in an R2 list operation Type: str @@ -2944,7 +3138,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__workflow__attempt.json - CLOUDFLARE_WORKFLOW_ATTEMPT: Literal["cloudflare.workflow.attempt"] = "cloudflare.workflow.attempt" + CLOUDFLARE_WORKFLOW_ATTEMPT: Literal["cloudflare.workflow.attempt"] = ( + "cloudflare.workflow.attempt" + ) """The current attempt number for a Cloudflare Workflow step Type: int @@ -2955,7 +3151,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__workflow__retries__backoff.json - CLOUDFLARE_WORKFLOW_RETRIES_BACKOFF: Literal["cloudflare.workflow.retries.backoff"] = "cloudflare.workflow.retries.backoff" + CLOUDFLARE_WORKFLOW_RETRIES_BACKOFF: Literal[ + "cloudflare.workflow.retries.backoff" + ] = "cloudflare.workflow.retries.backoff" """The backoff strategy for Cloudflare Workflow step retries Type: str @@ -2966,7 +3164,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__workflow__retries__delay.json - CLOUDFLARE_WORKFLOW_RETRIES_DELAY: Literal["cloudflare.workflow.retries.delay"] = "cloudflare.workflow.retries.delay" + CLOUDFLARE_WORKFLOW_RETRIES_DELAY: Literal["cloudflare.workflow.retries.delay"] = ( + "cloudflare.workflow.retries.delay" + ) """The delay between Cloudflare Workflow step retries Type: str @@ -2977,7 +3177,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__workflow__retries__limit.json - CLOUDFLARE_WORKFLOW_RETRIES_LIMIT: Literal["cloudflare.workflow.retries.limit"] = "cloudflare.workflow.retries.limit" + CLOUDFLARE_WORKFLOW_RETRIES_LIMIT: Literal["cloudflare.workflow.retries.limit"] = ( + "cloudflare.workflow.retries.limit" + ) """The maximum number of retries for a Cloudflare Workflow step Type: int @@ -2988,7 +3190,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/cloudflare/cloudflare__workflow__timeout.json - CLOUDFLARE_WORKFLOW_TIMEOUT: Literal["cloudflare.workflow.timeout"] = "cloudflare.workflow.timeout" + CLOUDFLARE_WORKFLOW_TIMEOUT: Literal["cloudflare.workflow.timeout"] = ( + "cloudflare.workflow.timeout" + ) """The timeout duration for a Cloudflare Workflow step Type: str @@ -3172,7 +3376,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/culture/culture__is_24_hour_format.json - CULTURE_IS_24_HOUR_FORMAT: Literal["culture.is_24_hour_format"] = "culture.is_24_hour_format" + CULTURE_IS_24_HOUR_FORMAT: Literal["culture.is_24_hour_format"] = ( + "culture.is_24_hour_format" + ) """Whether the culture uses 24-hour time format. Type: bool @@ -3291,7 +3497,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/db/db__operation__batch__size.json - DB_OPERATION_BATCH_SIZE: Literal["db.operation.batch.size"] = "db.operation.batch.size" + DB_OPERATION_BATCH_SIZE: Literal["db.operation.batch.size"] = ( + "db.operation.batch.size" + ) """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: int @@ -3326,7 +3534,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/db/db__query__parameter__[key].json - DB_QUERY_PARAMETER_KEY: Literal["db.query.parameter."] = "db.query.parameter." + DB_QUERY_PARAMETER_KEY: Literal["db.query.parameter."] = ( + "db.query.parameter." + ) """A query parameter used in db.query.text, with being the parameter name, and the attribute value being a string representation of the parameter value. Type: str @@ -3396,7 +3606,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/db/db__response__status_code.json - DB_RESPONSE_STATUS_CODE: Literal["db.response.status_code"] = "db.response.status_code" + DB_RESPONSE_STATUS_CODE: Literal["db.response.status_code"] = ( + "db.response.status_code" + ) """Database response status code. The status code returned by the database. Usually it represents an error code, but may also represent partial success, warning, or differentiate between various types of successful outcomes. Type: str @@ -3432,7 +3644,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/db/db__stored_procedure__name.json - DB_STORED_PROCEDURE_NAME: Literal["db.stored_procedure.name"] = "db.stored_procedure.name" + DB_STORED_PROCEDURE_NAME: Literal["db.stored_procedure.name"] = ( + "db.stored_procedure.name" + ) """The name of a stored procedure being called. Type: str @@ -3501,7 +3715,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__battery_temperature.json - DEVICE_BATTERY_TEMPERATURE: Literal["device.battery_temperature"] = "device.battery_temperature" + DEVICE_BATTERY_TEMPERATURE: Literal["device.battery_temperature"] = ( + "device.battery_temperature" + ) """The battery temperature of the device in Celsius. Type: float @@ -3591,7 +3807,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__external_free_storage.json - DEVICE_EXTERNAL_FREE_STORAGE: Literal["device.external_free_storage"] = "device.external_free_storage" + DEVICE_EXTERNAL_FREE_STORAGE: Literal["device.external_free_storage"] = ( + "device.external_free_storage" + ) """External storage free size in bytes. Type: int @@ -3602,7 +3820,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__external_storage_size.json - DEVICE_EXTERNAL_STORAGE_SIZE: Literal["device.external_storage_size"] = "device.external_storage_size" + DEVICE_EXTERNAL_STORAGE_SIZE: Literal["device.external_storage_size"] = ( + "device.external_storage_size" + ) """External storage total size in bytes. Type: int @@ -3701,7 +3921,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__memory__estimated_capacity.json - DEVICE_MEMORY_ESTIMATED_CAPACITY: Literal["device.memory.estimated_capacity"] = "device.memory.estimated_capacity" + DEVICE_MEMORY_ESTIMATED_CAPACITY: Literal["device.memory.estimated_capacity"] = ( + "device.memory.estimated_capacity" + ) """The estimated total memory capacity of the device, only a rough estimation in gigabytes. Browsers report estimations in buckets of powers of 2, mostly capped at 8 GB Type: int @@ -3791,7 +4013,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__processor_frequency.json - DEVICE_PROCESSOR_FREQUENCY: Literal["device.processor_frequency"] = "device.processor_frequency" + DEVICE_PROCESSOR_FREQUENCY: Literal["device.processor_frequency"] = ( + "device.processor_frequency" + ) """Processor frequency in MHz. Type: float @@ -3824,7 +4048,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__screen_height_pixels.json - DEVICE_SCREEN_HEIGHT_PIXELS: Literal["device.screen_height_pixels"] = "device.screen_height_pixels" + DEVICE_SCREEN_HEIGHT_PIXELS: Literal["device.screen_height_pixels"] = ( + "device.screen_height_pixels" + ) """The height of the device screen in pixels. Type: int @@ -3835,7 +4061,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/device/device__screen_width_pixels.json - DEVICE_SCREEN_WIDTH_PIXELS: Literal["device.screen_width_pixels"] = "device.screen_width_pixels" + DEVICE_SCREEN_WIDTH_PIXELS: Literal["device.screen_width_pixels"] = ( + "device.screen_width_pixels" + ) """The width of the device screen in pixels. Type: int @@ -3958,7 +4186,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/effectiveConnectionType.json - EFFECTIVECONNECTIONTYPE: Literal["effectiveConnectionType"] = "effectiveConnectionType" + EFFECTIVECONNECTIONTYPE: Literal["effectiveConnectionType"] = ( + "effectiveConnectionType" + ) """Specifies the estimated effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g). Type: str @@ -4381,7 +4611,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__event_id.json - GCP_FUNCTION_CONTEXT_EVENT_ID: Literal["gcp.function.context.event_id"] = "gcp.function.context.event_id" + GCP_FUNCTION_CONTEXT_EVENT_ID: Literal["gcp.function.context.event_id"] = ( + "gcp.function.context.event_id" + ) """The event ID from the legacy GCP Cloud Function context (1st gen) Type: str @@ -4392,7 +4624,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__event_type.json - GCP_FUNCTION_CONTEXT_EVENT_TYPE: Literal["gcp.function.context.event_type"] = "gcp.function.context.event_type" + GCP_FUNCTION_CONTEXT_EVENT_TYPE: Literal["gcp.function.context.event_type"] = ( + "gcp.function.context.event_type" + ) """The type of the GCP Cloud Function event Type: str @@ -4403,7 +4637,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__id.json - GCP_FUNCTION_CONTEXT_ID: Literal["gcp.function.context.id"] = "gcp.function.context.id" + GCP_FUNCTION_CONTEXT_ID: Literal["gcp.function.context.id"] = ( + "gcp.function.context.id" + ) """The unique event ID from the GCP CloudEvents context (2nd gen Cloud Functions) Type: str @@ -4414,7 +4650,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__resource.json - GCP_FUNCTION_CONTEXT_RESOURCE: Literal["gcp.function.context.resource"] = "gcp.function.context.resource" + GCP_FUNCTION_CONTEXT_RESOURCE: Literal["gcp.function.context.resource"] = ( + "gcp.function.context.resource" + ) """The resource that triggered the GCP Cloud Function event Type: str @@ -4425,7 +4663,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__source.json - GCP_FUNCTION_CONTEXT_SOURCE: Literal["gcp.function.context.source"] = "gcp.function.context.source" + GCP_FUNCTION_CONTEXT_SOURCE: Literal["gcp.function.context.source"] = ( + "gcp.function.context.source" + ) """The source of the GCP Cloud Function event Type: str @@ -4436,7 +4676,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__specversion.json - GCP_FUNCTION_CONTEXT_SPECVERSION: Literal["gcp.function.context.specversion"] = "gcp.function.context.specversion" + GCP_FUNCTION_CONTEXT_SPECVERSION: Literal["gcp.function.context.specversion"] = ( + "gcp.function.context.specversion" + ) """The CloudEvents specification version of the GCP Cloud Function event Type: str @@ -4447,7 +4689,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__time.json - GCP_FUNCTION_CONTEXT_TIME: Literal["gcp.function.context.time"] = "gcp.function.context.time" + GCP_FUNCTION_CONTEXT_TIME: Literal["gcp.function.context.time"] = ( + "gcp.function.context.time" + ) """The timestamp of the GCP Cloud Function event Type: str @@ -4458,7 +4702,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__timestamp.json - GCP_FUNCTION_CONTEXT_TIMESTAMP: Literal["gcp.function.context.timestamp"] = "gcp.function.context.timestamp" + GCP_FUNCTION_CONTEXT_TIMESTAMP: Literal["gcp.function.context.timestamp"] = ( + "gcp.function.context.timestamp" + ) """The legacy timestamp of the GCP Cloud Function event Type: str @@ -4469,7 +4715,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gcp/gcp__function__context__type.json - GCP_FUNCTION_CONTEXT_TYPE: Literal["gcp.function.context.type"] = "gcp.function.context.type" + GCP_FUNCTION_CONTEXT_TYPE: Literal["gcp.function.context.type"] = ( + "gcp.function.context.type" + ) """The type of the GCP Cloud Function event context Type: str @@ -4515,7 +4763,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__context__utilization.json - GEN_AI_CONTEXT_UTILIZATION: Literal["gen_ai.context.utilization"] = "gen_ai.context.utilization" + GEN_AI_CONTEXT_UTILIZATION: Literal["gen_ai.context.utilization"] = ( + "gen_ai.context.utilization" + ) """The fraction of the model context window utilized by this generation. Type: float @@ -4526,7 +4776,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__context__window_size.json - GEN_AI_CONTEXT_WINDOW_SIZE: Literal["gen_ai.context.window_size"] = "gen_ai.context.window_size" + GEN_AI_CONTEXT_WINDOW_SIZE: Literal["gen_ai.context.window_size"] = ( + "gen_ai.context.window_size" + ) """The maximum context window size supported by the model for this generation. Type: int @@ -4548,7 +4800,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__cost__cache_creation__input_tokens.json - GEN_AI_COST_CACHE_CREATION_INPUT_TOKENS: Literal["gen_ai.cost.cache_creation.input_tokens"] = "gen_ai.cost.cache_creation.input_tokens" + GEN_AI_COST_CACHE_CREATION_INPUT_TOKENS: Literal[ + "gen_ai.cost.cache_creation.input_tokens" + ] = "gen_ai.cost.cache_creation.input_tokens" """The cost of input tokens written to cache in USD. Type: float @@ -4559,7 +4813,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__cost__cache_read__input_tokens.json - GEN_AI_COST_CACHE_READ_INPUT_TOKENS: Literal["gen_ai.cost.cache_read.input_tokens"] = "gen_ai.cost.cache_read.input_tokens" + GEN_AI_COST_CACHE_READ_INPUT_TOKENS: Literal[ + "gen_ai.cost.cache_read.input_tokens" + ] = "gen_ai.cost.cache_read.input_tokens" """The cost of cached input tokens in USD. Type: float @@ -4570,7 +4826,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__cost__input_tokens.json - GEN_AI_COST_INPUT_TOKENS: Literal["gen_ai.cost.input_tokens"] = "gen_ai.cost.input_tokens" + GEN_AI_COST_INPUT_TOKENS: Literal["gen_ai.cost.input_tokens"] = ( + "gen_ai.cost.input_tokens" + ) """The total cost of all input tokens in USD (includes cached and cache creation tokens). Type: float @@ -4581,7 +4839,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__cost__output_tokens.json - GEN_AI_COST_OUTPUT_TOKENS: Literal["gen_ai.cost.output_tokens"] = "gen_ai.cost.output_tokens" + GEN_AI_COST_OUTPUT_TOKENS: Literal["gen_ai.cost.output_tokens"] = ( + "gen_ai.cost.output_tokens" + ) """The total cost of all output tokens in USD (includes reasoning tokens). Type: float @@ -4592,7 +4852,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__cost__reasoning__output_tokens.json - GEN_AI_COST_REASONING_OUTPUT_TOKENS: Literal["gen_ai.cost.reasoning.output_tokens"] = "gen_ai.cost.reasoning.output_tokens" + GEN_AI_COST_REASONING_OUTPUT_TOKENS: Literal[ + "gen_ai.cost.reasoning.output_tokens" + ] = "gen_ai.cost.reasoning.output_tokens" """The cost of reasoning output tokens in USD. Type: float @@ -4603,7 +4865,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__cost__total_tokens.json - GEN_AI_COST_TOTAL_TOKENS: Literal["gen_ai.cost.total_tokens"] = "gen_ai.cost.total_tokens" + GEN_AI_COST_TOTAL_TOKENS: Literal["gen_ai.cost.total_tokens"] = ( + "gen_ai.cost.total_tokens" + ) """The total cost for the tokens used. Type: float @@ -4615,7 +4879,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__embeddings__input.json - GEN_AI_EMBEDDINGS_INPUT: Literal["gen_ai.embeddings.input"] = "gen_ai.embeddings.input" + GEN_AI_EMBEDDINGS_INPUT: Literal["gen_ai.embeddings.input"] = ( + "gen_ai.embeddings.input" + ) """The input to the embeddings model. Type: str @@ -4649,7 +4915,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__memory__query__text.json - GEN_AI_MEMORY_QUERY_TEXT: Literal["gen_ai.memory.query.text"] = "gen_ai.memory.query.text" + GEN_AI_MEMORY_QUERY_TEXT: Literal["gen_ai.memory.query.text"] = ( + "gen_ai.memory.query.text" + ) """The search query used to retrieve memories. Only applicable to 'search_memory'. Opt-in: instrumentations SHOULD NOT capture this by default and SHOULD gate it behind explicit user opt-in, as it may contain sensitive information. Type: str @@ -4661,7 +4929,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__memory__record__count.json - GEN_AI_MEMORY_RECORD_COUNT: Literal["gen_ai.memory.record.count"] = "gen_ai.memory.record.count" + GEN_AI_MEMORY_RECORD_COUNT: Literal["gen_ai.memory.record.count"] = ( + "gen_ai.memory.record.count" + ) """The number of memory records relevant to the operation. For 'search_memory' this is the number returned; for 'create_memory', 'update_memory', 'upsert_memory' and 'delete_memory' it is the number the operation attempted to create, modify, create-or-update, or delete respectively. Type: int @@ -4672,7 +4942,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__memory__record__id.json - GEN_AI_MEMORY_RECORD_ID: Literal["gen_ai.memory.record.id"] = "gen_ai.memory.record.id" + GEN_AI_MEMORY_RECORD_ID: Literal["gen_ai.memory.record.id"] = ( + "gen_ai.memory.record.id" + ) """The unique identifier of the memory record. Set when the operation applies to a specific memory record. For 'delete_memory', its absence may indicate the operation intends to delete all memory records in the store. Type: str @@ -4802,7 +5074,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__prompt__variable__[key].json - GEN_AI_PROMPT_VARIABLE_KEY: Literal["gen_ai.prompt.variable."] = "gen_ai.prompt.variable." + GEN_AI_PROMPT_VARIABLE_KEY: Literal["gen_ai.prompt.variable."] = ( + "gen_ai.prompt.variable." + ) """Variables supplied to the prompt template. The is the variable name, and the value is the variable value serialized as a string. Type: str @@ -4827,7 +5101,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__available_tools.json - GEN_AI_REQUEST_AVAILABLE_TOOLS: Literal["gen_ai.request.available_tools"] = "gen_ai.request.available_tools" + GEN_AI_REQUEST_AVAILABLE_TOOLS: Literal["gen_ai.request.available_tools"] = ( + "gen_ai.request.available_tools" + ) """The available tools for the model. It has to be a stringified version of an array of objects. Type: str @@ -4840,7 +5116,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__frequency_penalty.json - GEN_AI_REQUEST_FREQUENCY_PENALTY: Literal["gen_ai.request.frequency_penalty"] = "gen_ai.request.frequency_penalty" + GEN_AI_REQUEST_FREQUENCY_PENALTY: Literal["gen_ai.request.frequency_penalty"] = ( + "gen_ai.request.frequency_penalty" + ) """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: float @@ -4852,7 +5130,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__max_tokens.json - GEN_AI_REQUEST_MAX_TOKENS: Literal["gen_ai.request.max_tokens"] = "gen_ai.request.max_tokens" + GEN_AI_REQUEST_MAX_TOKENS: Literal["gen_ai.request.max_tokens"] = ( + "gen_ai.request.max_tokens" + ) """The maximum number of tokens to generate in the response. Type: int @@ -4863,7 +5143,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__messages.json - GEN_AI_REQUEST_MESSAGES: Literal["gen_ai.request.messages"] = "gen_ai.request.messages" + GEN_AI_REQUEST_MESSAGES: Literal["gen_ai.request.messages"] = ( + "gen_ai.request.messages" + ) """The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `"user"`, `"assistant"`, `"tool"`, or `"system"`. For messages of the role `"tool"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: "text", text:"..."}`. Type: str @@ -4888,7 +5170,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__presence_penalty.json - GEN_AI_REQUEST_PRESENCE_PENALTY: Literal["gen_ai.request.presence_penalty"] = "gen_ai.request.presence_penalty" + GEN_AI_REQUEST_PRESENCE_PENALTY: Literal["gen_ai.request.presence_penalty"] = ( + "gen_ai.request.presence_penalty" + ) """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: float @@ -4900,7 +5184,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__reasoning__level.json - GEN_AI_REQUEST_REASONING_LEVEL: Literal["gen_ai.request.reasoning.level"] = "gen_ai.request.reasoning.level" + GEN_AI_REQUEST_REASONING_LEVEL: Literal["gen_ai.request.reasoning.level"] = ( + "gen_ai.request.reasoning.level" + ) """The reasoning or thinking effort level requested for a GenAI model. Type: str @@ -4935,7 +5221,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__stop_sequences.json - GEN_AI_REQUEST_STOP_SEQUENCES: Literal["gen_ai.request.stop_sequences"] = "gen_ai.request.stop_sequences" + GEN_AI_REQUEST_STOP_SEQUENCES: Literal["gen_ai.request.stop_sequences"] = ( + "gen_ai.request.stop_sequences" + ) """List of sequences that the model will use to stop generating further tokens. Type: List[str] @@ -4946,7 +5234,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__request__temperature.json - GEN_AI_REQUEST_TEMPERATURE: Literal["gen_ai.request.temperature"] = "gen_ai.request.temperature" + GEN_AI_REQUEST_TEMPERATURE: Literal["gen_ai.request.temperature"] = ( + "gen_ai.request.temperature" + ) """For an AI model call, the temperature parameter. Temperature essentially means how random the output will be. Type: float @@ -4982,7 +5272,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__finish_reason.json - GEN_AI_RESPONSE_FINISH_REASON: Literal["gen_ai.response.finish_reason"] = "gen_ai.response.finish_reason" + GEN_AI_RESPONSE_FINISH_REASON: Literal["gen_ai.response.finish_reason"] = ( + "gen_ai.response.finish_reason" + ) """The reason why the model stopped generating (singular form). Type: str @@ -4995,7 +5287,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__finish_reasons.json - GEN_AI_RESPONSE_FINISH_REASONS: Literal["gen_ai.response.finish_reasons"] = "gen_ai.response.finish_reasons" + GEN_AI_RESPONSE_FINISH_REASONS: Literal["gen_ai.response.finish_reasons"] = ( + "gen_ai.response.finish_reasons" + ) """The reason why the model stopped generating. Type: str @@ -5043,7 +5337,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__streaming.json - GEN_AI_RESPONSE_STREAMING: Literal["gen_ai.response.streaming"] = "gen_ai.response.streaming" + GEN_AI_RESPONSE_STREAMING: Literal["gen_ai.response.streaming"] = ( + "gen_ai.response.streaming" + ) """Whether or not the AI model call's response was streamed back asynchronously Type: bool @@ -5067,7 +5363,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__time_to_first_chunk.json - GEN_AI_RESPONSE_TIME_TO_FIRST_CHUNK: Literal["gen_ai.response.time_to_first_chunk"] = "gen_ai.response.time_to_first_chunk" + GEN_AI_RESPONSE_TIME_TO_FIRST_CHUNK: Literal[ + "gen_ai.response.time_to_first_chunk" + ] = "gen_ai.response.time_to_first_chunk" """Time in seconds when the first response content chunk arrived in streaming responses. Type: float @@ -5079,7 +5377,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__time_to_first_token.json - GEN_AI_RESPONSE_TIME_TO_FIRST_TOKEN: Literal["gen_ai.response.time_to_first_token"] = "gen_ai.response.time_to_first_token" + GEN_AI_RESPONSE_TIME_TO_FIRST_TOKEN: Literal[ + "gen_ai.response.time_to_first_token" + ] = "gen_ai.response.time_to_first_token" """Time in seconds when the first response content chunk arrived in streaming responses. Type: float @@ -5092,7 +5392,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__tokens_per_second.json - GEN_AI_RESPONSE_TOKENS_PER_SECOND: Literal["gen_ai.response.tokens_per_second"] = "gen_ai.response.tokens_per_second" + GEN_AI_RESPONSE_TOKENS_PER_SECOND: Literal["gen_ai.response.tokens_per_second"] = ( + "gen_ai.response.tokens_per_second" + ) """The total output tokens per seconds throughput Type: float @@ -5103,7 +5405,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__response__tool_calls.json - GEN_AI_RESPONSE_TOOL_CALLS: Literal["gen_ai.response.tool_calls"] = "gen_ai.response.tool_calls" + GEN_AI_RESPONSE_TOOL_CALLS: Literal["gen_ai.response.tool_calls"] = ( + "gen_ai.response.tool_calls" + ) """The tool calls in the model's response. It has to be a stringified version of an array of objects. Type: str @@ -5140,7 +5444,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__system_instructions.json - GEN_AI_SYSTEM_INSTRUCTIONS: Literal["gen_ai.system_instructions"] = "gen_ai.system_instructions" + GEN_AI_SYSTEM_INSTRUCTIONS: Literal["gen_ai.system_instructions"] = ( + "gen_ai.system_instructions" + ) """The system instructions passed to the model. Type: str @@ -5152,7 +5458,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__tool__call__arguments.json - GEN_AI_TOOL_CALL_ARGUMENTS: Literal["gen_ai.tool.call.arguments"] = "gen_ai.tool.call.arguments" + GEN_AI_TOOL_CALL_ARGUMENTS: Literal["gen_ai.tool.call.arguments"] = ( + "gen_ai.tool.call.arguments" + ) """The arguments of the tool call. It has to be a stringified version of the arguments to the tool. Type: str @@ -5164,7 +5472,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__tool__call__result.json - GEN_AI_TOOL_CALL_RESULT: Literal["gen_ai.tool.call.result"] = "gen_ai.tool.call.result" + GEN_AI_TOOL_CALL_RESULT: Literal["gen_ai.tool.call.result"] = ( + "gen_ai.tool.call.result" + ) """The result of the tool call. It has to be a stringified version of the result of the tool. Type: str @@ -5176,7 +5486,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__tool__definitions.json - GEN_AI_TOOL_DEFINITIONS: Literal["gen_ai.tool.definitions"] = "gen_ai.tool.definitions" + GEN_AI_TOOL_DEFINITIONS: Literal["gen_ai.tool.definitions"] = ( + "gen_ai.tool.definitions" + ) """The list of source system tool definitions available to the GenAI agent or model. Type: str @@ -5188,7 +5500,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__tool__description.json - GEN_AI_TOOL_DESCRIPTION: Literal["gen_ai.tool.description"] = "gen_ai.tool.description" + GEN_AI_TOOL_DESCRIPTION: Literal["gen_ai.tool.description"] = ( + "gen_ai.tool.description" + ) """The description of the tool being used. Type: str @@ -5262,7 +5576,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__cache_creation__input_tokens.json - GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS: Literal["gen_ai.usage.cache_creation.input_tokens"] = "gen_ai.usage.cache_creation.input_tokens" + GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS: Literal[ + "gen_ai.usage.cache_creation.input_tokens" + ] = "gen_ai.usage.cache_creation.input_tokens" """The number of tokens written to the cache when processing the AI input (prompt). Type: int @@ -5274,7 +5590,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__cache_creation_input_tokens.json - _GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS: Literal["gen_ai.usage.cache_creation_input_tokens"] = "gen_ai.usage.cache_creation_input_tokens" + _GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS: Literal[ + "gen_ai.usage.cache_creation_input_tokens" + ] = "gen_ai.usage.cache_creation_input_tokens" """The number of tokens written to the cache when processing the AI input (prompt). Type: int @@ -5287,7 +5605,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__cache_read__input_tokens.json - GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS: Literal["gen_ai.usage.cache_read.input_tokens"] = "gen_ai.usage.cache_read.input_tokens" + GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS: Literal[ + "gen_ai.usage.cache_read.input_tokens" + ] = "gen_ai.usage.cache_read.input_tokens" """The number of cached tokens used to process the AI input (prompt). Type: int @@ -5299,7 +5619,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__cache_read_input_tokens.json - _GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS: Literal["gen_ai.usage.cache_read_input_tokens"] = "gen_ai.usage.cache_read_input_tokens" + _GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS: Literal[ + "gen_ai.usage.cache_read_input_tokens" + ] = "gen_ai.usage.cache_read_input_tokens" """The number of cached tokens used to process the AI input (prompt). Type: int @@ -5312,7 +5634,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__completion_tokens.json - GEN_AI_USAGE_COMPLETION_TOKENS: Literal["gen_ai.usage.completion_tokens"] = "gen_ai.usage.completion_tokens" + GEN_AI_USAGE_COMPLETION_TOKENS: Literal["gen_ai.usage.completion_tokens"] = ( + "gen_ai.usage.completion_tokens" + ) """The number of tokens used in the GenAI response (completion). Type: int @@ -5325,7 +5649,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__input_tokens.json - GEN_AI_USAGE_INPUT_TOKENS: Literal["gen_ai.usage.input_tokens"] = "gen_ai.usage.input_tokens" + GEN_AI_USAGE_INPUT_TOKENS: Literal["gen_ai.usage.input_tokens"] = ( + "gen_ai.usage.input_tokens" + ) """The number of tokens used to process the AI input (prompt) including cached input tokens. Type: int @@ -5337,7 +5663,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__input_tokens__cache_write.json - GEN_AI_USAGE_INPUT_TOKENS_CACHE_WRITE: Literal["gen_ai.usage.input_tokens.cache_write"] = "gen_ai.usage.input_tokens.cache_write" + GEN_AI_USAGE_INPUT_TOKENS_CACHE_WRITE: Literal[ + "gen_ai.usage.input_tokens.cache_write" + ] = "gen_ai.usage.input_tokens.cache_write" """The number of tokens written to the cache when processing the AI input (prompt). Type: int @@ -5350,7 +5678,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__input_tokens__cached.json - GEN_AI_USAGE_INPUT_TOKENS_CACHED: Literal["gen_ai.usage.input_tokens.cached"] = "gen_ai.usage.input_tokens.cached" + GEN_AI_USAGE_INPUT_TOKENS_CACHED: Literal["gen_ai.usage.input_tokens.cached"] = ( + "gen_ai.usage.input_tokens.cached" + ) """The number of cached tokens used to process the AI input (prompt). Type: int @@ -5363,7 +5693,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__output_tokens.json - GEN_AI_USAGE_OUTPUT_TOKENS: Literal["gen_ai.usage.output_tokens"] = "gen_ai.usage.output_tokens" + GEN_AI_USAGE_OUTPUT_TOKENS: Literal["gen_ai.usage.output_tokens"] = ( + "gen_ai.usage.output_tokens" + ) """The number of tokens used for creating the AI output (including reasoning tokens). Type: int @@ -5375,7 +5707,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__output_tokens__reasoning.json - GEN_AI_USAGE_OUTPUT_TOKENS_REASONING: Literal["gen_ai.usage.output_tokens.reasoning"] = "gen_ai.usage.output_tokens.reasoning" + GEN_AI_USAGE_OUTPUT_TOKENS_REASONING: Literal[ + "gen_ai.usage.output_tokens.reasoning" + ] = "gen_ai.usage.output_tokens.reasoning" """The number of tokens used for reasoning to create the AI output. Type: int @@ -5388,7 +5722,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__prompt_tokens.json - GEN_AI_USAGE_PROMPT_TOKENS: Literal["gen_ai.usage.prompt_tokens"] = "gen_ai.usage.prompt_tokens" + GEN_AI_USAGE_PROMPT_TOKENS: Literal["gen_ai.usage.prompt_tokens"] = ( + "gen_ai.usage.prompt_tokens" + ) """The number of tokens used in the GenAI input (prompt). Type: int @@ -5401,7 +5737,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__reasoning__output_tokens.json - GEN_AI_USAGE_REASONING_OUTPUT_TOKENS: Literal["gen_ai.usage.reasoning.output_tokens"] = "gen_ai.usage.reasoning.output_tokens" + GEN_AI_USAGE_REASONING_OUTPUT_TOKENS: Literal[ + "gen_ai.usage.reasoning.output_tokens" + ] = "gen_ai.usage.reasoning.output_tokens" """The number of tokens used for reasoning to create the AI output. Type: int @@ -5413,7 +5751,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/gen_ai/gen_ai__usage__total_tokens.json - GEN_AI_USAGE_TOTAL_TOKENS: Literal["gen_ai.usage.total_tokens"] = "gen_ai.usage.total_tokens" + GEN_AI_USAGE_TOTAL_TOKENS: Literal["gen_ai.usage.total_tokens"] = ( + "gen_ai.usage.total_tokens" + ) """The total number of tokens used to process the prompt. (input tokens plus output todkens) Type: int @@ -5459,7 +5799,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/graphql/graphql__processing__type.json - GRAPHQL_PROCESSING_TYPE: Literal["graphql.processing.type"] = "graphql.processing.type" + GRAPHQL_PROCESSING_TYPE: Literal["graphql.processing.type"] = ( + "graphql.processing.type" + ) """The type of processing represented by this span. Type: str @@ -5486,7 +5828,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__bad_request__field_violations.json - GRPC_ERROR_BAD_REQUEST_FIELD_VIOLATIONS: Literal["grpc.error.bad_request.field_violations"] = "grpc.error.bad_request.field_violations" + GRPC_ERROR_BAD_REQUEST_FIELD_VIOLATIONS: Literal[ + "grpc.error.bad_request.field_violations" + ] = "grpc.error.bad_request.field_violations" """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: List[str] @@ -5497,7 +5841,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__debug_info__detail.json - GRPC_ERROR_DEBUG_INFO_DETAIL: Literal["grpc.error.debug_info.detail"] = "grpc.error.debug_info.detail" + GRPC_ERROR_DEBUG_INFO_DETAIL: Literal["grpc.error.debug_info.detail"] = ( + "grpc.error.debug_info.detail" + ) """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: str @@ -5508,7 +5854,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__debug_info__stack_entries.json - GRPC_ERROR_DEBUG_INFO_STACK_ENTRIES: Literal["grpc.error.debug_info.stack_entries"] = "grpc.error.debug_info.stack_entries" + GRPC_ERROR_DEBUG_INFO_STACK_ENTRIES: Literal[ + "grpc.error.debug_info.stack_entries" + ] = "grpc.error.debug_info.stack_entries" """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: List[str] @@ -5519,7 +5867,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__error_info__domain.json - GRPC_ERROR_ERROR_INFO_DOMAIN: Literal["grpc.error.error_info.domain"] = "grpc.error.error_info.domain" + GRPC_ERROR_ERROR_INFO_DOMAIN: Literal["grpc.error.error_info.domain"] = ( + "grpc.error.error_info.domain" + ) """The logical grouping to which the gRPC error reason belongs, from the google.rpc.ErrorInfo error detail. Type: str @@ -5530,7 +5880,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__error_info__metadata__[key].json - GRPC_ERROR_ERROR_INFO_METADATA_KEY: Literal["grpc.error.error_info.metadata."] = "grpc.error.error_info.metadata." + GRPC_ERROR_ERROR_INFO_METADATA_KEY: Literal[ + "grpc.error.error_info.metadata." + ] = "grpc.error.error_info.metadata." """Additional structured metadata attached to a google.rpc.ErrorInfo error detail, with being the metadata key name. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly. Type: str @@ -5542,7 +5894,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__error_info__reason.json - GRPC_ERROR_ERROR_INFO_REASON: Literal["grpc.error.error_info.reason"] = "grpc.error.error_info.reason" + GRPC_ERROR_ERROR_INFO_REASON: Literal["grpc.error.error_info.reason"] = ( + "grpc.error.error_info.reason" + ) """The reason for the gRPC error, as defined by the service that generated it, from the google.rpc.ErrorInfo error detail. Type: str @@ -5553,7 +5907,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__precondition_failure__violations.json - GRPC_ERROR_PRECONDITION_FAILURE_VIOLATIONS: Literal["grpc.error.precondition_failure.violations"] = "grpc.error.precondition_failure.violations" + GRPC_ERROR_PRECONDITION_FAILURE_VIOLATIONS: Literal[ + "grpc.error.precondition_failure.violations" + ] = "grpc.error.precondition_failure.violations" """The individual precondition violations from a google.rpc.PreconditionFailure error detail. Each entry is a JSON-encoded object with type, subject, and description keys. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly, since violation subjects may identify specific resources or users. Type: List[str] @@ -5564,7 +5920,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__quota_failure__violations.json - GRPC_ERROR_QUOTA_FAILURE_VIOLATIONS: Literal["grpc.error.quota_failure.violations"] = "grpc.error.quota_failure.violations" + GRPC_ERROR_QUOTA_FAILURE_VIOLATIONS: Literal[ + "grpc.error.quota_failure.violations" + ] = "grpc.error.quota_failure.violations" """The individual quota violations from a google.rpc.QuotaFailure error detail. Each entry is a JSON-encoded object with subject, description, api_service, quota_metric, quota_id, quota_dimensions, quota_value, and (optional) future_quota_value keys, mirroring google.rpc.QuotaFailure.Violation. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly, since violation subjects may identify specific resources or users. Type: List[str] @@ -5575,7 +5933,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__resource_info__description.json - GRPC_ERROR_RESOURCE_INFO_DESCRIPTION: Literal["grpc.error.resource_info.description"] = "grpc.error.resource_info.description" + GRPC_ERROR_RESOURCE_INFO_DESCRIPTION: Literal[ + "grpc.error.resource_info.description" + ] = "grpc.error.resource_info.description" """A description of the error that occurred while accessing the resource, from a google.rpc.ResourceInfo error detail. Type: str @@ -5586,7 +5946,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__resource_info__owner.json - GRPC_ERROR_RESOURCE_INFO_OWNER: Literal["grpc.error.resource_info.owner"] = "grpc.error.resource_info.owner" + GRPC_ERROR_RESOURCE_INFO_OWNER: Literal["grpc.error.resource_info.owner"] = ( + "grpc.error.resource_info.owner" + ) """The owner of the resource being accessed (e.g. project or account owning it), from a google.rpc.ResourceInfo error detail. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly. Type: str @@ -5597,7 +5959,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__resource_info__resource_name.json - GRPC_ERROR_RESOURCE_INFO_RESOURCE_NAME: Literal["grpc.error.resource_info.resource_name"] = "grpc.error.resource_info.resource_name" + GRPC_ERROR_RESOURCE_INFO_RESOURCE_NAME: Literal[ + "grpc.error.resource_info.resource_name" + ] = "grpc.error.resource_info.resource_name" """The name of the resource being accessed, from a google.rpc.ResourceInfo error detail. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly. Type: str @@ -5608,7 +5972,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__resource_info__resource_type.json - GRPC_ERROR_RESOURCE_INFO_RESOURCE_TYPE: Literal["grpc.error.resource_info.resource_type"] = "grpc.error.resource_info.resource_type" + GRPC_ERROR_RESOURCE_INFO_RESOURCE_TYPE: Literal[ + "grpc.error.resource_info.resource_type" + ] = "grpc.error.resource_info.resource_type" """The type of resource being accessed, from a google.rpc.ResourceInfo error detail. Type: str @@ -5619,7 +5985,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/grpc/grpc__error__retry_info__retry_delay_ms.json - GRPC_ERROR_RETRY_INFO_RETRY_DELAY_MS: Literal["grpc.error.retry_info.retry_delay_ms"] = "grpc.error.retry_info.retry_delay_ms" + GRPC_ERROR_RETRY_INFO_RETRY_DELAY_MS: Literal[ + "grpc.error.retry_info.retry_delay_ms" + ] = "grpc.error.retry_info.retry_delay_ms" """How long the client should wait before retrying the gRPC call, in milliseconds, from the google.rpc.RetryInfo error detail. Type: int @@ -5656,7 +6024,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__decoded_response_content_length.json - HTTP_DECODED_RESPONSE_CONTENT_LENGTH: Literal["http.decoded_response_content_length"] = "http.decoded_response_content_length" + HTTP_DECODED_RESPONSE_CONTENT_LENGTH: Literal[ + "http.decoded_response_content_length" + ] = "http.decoded_response_content_length" """The decoded body size of the response (in bytes). Type: int @@ -5741,7 +6111,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__body__decoded_size.json - HTTP_REQUEST_BODY_DECODED_SIZE: Literal["http.request.body.decoded_size"] = "http.request.body.decoded_size" + HTTP_REQUEST_BODY_DECODED_SIZE: Literal["http.request.body.decoded_size"] = ( + "http.request.body.decoded_size" + ) """The decoded body size of the request (in bytes). Type: int @@ -5765,7 +6137,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__connect_start.json - HTTP_REQUEST_CONNECT_START: Literal["http.request.connect_start"] = "http.request.connect_start" + HTTP_REQUEST_CONNECT_START: Literal["http.request.connect_start"] = ( + "http.request.connect_start" + ) """The UNIX timestamp representing the time immediately before the user agent starts establishing the connection to the server to retrieve the resource. Type: float @@ -5776,7 +6150,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__connection_end.json - HTTP_REQUEST_CONNECTION_END: Literal["http.request.connection_end"] = "http.request.connection_end" + HTTP_REQUEST_CONNECTION_END: Literal["http.request.connection_end"] = ( + "http.request.connection_end" + ) """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: float @@ -5787,7 +6163,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__domain_lookup_end.json - HTTP_REQUEST_DOMAIN_LOOKUP_END: Literal["http.request.domain_lookup_end"] = "http.request.domain_lookup_end" + HTTP_REQUEST_DOMAIN_LOOKUP_END: Literal["http.request.domain_lookup_end"] = ( + "http.request.domain_lookup_end" + ) """The UNIX timestamp representing the time immediately after the browser finishes the domain-name lookup for the resource. Type: float @@ -5798,7 +6176,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__domain_lookup_start.json - HTTP_REQUEST_DOMAIN_LOOKUP_START: Literal["http.request.domain_lookup_start"] = "http.request.domain_lookup_start" + HTTP_REQUEST_DOMAIN_LOOKUP_START: Literal["http.request.domain_lookup_start"] = ( + "http.request.domain_lookup_start" + ) """The UNIX timestamp representing the time immediately before the browser starts the domain name lookup for the resource. Type: float @@ -5820,7 +6200,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__fetch_start.json - HTTP_REQUEST_FETCH_START: Literal["http.request.fetch_start"] = "http.request.fetch_start" + HTTP_REQUEST_FETCH_START: Literal["http.request.fetch_start"] = ( + "http.request.fetch_start" + ) """The UNIX timestamp representing the time immediately before the browser starts to fetch the resource. Type: float @@ -5831,7 +6213,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__header__[key].json - HTTP_REQUEST_HEADER_KEY: Literal["http.request.header."] = "http.request.header." + HTTP_REQUEST_HEADER_KEY: Literal["http.request.header."] = ( + "http.request.header." + ) """HTTP request headers, being the lower-cased, but otherwise unchanged HTTP Header name, the value being the header values. Type: List[str] @@ -5856,7 +6240,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__redirect_end.json - HTTP_REQUEST_REDIRECT_END: Literal["http.request.redirect_end"] = "http.request.redirect_end" + HTTP_REQUEST_REDIRECT_END: Literal["http.request.redirect_end"] = ( + "http.request.redirect_end" + ) """The UNIX timestamp representing the timestamp immediately after receiving the last byte of the response of the last redirect Type: float @@ -5867,7 +6253,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__redirect_start.json - HTTP_REQUEST_REDIRECT_START: Literal["http.request.redirect_start"] = "http.request.redirect_start" + HTTP_REQUEST_REDIRECT_START: Literal["http.request.redirect_start"] = ( + "http.request.redirect_start" + ) """The UNIX timestamp representing the start time of the fetch which that initiates the redirect. Type: float @@ -5878,7 +6266,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__request_start.json - HTTP_REQUEST_REQUEST_START: Literal["http.request.request_start"] = "http.request.request_start" + HTTP_REQUEST_REQUEST_START: Literal["http.request.request_start"] = ( + "http.request.request_start" + ) """The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request. Type: float @@ -5889,7 +6279,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__resend_count.json - HTTP_REQUEST_RESEND_COUNT: Literal["http.request.resend_count"] = "http.request.resend_count" + HTTP_REQUEST_RESEND_COUNT: Literal["http.request.resend_count"] = ( + "http.request.resend_count" + ) """The ordinal number of request resending attempt (for any reason, including redirects). Type: int @@ -5900,7 +6292,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__response_end.json - HTTP_REQUEST_RESPONSE_END: Literal["http.request.response_end"] = "http.request.response_end" + HTTP_REQUEST_RESPONSE_END: Literal["http.request.response_end"] = ( + "http.request.response_end" + ) """The UNIX timestamp representing the time immediately after the browser receives the last byte of the resource or immediately before the transport connection is closed, whichever comes first. Type: float @@ -5911,7 +6305,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__response_start.json - HTTP_REQUEST_RESPONSE_START: Literal["http.request.response_start"] = "http.request.response_start" + HTTP_REQUEST_RESPONSE_START: Literal["http.request.response_start"] = ( + "http.request.response_start" + ) """The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request. Type: float @@ -5922,7 +6318,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__same_origin.json - HTTP_REQUEST_SAME_ORIGIN: Literal["http.request.same_origin"] = "http.request.same_origin" + HTTP_REQUEST_SAME_ORIGIN: Literal["http.request.same_origin"] = ( + "http.request.same_origin" + ) """Indicates that a URL has the same origin as the current page's origin in the browser. Type: bool @@ -5934,7 +6332,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__secure_connection_start.json - HTTP_REQUEST_SECURE_CONNECTION_START: Literal["http.request.secure_connection_start"] = "http.request.secure_connection_start" + HTTP_REQUEST_SECURE_CONNECTION_START: Literal[ + "http.request.secure_connection_start" + ] = "http.request.secure_connection_start" """The UNIX timestamp representing the time immediately before the browser starts the handshake process to secure the current connection. If a secure connection is not used, the property returns zero. Type: float @@ -5945,7 +6345,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__time_to_first_byte.json - HTTP_REQUEST_TIME_TO_FIRST_BYTE: Literal["http.request.time_to_first_byte"] = "http.request.time_to_first_byte" + HTTP_REQUEST_TIME_TO_FIRST_BYTE: Literal["http.request.time_to_first_byte"] = ( + "http.request.time_to_first_byte" + ) """The time in seconds from the browser's timeorigin to when the first byte of the request's response was received. See https://web.dev/articles/ttfb#measure-resource-requests Type: float @@ -5956,7 +6358,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request__worker_start.json - HTTP_REQUEST_WORKER_START: Literal["http.request.worker_start"] = "http.request.worker_start" + HTTP_REQUEST_WORKER_START: Literal["http.request.worker_start"] = ( + "http.request.worker_start" + ) """The UNIX timestamp representing the timestamp immediately before dispatching the FetchEvent if a Service Worker thread is already running, or immediately before starting the Service Worker thread if it is not already running. Type: float @@ -5967,7 +6371,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request_content_length.json - HTTP_REQUEST_CONTENT_LENGTH: Literal["http.request_content_length"] = "http.request_content_length" + HTTP_REQUEST_CONTENT_LENGTH: Literal["http.request_content_length"] = ( + "http.request_content_length" + ) """The encoded body size of the request (in bytes). Type: int @@ -5980,7 +6386,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__request_content_length_uncompressed.json - HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED: Literal["http.request_content_length_uncompressed"] = "http.request_content_length_uncompressed" + HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED: Literal[ + "http.request_content_length_uncompressed" + ] = "http.request_content_length_uncompressed" """The decoded body size of the request (in bytes). Type: int @@ -6006,7 +6414,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response__body__decoded_size.json - HTTP_RESPONSE_BODY_DECODED_SIZE: Literal["http.response.body.decoded_size"] = "http.response.body.decoded_size" + HTTP_RESPONSE_BODY_DECODED_SIZE: Literal["http.response.body.decoded_size"] = ( + "http.response.body.decoded_size" + ) """The decoded body size of the response (in bytes). Type: int @@ -6018,7 +6428,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response__body__size.json - HTTP_RESPONSE_BODY_SIZE: Literal["http.response.body.size"] = "http.response.body.size" + HTTP_RESPONSE_BODY_SIZE: Literal["http.response.body.size"] = ( + "http.response.body.size" + ) """The encoded body size of the response (in bytes). Type: int @@ -6030,7 +6442,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response__header__[key].json - HTTP_RESPONSE_HEADER_KEY: Literal["http.response.header."] = "http.response.header." + HTTP_RESPONSE_HEADER_KEY: Literal["http.response.header."] = ( + "http.response.header." + ) """HTTP response headers, being the lower-cased, but otherwise unchanged HTTP Header name, the value being the header values. Type: List[str] @@ -6043,7 +6457,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response__header__content-length.json - HTTP_RESPONSE_HEADER_CONTENT_LENGTH: Literal["http.response.header.content-length"] = "http.response.header.content-length" + HTTP_RESPONSE_HEADER_CONTENT_LENGTH: Literal[ + "http.response.header.content-length" + ] = "http.response.header.content-length" """The size of the message body sent to the recipient (in bytes) Type: str @@ -6067,7 +6483,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response__status_code.json - HTTP_RESPONSE_STATUS_CODE: Literal["http.response.status_code"] = "http.response.status_code" + HTTP_RESPONSE_STATUS_CODE: Literal["http.response.status_code"] = ( + "http.response.status_code" + ) """The status code of the HTTP response. Type: int @@ -6079,7 +6497,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response__status_text.json - HTTP_RESPONSE_STATUS_TEXT: Literal["http.response.status_text"] = "http.response.status_text" + HTTP_RESPONSE_STATUS_TEXT: Literal["http.response.status_text"] = ( + "http.response.status_text" + ) """The reason phrase of the HTTP response. Type: str @@ -6091,7 +6511,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response_content_length.json - HTTP_RESPONSE_CONTENT_LENGTH: Literal["http.response_content_length"] = "http.response_content_length" + HTTP_RESPONSE_CONTENT_LENGTH: Literal["http.response_content_length"] = ( + "http.response_content_length" + ) """The encoded body size of the response (in bytes). Type: int @@ -6104,7 +6526,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response_content_length_uncompressed.json - HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED: Literal["http.response_content_length_uncompressed"] = "http.response_content_length_uncompressed" + HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED: Literal[ + "http.response_content_length_uncompressed" + ] = "http.response_content_length_uncompressed" """The decoded body size of the response (in bytes). Type: int @@ -6117,7 +6541,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__response_transfer_size.json - HTTP_RESPONSE_TRANSFER_SIZE: Literal["http.response_transfer_size"] = "http.response_transfer_size" + HTTP_RESPONSE_TRANSFER_SIZE: Literal["http.response_transfer_size"] = ( + "http.response_transfer_size" + ) """The transfer size of the response (in bytes). Type: int @@ -6157,7 +6583,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/http/http__server__request__time_in_queue.json - HTTP_SERVER_REQUEST_TIME_IN_QUEUE: Literal["http.server.request.time_in_queue"] = "http.server.request.time_in_queue" + HTTP_SERVER_REQUEST_TIME_IN_QUEUE: Literal["http.server.request.time_in_queue"] = ( + "http.server.request.time_in_queue" + ) """The time in milliseconds the request spent in the server queue before processing began. Measured from the X-Request-Start header set by reverse proxies (e.g., Nginx, HAProxy, Heroku) to when the application started handling the request. Type: float @@ -6313,7 +6741,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/jsonrpc/jsonrpc__protocol__version.json - JSONRPC_PROTOCOL_VERSION: Literal["jsonrpc.protocol.version"] = "jsonrpc.protocol.version" + JSONRPC_PROTOCOL_VERSION: Literal["jsonrpc.protocol.version"] = ( + "jsonrpc.protocol.version" + ) """The version of the JSON-RPC protocol used. Type: str @@ -6530,7 +6960,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/litestar/litestar__middleware_name.json - LITESTAR_MIDDLEWARE_NAME: Literal["litestar.middleware_name"] = "litestar.middleware_name" + LITESTAR_MIDDLEWARE_NAME: Literal["litestar.middleware_name"] = ( + "litestar.middleware_name" + ) """The name of the Litestar middleware. Type: str @@ -6577,7 +7009,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__cancelled__request_id.json - MCP_CANCELLED_REQUEST_ID: Literal["mcp.cancelled.request_id"] = "mcp.cancelled.request_id" + MCP_CANCELLED_REQUEST_ID: Literal["mcp.cancelled.request_id"] = ( + "mcp.cancelled.request_id" + ) """Request ID of the cancelled MCP operation. Type: str @@ -6710,7 +7144,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__progress__percentage.json - MCP_PROGRESS_PERCENTAGE: Literal["mcp.progress.percentage"] = "mcp.progress.percentage" + MCP_PROGRESS_PERCENTAGE: Literal["mcp.progress.percentage"] = ( + "mcp.progress.percentage" + ) """Calculated progress percentage of an MCP operation. Computed from current/total * 100. Type: float @@ -6757,7 +7193,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__prompt__result__[key]__content.json - MCP_PROMPT_RESULT_KEY_CONTENT: Literal["mcp.prompt.result..content"] = "mcp.prompt.result..content" + MCP_PROMPT_RESULT_KEY_CONTENT: Literal["mcp.prompt.result..content"] = ( + "mcp.prompt.result..content" + ) """Legacy text content of an indexed message in a multi-message MCP prompt result. Type: str @@ -6768,7 +7206,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__prompt__result__[key]__role.json - MCP_PROMPT_RESULT_KEY_ROLE: Literal["mcp.prompt.result..role"] = "mcp.prompt.result..role" + MCP_PROMPT_RESULT_KEY_ROLE: Literal["mcp.prompt.result..role"] = ( + "mcp.prompt.result..role" + ) """Legacy role of an indexed message in a multi-message MCP prompt result. Type: str @@ -6780,7 +7220,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__prompt__result__description.json - MCP_PROMPT_RESULT_DESCRIPTION: Literal["mcp.prompt.result.description"] = "mcp.prompt.result.description" + MCP_PROMPT_RESULT_DESCRIPTION: Literal["mcp.prompt.result.description"] = ( + "mcp.prompt.result.description" + ) """Description of the prompt result. Type: str @@ -6791,7 +7233,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__prompt__result__message_content.json - MCP_PROMPT_RESULT_MESSAGE_CONTENT: Literal["mcp.prompt.result.message_content"] = "mcp.prompt.result.message_content" + MCP_PROMPT_RESULT_MESSAGE_CONTENT: Literal["mcp.prompt.result.message_content"] = ( + "mcp.prompt.result.message_content" + ) """Content of the message in the prompt result. Used for single message results only. Type: str @@ -6802,7 +7246,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__prompt__result__message_count.json - MCP_PROMPT_RESULT_MESSAGE_COUNT: Literal["mcp.prompt.result.message_count"] = "mcp.prompt.result.message_count" + MCP_PROMPT_RESULT_MESSAGE_COUNT: Literal["mcp.prompt.result.message_count"] = ( + "mcp.prompt.result.message_count" + ) """Number of messages in the prompt result. Type: int @@ -6813,7 +7259,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__prompt__result__message_role.json - MCP_PROMPT_RESULT_MESSAGE_ROLE: Literal["mcp.prompt.result.message_role"] = "mcp.prompt.result.message_role" + MCP_PROMPT_RESULT_MESSAGE_ROLE: Literal["mcp.prompt.result.message_role"] = ( + "mcp.prompt.result.message_role" + ) """Role of the message in the prompt result. Used for single message results only. Type: str @@ -6846,7 +7294,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__request__argument__[key].json - MCP_REQUEST_ARGUMENT_KEY: Literal["mcp.request.argument."] = "mcp.request.argument." + MCP_REQUEST_ARGUMENT_KEY: Literal["mcp.request.argument."] = ( + "mcp.request.argument." + ) """MCP request argument with dynamic key suffix. The is replaced with the actual argument name. The value is a JSON-stringified representation of the argument value. Type: str @@ -6858,7 +7308,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__request__argument__name.json - MCP_REQUEST_ARGUMENT_NAME: Literal["mcp.request.argument.name"] = "mcp.request.argument.name" + MCP_REQUEST_ARGUMENT_NAME: Literal["mcp.request.argument.name"] = ( + "mcp.request.argument.name" + ) """Name argument from prompts/get MCP request. Type: str @@ -6869,7 +7321,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__request__argument__uri.json - MCP_REQUEST_ARGUMENT_URI: Literal["mcp.request.argument.uri"] = "mcp.request.argument.uri" + MCP_REQUEST_ARGUMENT_URI: Literal["mcp.request.argument.uri"] = ( + "mcp.request.argument.uri" + ) """URI argument from resources/read MCP request. Type: str @@ -6973,7 +7427,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__content.json - MCP_TOOL_RESULT_KEY_CONTENT: Literal["mcp.tool.result..content"] = "mcp.tool.result..content" + MCP_TOOL_RESULT_KEY_CONTENT: Literal["mcp.tool.result..content"] = ( + "mcp.tool.result..content" + ) """Legacy text content of an indexed content item in a multi-item MCP tool result. Type: str @@ -6985,7 +7441,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__content_type.json - MCP_TOOL_RESULT_KEY_CONTENT_TYPE: Literal["mcp.tool.result..content_type"] = "mcp.tool.result..content_type" + MCP_TOOL_RESULT_KEY_CONTENT_TYPE: Literal["mcp.tool.result..content_type"] = ( + "mcp.tool.result..content_type" + ) """Legacy content type of an indexed content item in a multi-item MCP tool result. Type: str @@ -6998,7 +7456,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__data_size.json - MCP_TOOL_RESULT_KEY_DATA_SIZE: Literal["mcp.tool.result..data_size"] = "mcp.tool.result..data_size" + MCP_TOOL_RESULT_KEY_DATA_SIZE: Literal["mcp.tool.result..data_size"] = ( + "mcp.tool.result..data_size" + ) """Legacy length of the data string in UTF-16 code units of an indexed content item in a multi-item MCP tool result. Type: int @@ -7011,7 +7471,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__mime_type.json - MCP_TOOL_RESULT_KEY_MIME_TYPE: Literal["mcp.tool.result..mime_type"] = "mcp.tool.result..mime_type" + MCP_TOOL_RESULT_KEY_MIME_TYPE: Literal["mcp.tool.result..mime_type"] = ( + "mcp.tool.result..mime_type" + ) """Legacy MIME type of an indexed content item in a multi-item MCP tool result. Type: str @@ -7024,7 +7486,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__name.json - MCP_TOOL_RESULT_KEY_NAME: Literal["mcp.tool.result..name"] = "mcp.tool.result..name" + MCP_TOOL_RESULT_KEY_NAME: Literal["mcp.tool.result..name"] = ( + "mcp.tool.result..name" + ) """Legacy resource link name of an indexed content item in a multi-item MCP tool result. Type: str @@ -7036,7 +7500,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__resource_mime_type.json - MCP_TOOL_RESULT_KEY_RESOURCE_MIME_TYPE: Literal["mcp.tool.result..resource_mime_type"] = "mcp.tool.result..resource_mime_type" + MCP_TOOL_RESULT_KEY_RESOURCE_MIME_TYPE: Literal[ + "mcp.tool.result..resource_mime_type" + ] = "mcp.tool.result..resource_mime_type" """Legacy embedded resource MIME type of an indexed content item in a multi-item MCP tool result. Type: str @@ -7048,7 +7514,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__resource_uri.json - MCP_TOOL_RESULT_KEY_RESOURCE_URI: Literal["mcp.tool.result..resource_uri"] = "mcp.tool.result..resource_uri" + MCP_TOOL_RESULT_KEY_RESOURCE_URI: Literal["mcp.tool.result..resource_uri"] = ( + "mcp.tool.result..resource_uri" + ) """Legacy embedded resource URI of an indexed content item in a multi-item MCP tool result. Type: str @@ -7060,7 +7528,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__[key]__uri.json - MCP_TOOL_RESULT_KEY_URI: Literal["mcp.tool.result..uri"] = "mcp.tool.result..uri" + MCP_TOOL_RESULT_KEY_URI: Literal["mcp.tool.result..uri"] = ( + "mcp.tool.result..uri" + ) """Legacy resource link URI of an indexed content item in a multi-item MCP tool result. Type: str @@ -7072,7 +7542,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__content.json - MCP_TOOL_RESULT_CONTENT: Literal["mcp.tool.result.content"] = "mcp.tool.result.content" + MCP_TOOL_RESULT_CONTENT: Literal["mcp.tool.result.content"] = ( + "mcp.tool.result.content" + ) """The content of the tool result. Type: str @@ -7085,7 +7557,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__content_count.json - MCP_TOOL_RESULT_CONTENT_COUNT: Literal["mcp.tool.result.content_count"] = "mcp.tool.result.content_count" + MCP_TOOL_RESULT_CONTENT_COUNT: Literal["mcp.tool.result.content_count"] = ( + "mcp.tool.result.content_count" + ) """Number of content items in the tool result. Type: int @@ -7097,7 +7571,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__content_type.json - MCP_TOOL_RESULT_CONTENT_TYPE: Literal["mcp.tool.result.content_type"] = "mcp.tool.result.content_type" + MCP_TOOL_RESULT_CONTENT_TYPE: Literal["mcp.tool.result.content_type"] = ( + "mcp.tool.result.content_type" + ) """Legacy content type of the content item in a single-item MCP tool result. Type: str @@ -7110,7 +7586,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__data_size.json - MCP_TOOL_RESULT_DATA_SIZE: Literal["mcp.tool.result.data_size"] = "mcp.tool.result.data_size" + MCP_TOOL_RESULT_DATA_SIZE: Literal["mcp.tool.result.data_size"] = ( + "mcp.tool.result.data_size" + ) """Legacy length of the data string in UTF-16 code units of the content item in a single-item MCP tool result. Type: int @@ -7123,7 +7601,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__is_error.json - MCP_TOOL_RESULT_IS_ERROR: Literal["mcp.tool.result.is_error"] = "mcp.tool.result.is_error" + MCP_TOOL_RESULT_IS_ERROR: Literal["mcp.tool.result.is_error"] = ( + "mcp.tool.result.is_error" + ) """Whether a tool execution resulted in an error. Type: bool @@ -7135,7 +7615,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__mime_type.json - MCP_TOOL_RESULT_MIME_TYPE: Literal["mcp.tool.result.mime_type"] = "mcp.tool.result.mime_type" + MCP_TOOL_RESULT_MIME_TYPE: Literal["mcp.tool.result.mime_type"] = ( + "mcp.tool.result.mime_type" + ) """Legacy MIME type of the content item in a single-item MCP tool result. Type: str @@ -7160,7 +7642,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__resource_mime_type.json - MCP_TOOL_RESULT_RESOURCE_MIME_TYPE: Literal["mcp.tool.result.resource_mime_type"] = "mcp.tool.result.resource_mime_type" + MCP_TOOL_RESULT_RESOURCE_MIME_TYPE: Literal[ + "mcp.tool.result.resource_mime_type" + ] = "mcp.tool.result.resource_mime_type" """Legacy embedded resource MIME type of the content item in a single-item MCP tool result. Type: str @@ -7172,7 +7656,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/mcp/mcp__tool__result__resource_uri.json - MCP_TOOL_RESULT_RESOURCE_URI: Literal["mcp.tool.result.resource_uri"] = "mcp.tool.result.resource_uri" + MCP_TOOL_RESULT_RESOURCE_URI: Literal["mcp.tool.result.resource_uri"] = ( + "mcp.tool.result.resource_uri" + ) """Legacy embedded resource URI of the content item in a single-item MCP tool result. Type: str @@ -7220,7 +7706,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__batch__message_count.json - MESSAGING_BATCH_MESSAGE_COUNT: Literal["messaging.batch.message_count"] = "messaging.batch.message_count" + MESSAGING_BATCH_MESSAGE_COUNT: Literal["messaging.batch.message_count"] = ( + "messaging.batch.message_count" + ) """The number of messages sent, received, or processed in the scope of the batching operation. Type: int @@ -7231,7 +7719,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__conversation_id.json - MESSAGING_CONVERSATION_ID: Literal["messaging.conversation_id"] = "messaging.conversation_id" + MESSAGING_CONVERSATION_ID: Literal["messaging.conversation_id"] = ( + "messaging.conversation_id" + ) """The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". Type: str @@ -7257,7 +7747,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__destination__connection.json - MESSAGING_DESTINATION_CONNECTION: Literal["messaging.destination.connection"] = "messaging.destination.connection" + MESSAGING_DESTINATION_CONNECTION: Literal["messaging.destination.connection"] = ( + "messaging.destination.connection" + ) """The message destination connection. Type: str @@ -7268,7 +7760,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__destination__name.json - MESSAGING_DESTINATION_NAME: Literal["messaging.destination.name"] = "messaging.destination.name" + MESSAGING_DESTINATION_NAME: Literal["messaging.destination.name"] = ( + "messaging.destination.name" + ) """The message destination name. Type: str @@ -7280,7 +7774,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__destination__partition__id.json - MESSAGING_DESTINATION_PARTITION_ID: Literal["messaging.destination.partition.id"] = "messaging.destination.partition.id" + MESSAGING_DESTINATION_PARTITION_ID: Literal[ + "messaging.destination.partition.id" + ] = "messaging.destination.partition.id" """The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name. Type: str @@ -7291,7 +7787,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__destination_kind.json - MESSAGING_DESTINATION_KIND: Literal["messaging.destination_kind"] = "messaging.destination_kind" + MESSAGING_DESTINATION_KIND: Literal["messaging.destination_kind"] = ( + "messaging.destination_kind" + ) """The kind of message destination. Type: str @@ -7303,7 +7801,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__kafka__message__key.json - MESSAGING_KAFKA_MESSAGE_KEY: Literal["messaging.kafka.message.key"] = "messaging.kafka.message.key" + MESSAGING_KAFKA_MESSAGE_KEY: Literal["messaging.kafka.message.key"] = ( + "messaging.kafka.message.key" + ) """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: str @@ -7314,7 +7814,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__kafka__message__tombstone.json - MESSAGING_KAFKA_MESSAGE_TOMBSTONE: Literal["messaging.kafka.message.tombstone"] = "messaging.kafka.message.tombstone" + MESSAGING_KAFKA_MESSAGE_TOMBSTONE: Literal["messaging.kafka.message.tombstone"] = ( + "messaging.kafka.message.tombstone" + ) """A boolean that is true if the message is a tombstone. Type: bool @@ -7336,7 +7838,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__message__body__size.json - MESSAGING_MESSAGE_BODY_SIZE: Literal["messaging.message.body.size"] = "messaging.message.body.size" + MESSAGING_MESSAGE_BODY_SIZE: Literal["messaging.message.body.size"] = ( + "messaging.message.body.size" + ) """The size of the message body in bytes. Type: int @@ -7347,7 +7851,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__message__conversation_id.json - MESSAGING_MESSAGE_CONVERSATION_ID: Literal["messaging.message.conversation_id"] = "messaging.message.conversation_id" + MESSAGING_MESSAGE_CONVERSATION_ID: Literal["messaging.message.conversation_id"] = ( + "messaging.message.conversation_id" + ) """The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID". Type: str @@ -7359,7 +7865,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__message__envelope__size.json - MESSAGING_MESSAGE_ENVELOPE_SIZE: Literal["messaging.message.envelope.size"] = "messaging.message.envelope.size" + MESSAGING_MESSAGE_ENVELOPE_SIZE: Literal["messaging.message.envelope.size"] = ( + "messaging.message.envelope.size" + ) """The size of the message body and metadata in bytes. Type: int @@ -7382,7 +7890,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__message__receive__latency.json - MESSAGING_MESSAGE_RECEIVE_LATENCY: Literal["messaging.message.receive.latency"] = "messaging.message.receive.latency" + MESSAGING_MESSAGE_RECEIVE_LATENCY: Literal["messaging.message.receive.latency"] = ( + "messaging.message.receive.latency" + ) """The latency between when the message was published and received. Type: int @@ -7393,7 +7903,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__message__retry__count.json - MESSAGING_MESSAGE_RETRY_COUNT: Literal["messaging.message.retry.count"] = "messaging.message.retry.count" + MESSAGING_MESSAGE_RETRY_COUNT: Literal["messaging.message.retry.count"] = ( + "messaging.message.retry.count" + ) """The amount of attempts to send the message. Type: int @@ -7430,7 +7942,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__operation__name.json - MESSAGING_OPERATION_NAME: Literal["messaging.operation.name"] = "messaging.operation.name" + MESSAGING_OPERATION_NAME: Literal["messaging.operation.name"] = ( + "messaging.operation.name" + ) """The name of the messaging operation being performed Type: str @@ -7442,7 +7956,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__operation__type.json - MESSAGING_OPERATION_TYPE: Literal["messaging.operation.type"] = "messaging.operation.type" + MESSAGING_OPERATION_TYPE: Literal["messaging.operation.type"] = ( + "messaging.operation.type" + ) """A string identifying the type of the messaging operation Type: str @@ -7466,7 +7982,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__protocol_version.json - MESSAGING_PROTOCOL_VERSION: Literal["messaging.protocol_version"] = "messaging.protocol_version" + MESSAGING_PROTOCOL_VERSION: Literal["messaging.protocol_version"] = ( + "messaging.protocol_version" + ) """The actual version of the protocol used for network communication. Type: str @@ -7479,7 +7997,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__rabbitmq__destination__routing_key.json - MESSAGING_RABBITMQ_DESTINATION_ROUTING_KEY: Literal["messaging.rabbitmq.destination.routing_key"] = "messaging.rabbitmq.destination.routing_key" + MESSAGING_RABBITMQ_DESTINATION_ROUTING_KEY: Literal[ + "messaging.rabbitmq.destination.routing_key" + ] = "messaging.rabbitmq.destination.routing_key" """RabbitMQ message routing key. Type: str @@ -7491,7 +8011,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/messaging/messaging__rabbitmq__routing_key.json - MESSAGING_RABBITMQ_ROUTING_KEY: Literal["messaging.rabbitmq.routing_key"] = "messaging.rabbitmq.routing_key" + MESSAGING_RABBITMQ_ROUTING_KEY: Literal["messaging.rabbitmq.routing_key"] = ( + "messaging.rabbitmq.routing_key" + ) """RabbitMQ message routing key. Type: str @@ -7853,7 +8375,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/network/network__connection__effective_type.json - NETWORK_CONNECTION_EFFECTIVE_TYPE: Literal["network.connection.effective_type"] = "network.connection.effective_type" + NETWORK_CONNECTION_EFFECTIVE_TYPE: Literal["network.connection.effective_type"] = ( + "network.connection.effective_type" + ) """Specifies the effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g). Type: str @@ -7877,7 +8401,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/network/network__connection__type.json - NETWORK_CONNECTION_TYPE: Literal["network.connection.type"] = "network.connection.type" + NETWORK_CONNECTION_TYPE: Literal["network.connection.type"] = ( + "network.connection.type" + ) """Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc). Type: str @@ -7950,7 +8476,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/network/network__protocol__version.json - NETWORK_PROTOCOL_VERSION: Literal["network.protocol.version"] = "network.protocol.version" + NETWORK_PROTOCOL_VERSION: Literal["network.protocol.version"] = ( + "network.protocol.version" + ) """The actual version of the protocol used for network communication. Type: str @@ -8144,7 +8672,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/otel/otel__status_description.json - OTEL_STATUS_DESCRIPTION: Literal["otel.status_description"] = "otel.status_description" + OTEL_STATUS_DESCRIPTION: Literal["otel.status_description"] = ( + "otel.status_description" + ) """Description of the Status if it has a value, otherwise not set. Type: str @@ -8168,7 +8698,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/performance/performance__activationStart.json - PERFORMANCE_ACTIVATIONSTART: Literal["performance.activationStart"] = "performance.activationStart" + PERFORMANCE_ACTIVATIONSTART: Literal["performance.activationStart"] = ( + "performance.activationStart" + ) """The time between initiating a navigation to a page and the browser activating the page Type: float @@ -8229,7 +8761,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/process/process__executable__name.json - PROCESS_EXECUTABLE_NAME: Literal["process.executable.name"] = "process.executable.name" + PROCESS_EXECUTABLE_NAME: Literal["process.executable.name"] = ( + "process.executable.name" + ) """The name of the executable that started the process. Type: str @@ -8252,7 +8786,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/process/process__runtime__description.json - PROCESS_RUNTIME_DESCRIPTION: Literal["process.runtime.description"] = "process.runtime.description" + PROCESS_RUNTIME_DESCRIPTION: Literal["process.runtime.description"] = ( + "process.runtime.description" + ) """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: str @@ -8264,7 +8800,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/process/process__runtime__engine__name.json - PROCESS_RUNTIME_ENGINE_NAME: Literal["process.runtime.engine.name"] = "process.runtime.engine.name" + PROCESS_RUNTIME_ENGINE_NAME: Literal["process.runtime.engine.name"] = ( + "process.runtime.engine.name" + ) """The name of the runtime engine. Type: str @@ -8275,7 +8813,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/process/process__runtime__engine__version.json - PROCESS_RUNTIME_ENGINE_VERSION: Literal["process.runtime.engine.version"] = "process.runtime.engine.version" + PROCESS_RUNTIME_ENGINE_VERSION: Literal["process.runtime.engine.version"] = ( + "process.runtime.engine.version" + ) """The version of the runtime engine. Type: str @@ -8298,7 +8838,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/process/process__runtime__version.json - PROCESS_RUNTIME_VERSION: Literal["process.runtime.version"] = "process.runtime.version" + PROCESS_RUNTIME_VERSION: Literal["process.runtime.version"] = ( + "process.runtime.version" + ) """The version of the runtime of this process, as returned by the runtime without modification. Equivalent to `version` in the Sentry runtime context. Type: str @@ -8360,7 +8902,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__architecture.json - REACT_NATIVE_ARCHITECTURE: Literal["react_native.architecture"] = "react_native.architecture" + REACT_NATIVE_ARCHITECTURE: Literal["react_native.architecture"] = ( + "react_native.architecture" + ) """The React Native architecture the app is running on. `new` for the New Architecture, where native modules are resolved as TurboModules through `TurboModuleRegistry`, `legacy` for the Old Architecture bridge. Type: str @@ -8373,7 +8917,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__call__count.json - REACT_NATIVE_MODULE_CALL_COUNT: Literal["react_native.module.call.count"] = "react_native.module.call.count" + REACT_NATIVE_MODULE_CALL_COUNT: Literal["react_native.module.call.count"] = ( + "react_native.module.call.count" + ) """The number of native module calls observed during the lifetime of the span. Type: int @@ -8385,7 +8931,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__call__distinct_count.json - REACT_NATIVE_MODULE_CALL_DISTINCT_COUNT: Literal["react_native.module.call.distinct_count"] = "react_native.module.call.distinct_count" + REACT_NATIVE_MODULE_CALL_DISTINCT_COUNT: Literal[ + "react_native.module.call.distinct_count" + ] = "react_native.module.call.distinct_count" """The number of distinct native module and method pairs called during the lifetime of the span. Useful as a cardinality signal when the per-method breakdown has been truncated. Type: int @@ -8397,7 +8945,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__duration__max.json - REACT_NATIVE_MODULE_DURATION_MAX: Literal["react_native.module.duration.max"] = "react_native.module.duration.max" + REACT_NATIVE_MODULE_DURATION_MAX: Literal["react_native.module.duration.max"] = ( + "react_native.module.duration.max" + ) """The duration of the slowest single native module call observed during the lifetime of the span, in milliseconds. Type: float @@ -8408,7 +8958,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__duration__total.json - REACT_NATIVE_MODULE_DURATION_TOTAL: Literal["react_native.module.duration.total"] = "react_native.module.duration.total" + REACT_NATIVE_MODULE_DURATION_TOTAL: Literal[ + "react_native.module.duration.total" + ] = "react_native.module.duration.total" """The combined wall-clock duration of all native module calls observed during the lifetime of the span, in milliseconds. Calls overlap, so this can exceed the span duration. Type: float @@ -8420,7 +8972,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__error__count.json - REACT_NATIVE_MODULE_ERROR_COUNT: Literal["react_native.module.error.count"] = "react_native.module.error.count" + REACT_NATIVE_MODULE_ERROR_COUNT: Literal["react_native.module.error.count"] = ( + "react_native.module.error.count" + ) """The number of native module calls that failed during the lifetime of the span. A call counts as failed when it threw, rejected, or — on the Old Architecture bridge only — invoked its failure callback. Type: int @@ -8432,7 +8986,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__kind.json - REACT_NATIVE_MODULE_KIND: Literal["react_native.module.kind"] = "react_native.module.kind" + REACT_NATIVE_MODULE_KIND: Literal["react_native.module.kind"] = ( + "react_native.module.kind" + ) """Whether the native module call completed synchronously or reported completion later through a Promise or a callback. One of `sync` or `async`. Type: str @@ -8444,7 +9000,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__method.json - REACT_NATIVE_MODULE_METHOD: Literal["react_native.module.method"] = "react_native.module.method" + REACT_NATIVE_MODULE_METHOD: Literal["react_native.module.method"] = ( + "react_native.module.method" + ) """The name of the native module method that was called. Type: str @@ -8456,7 +9014,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__name.json - REACT_NATIVE_MODULE_NAME: Literal["react_native.module.name"] = "react_native.module.name" + REACT_NATIVE_MODULE_NAME: Literal["react_native.module.name"] = ( + "react_native.module.name" + ) """The name of the native module the call was dispatched to. On the New Architecture this is the TurboModule name, on the Old Architecture the `NativeModules` key. Type: str @@ -8468,7 +9028,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__top__duration.json - REACT_NATIVE_MODULE_TOP_DURATION: Literal["react_native.module.top.duration"] = "react_native.module.top.duration" + REACT_NATIVE_MODULE_TOP_DURATION: Literal["react_native.module.top.duration"] = ( + "react_native.module.top.duration" + ) """The total duration attributed to `react_native.module.top.name`, in milliseconds. Type: float @@ -8480,7 +9042,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/react_native/react_native__module__top__name.json - REACT_NATIVE_MODULE_TOP_NAME: Literal["react_native.module.top.name"] = "react_native.module.top.name" + REACT_NATIVE_MODULE_TOP_NAME: Literal["react_native.module.top.name"] = ( + "react_native.module.top.name" + ) """The native module and method that accounted for the most total duration during the lifetime of the span, formatted as `.`. Type: str @@ -8531,7 +9095,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/remix/remix__action_form_data__[key].json - REMIX_ACTION_FORM_DATA_KEY: Literal["remix.action_form_data."] = "remix.action_form_data." + REMIX_ACTION_FORM_DATA_KEY: Literal["remix.action_form_data."] = ( + "remix.action_form_data." + ) """Remix form data, being the form data key, the value being the form data value. Type: str @@ -8569,7 +9135,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/resource/resource__deployment__environment.json - RESOURCE_DEPLOYMENT_ENVIRONMENT: Literal["resource.deployment.environment"] = "resource.deployment.environment" + RESOURCE_DEPLOYMENT_ENVIRONMENT: Literal["resource.deployment.environment"] = ( + "resource.deployment.environment" + ) """The software deployment environment name. Type: str @@ -8581,7 +9149,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/resource/resource__deployment__environment__name.json - RESOURCE_DEPLOYMENT_ENVIRONMENT_NAME: Literal["resource.deployment.environment.name"] = "resource.deployment.environment.name" + RESOURCE_DEPLOYMENT_ENVIRONMENT_NAME: Literal[ + "resource.deployment.environment.name" + ] = "resource.deployment.environment.name" """The software deployment environment name. Type: str @@ -8593,7 +9163,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/resource/resource__render_blocking_status.json - RESOURCE_RENDER_BLOCKING_STATUS: Literal["resource.render_blocking_status"] = "resource.render_blocking_status" + RESOURCE_RENDER_BLOCKING_STATUS: Literal["resource.render_blocking_status"] = ( + "resource.render_blocking_status" + ) """The render blocking status of the resource. Type: str @@ -8617,7 +9189,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/router/router__navigation__origin.json - ROUTER_NAVIGATION_ORIGIN: Literal["router.navigation.origin"] = "router.navigation.origin" + ROUTER_NAVIGATION_ORIGIN: Literal["router.navigation.origin"] = ( + "router.navigation.origin" + ) """The origin of the navigation (usually client side router navigations). Should preferably be a parameterized template (like url.template) or a URL path otherwise. Type: str @@ -8629,7 +9203,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/router/router__navigation__route__id.json - ROUTER_NAVIGATION_ROUTE_ID: Literal["router.navigation.route.id"] = "router.navigation.route.id" + ROUTER_NAVIGATION_ROUTE_ID: Literal["router.navigation.route.id"] = ( + "router.navigation.route.id" + ) """The identifier of the matched client-side route, as assigned by the routing framework (e.g., vue-router name, react-router id). Type: str @@ -8678,7 +9254,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/rpc/rpc__response__status_code.json - RPC_RESPONSE_STATUS_CODE: Literal["rpc.response.status_code"] = "rpc.response.status_code" + RPC_RESPONSE_STATUS_CODE: Literal["rpc.response.status_code"] = ( + "rpc.response.status_code" + ) """Status code of the RPC returned by the RPC server or generated by the client. Type: str @@ -8751,7 +9329,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/runtime/runtime__raw_description.json - RUNTIME_RAW_DESCRIPTION: Literal["runtime.raw_description"] = "runtime.raw_description" + RUNTIME_RAW_DESCRIPTION: Literal["runtime.raw_description"] = ( + "runtime.raw_description" + ) """Unprocessed description string as obtained from the runtime. Used to extract name and version for well-known runtimes. Type: str @@ -8860,7 +9440,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__cancellation_reason.json - SENTRY_CANCELLATION_REASON: Literal["sentry.cancellation_reason"] = "sentry.cancellation_reason" + SENTRY_CANCELLATION_REASON: Literal["sentry.cancellation_reason"] = ( + "sentry.cancellation_reason" + ) """The reason why a span ended early. Type: str @@ -8919,7 +9501,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__client_sample_rate.json - SENTRY_CLIENT_SAMPLE_RATE: Literal["sentry.client_sample_rate"] = "sentry.client_sample_rate" + SENTRY_CLIENT_SAMPLE_RATE: Literal["sentry.client_sample_rate"] = ( + "sentry.client_sample_rate" + ) """Rate at which a span was sampled in the SDK. Type: float @@ -9064,7 +9648,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__event__serialized_breadcrumbs.json - SENTRY_EVENT_SERIALIZED_BREADCRUMBS: Literal["sentry.event.serialized_breadcrumbs"] = "sentry.event.serialized_breadcrumbs" + SENTRY_EVENT_SERIALIZED_BREADCRUMBS: Literal[ + "sentry.event.serialized_breadcrumbs" + ] = "sentry.event.serialized_breadcrumbs" """JSON-serialized `breadcrumbs` property from a Sentry event. Type: str @@ -9074,7 +9660,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__event__serialized_contexts.json - SENTRY_EVENT_SERIALIZED_CONTEXTS: Literal["sentry.event.serialized_contexts"] = "sentry.event.serialized_contexts" + SENTRY_EVENT_SERIALIZED_CONTEXTS: Literal["sentry.event.serialized_contexts"] = ( + "sentry.event.serialized_contexts" + ) """JSON-serialized `contexts` property from a Sentry event. Type: str @@ -9084,7 +9672,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__event__serialized_extra.json - SENTRY_EVENT_SERIALIZED_EXTRA: Literal["sentry.event.serialized_extra"] = "sentry.event.serialized_extra" + SENTRY_EVENT_SERIALIZED_EXTRA: Literal["sentry.event.serialized_extra"] = ( + "sentry.event.serialized_extra" + ) """JSON-serialized `extra` property from a Sentry event. Type: str @@ -9094,7 +9684,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__event__serialized_meta.json - SENTRY_EVENT_SERIALIZED_META: Literal["sentry.event.serialized_meta"] = "sentry.event.serialized_meta" + SENTRY_EVENT_SERIALIZED_META: Literal["sentry.event.serialized_meta"] = ( + "sentry.event.serialized_meta" + ) """JSON-serialized `_meta` for the `sentry.event.serialized_*` properties from a Sentry event. Type: str @@ -9154,7 +9746,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__graphql__operation.json - SENTRY_GRAPHQL_OPERATION: Literal["sentry.graphql.operation"] = "sentry.graphql.operation" + SENTRY_GRAPHQL_OPERATION: Literal["sentry.graphql.operation"] = ( + "sentry.graphql.operation" + ) """Indicates the type of graphql operation, emitted by the Javascript SDK. Type: str @@ -9186,7 +9780,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__idle_span_finish_reason.json - SENTRY_IDLE_SPAN_FINISH_REASON: Literal["sentry.idle_span_finish_reason"] = "sentry.idle_span_finish_reason" + SENTRY_IDLE_SPAN_FINISH_REASON: Literal["sentry.idle_span_finish_reason"] = ( + "sentry.idle_span_finish_reason" + ) """The reason why an idle span ended early. Type: str @@ -9260,7 +9856,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__message__parameter__[key].json - SENTRY_MESSAGE_PARAMETER_KEY: Literal["sentry.message.parameter."] = "sentry.message.parameter." + SENTRY_MESSAGE_PARAMETER_KEY: Literal["sentry.message.parameter."] = ( + "sentry.message.parameter." + ) """A parameter used in the message template. can either be the number that represent the parameter's position in the template string (sentry.message.parameter.0, sentry.message.parameter.1, etc) or the parameter's name (sentry.message.parameter.item_id, sentry.message.parameter.user_id, etc) Type: str @@ -9271,7 +9869,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__message__template.json - SENTRY_MESSAGE_TEMPLATE: Literal["sentry.message.template"] = "sentry.message.template" + SENTRY_MESSAGE_TEMPLATE: Literal["sentry.message.template"] = ( + "sentry.message.template" + ) """The parameterized template string. Type: str @@ -9316,7 +9916,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__nextjs__ssr__function__route.json - SENTRY_NEXTJS_SSR_FUNCTION_ROUTE: Literal["sentry.nextjs.ssr.function.route"] = "sentry.nextjs.ssr.function.route" + SENTRY_NEXTJS_SSR_FUNCTION_ROUTE: Literal["sentry.nextjs.ssr.function.route"] = ( + "sentry.nextjs.ssr.function.route" + ) """A parameterized route for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions when the file location of the function is known. Type: str @@ -9327,7 +9929,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__nextjs__ssr__function__type.json - SENTRY_NEXTJS_SSR_FUNCTION_TYPE: Literal["sentry.nextjs.ssr.function.type"] = "sentry.nextjs.ssr.function.type" + SENTRY_NEXTJS_SSR_FUNCTION_TYPE: Literal["sentry.nextjs.ssr.function.type"] = ( + "sentry.nextjs.ssr.function.type" + ) """A descriptor for a for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions. Type: str @@ -9338,7 +9942,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__normalized_db_query.json - SENTRY_NORMALIZED_DB_QUERY: Literal["sentry.normalized_db_query"] = "sentry.normalized_db_query" + SENTRY_NORMALIZED_DB_QUERY: Literal["sentry.normalized_db_query"] = ( + "sentry.normalized_db_query" + ) """The normalized version of `db.query.text`. Type: str @@ -9349,7 +9955,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__normalized_db_query__hash.json - SENTRY_NORMALIZED_DB_QUERY_HASH: Literal["sentry.normalized_db_query.hash"] = "sentry.normalized_db_query.hash" + SENTRY_NORMALIZED_DB_QUERY_HASH: Literal["sentry.normalized_db_query.hash"] = ( + "sentry.normalized_db_query.hash" + ) """The hash of `sentry.normalized_db_query`. Type: str @@ -9359,7 +9967,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__normalized_description.json - SENTRY_NORMALIZED_DESCRIPTION: Literal["sentry.normalized_description"] = "sentry.normalized_description" + SENTRY_NORMALIZED_DESCRIPTION: Literal["sentry.normalized_description"] = ( + "sentry.normalized_description" + ) """Used as a generic attribute representing the normalized `sentry.description`. This refers to the legacy use case of `sentry.description` where it holds relevant data depending on the type of span (e.g. database query, resource url, http request description, etc). Type: str @@ -9370,7 +9980,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__observed_timestamp_nanos.json - SENTRY_OBSERVED_TIMESTAMP_NANOS: Literal["sentry.observed_timestamp_nanos"] = "sentry.observed_timestamp_nanos" + SENTRY_OBSERVED_TIMESTAMP_NANOS: Literal["sentry.observed_timestamp_nanos"] = ( + "sentry.observed_timestamp_nanos" + ) """The timestamp at which an envelope was received by Relay, in nanoseconds. Type: str @@ -9403,7 +10015,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__pageload__span_id.json - SENTRY_PAGELOAD_SPAN_ID: Literal["sentry.pageload.span_id"] = "sentry.pageload.span_id" + SENTRY_PAGELOAD_SPAN_ID: Literal["sentry.pageload.span_id"] = ( + "sentry.pageload.span_id" + ) """The id of the pageload span, set by web vital spans and metrics Type: str @@ -9494,7 +10108,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__replay_is_buffering.json - SENTRY_REPLAY_IS_BUFFERING: Literal["sentry.replay_is_buffering"] = "sentry.replay_is_buffering" + SENTRY_REPLAY_IS_BUFFERING: Literal["sentry.replay_is_buffering"] = ( + "sentry.replay_is_buffering" + ) """A sentinel attribute on log events indicating whether the current Session Replay is being buffered (onErrorSampleRate). Type: bool @@ -9517,7 +10133,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__sdk__integrations.json - SENTRY_SDK_INTEGRATIONS: Literal["sentry.sdk.integrations"] = "sentry.sdk.integrations" + SENTRY_SDK_INTEGRATIONS: Literal["sentry.sdk.integrations"] = ( + "sentry.sdk.integrations" + ) """A list of names identifying enabled integrations. The list shouldhave all enabled integrations, including default integrations. Defaultintegrations are included because different SDK releases may contain differentdefault integrations. Type: List[str] @@ -9574,7 +10192,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__segment__name__source.json - SENTRY_SEGMENT_NAME_SOURCE: Literal["sentry.segment.name.source"] = "sentry.segment.name.source" + SENTRY_SEGMENT_NAME_SOURCE: Literal["sentry.segment.name.source"] = ( + "sentry.segment.name.source" + ) """The source of the segment span name. Should only be set on segment spans. Type: str @@ -9610,7 +10230,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__server_sample_rate.json - SENTRY_SERVER_SAMPLE_RATE: Literal["sentry.server_sample_rate"] = "sentry.server_sample_rate" + SENTRY_SERVER_SAMPLE_RATE: Literal["sentry.server_sample_rate"] = ( + "sentry.server_sample_rate" + ) """Rate at which a span was sampled in Relay. Type: float @@ -9692,7 +10314,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__sveltekit__navigation__from.json - SENTRY_SVELTEKIT_NAVIGATION_FROM: Literal["sentry.sveltekit.navigation.from"] = "sentry.sveltekit.navigation.from" + SENTRY_SVELTEKIT_NAVIGATION_FROM: Literal["sentry.sveltekit.navigation.from"] = ( + "sentry.sveltekit.navigation.from" + ) """the navigation origin (sveltekit router) Type: str @@ -9705,7 +10329,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__sveltekit__navigation__to.json - SENTRY_SVELTEKIT_NAVIGATION_TO: Literal["sentry.sveltekit.navigation.to"] = "sentry.sveltekit.navigation.to" + SENTRY_SVELTEKIT_NAVIGATION_TO: Literal["sentry.sveltekit.navigation.to"] = ( + "sentry.sveltekit.navigation.to" + ) """the navigation destination Type: str @@ -9717,7 +10343,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__sveltekit__navigation__type.json - SENTRY_SVELTEKIT_NAVIGATION_TYPE: Literal["sentry.sveltekit.navigation.type"] = "sentry.sveltekit.navigation.type" + SENTRY_SVELTEKIT_NAVIGATION_TYPE: Literal["sentry.sveltekit.navigation.type"] = ( + "sentry.sveltekit.navigation.type" + ) """The type of navigation event emitted from the sveltekit client router Type: str @@ -9742,7 +10370,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__timestamp__sequence.json - SENTRY_TIMESTAMP_SEQUENCE: Literal["sentry.timestamp.sequence"] = "sentry.timestamp.sequence" + SENTRY_TIMESTAMP_SEQUENCE: Literal["sentry.timestamp.sequence"] = ( + "sentry.timestamp.sequence" + ) """A sequencing counter for deterministic ordering of logs or metrics when timestamps share the same integer millisecond. Starts at 0 on SDK initialization, increments by 1 for each captured item, and resets to 0 when the integer millisecond of the current item differs from the previous one. Type: int @@ -9753,7 +10383,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__trace__parent_span_id.json - SENTRY_TRACE_PARENT_SPAN_ID: Literal["sentry.trace.parent_span_id"] = "sentry.trace.parent_span_id" + SENTRY_TRACE_PARENT_SPAN_ID: Literal["sentry.trace.parent_span_id"] = ( + "sentry.trace.parent_span_id" + ) """The span id of the span that was active when the log was collected. This should not be set if there was no active span. Type: str @@ -9824,7 +10456,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__user__geo__country_code.json - SENTRY_USER_GEO_COUNTRY_CODE: Literal["sentry.user.geo.country_code"] = "sentry.user.geo.country_code" + SENTRY_USER_GEO_COUNTRY_CODE: Literal["sentry.user.geo.country_code"] = ( + "sentry.user.geo.country_code" + ) """Two-letter country code (ISO 3166-1 alpha-2). Type: str @@ -9848,7 +10482,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sentry/sentry__user__geo__subdivision.json - SENTRY_USER_GEO_SUBDIVISION: Literal["sentry.user.geo.subdivision"] = "sentry.user.geo.subdivision" + SENTRY_USER_GEO_SUBDIVISION: Literal["sentry.user.geo.subdivision"] = ( + "sentry.user.geo.subdivision" + ) """Human readable subdivision name. Type: str @@ -9991,7 +10627,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/starlette/starlette__middleware_name.json - STARLETTE_MIDDLEWARE_NAME: Literal["starlette.middleware_name"] = "starlette.middleware_name" + STARLETTE_MIDDLEWARE_NAME: Literal["starlette.middleware_name"] = ( + "starlette.middleware_name" + ) """The name of the Starlette middleware. Type: str @@ -10004,7 +10642,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/starlite/starlite__middleware_name.json - STARLITE_MIDDLEWARE_NAME: Literal["starlite.middleware_name"] = "starlite.middleware_name" + STARLITE_MIDDLEWARE_NAME: Literal["starlite.middleware_name"] = ( + "starlite.middleware_name" + ) """The name of the Starlite middleware. Type: str @@ -10041,7 +10681,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sveltekit/sveltekit__load__environment.json - SVELTEKIT_LOAD_ENVIRONMENT: Literal["sveltekit.load.environment"] = "sveltekit.load.environment" + SVELTEKIT_LOAD_ENVIRONMENT: Literal["sveltekit.load.environment"] = ( + "sveltekit.load.environment" + ) """The runtime environment in which the SvelteKit load function was executed. Known values are `'server'` and `'client'`. Type: str @@ -10065,7 +10707,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sveltekit/sveltekit__load__node_type.json - SVELTEKIT_LOAD_NODE_TYPE: Literal["sveltekit.load.node_type"] = "sveltekit.load.node_type" + SVELTEKIT_LOAD_NODE_TYPE: Literal["sveltekit.load.node_type"] = ( + "sveltekit.load.node_type" + ) """The kind of SvelteKit load function that was executed, distinguishing page from layout and universal from server load functions. Type: str @@ -10078,7 +10722,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/sveltekit/sveltekit__tracing__original_name.json - SVELTEKIT_TRACING_ORIGINAL_NAME: Literal["sveltekit.tracing.original_name"] = "sveltekit.tracing.original_name" + SVELTEKIT_TRACING_ORIGINAL_NAME: Literal["sveltekit.tracing.original_name"] = ( + "sveltekit.tracing.original_name" + ) """The original span name as emitted by SvelteKit. Type: str @@ -10135,7 +10781,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/time_to_initial_display.json - TIME_TO_INITIAL_DISPLAY: Literal["time_to_initial_display"] = "time_to_initial_display" + TIME_TO_INITIAL_DISPLAY: Literal["time_to_initial_display"] = ( + "time_to_initial_display" + ) """The duration of time to initial display in milliseconds Type: float @@ -10249,7 +10897,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_module/turbo_module__top_module.json - TURBO_MODULE_TOP_MODULE: Literal["turbo_module.top_module"] = "turbo_module.top_module" + TURBO_MODULE_TOP_MODULE: Literal["turbo_module.top_module"] = ( + "turbo_module.top_module" + ) """The native module and method that accounted for the most total duration during the lifetime of the span. Only applies to React Native. Type: str @@ -10262,7 +10912,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_module/turbo_module__top_module_duration_ms.json - TURBO_MODULE_TOP_MODULE_DURATION_MS: Literal["turbo_module.top_module_duration_ms"] = "turbo_module.top_module_duration_ms" + TURBO_MODULE_TOP_MODULE_DURATION_MS: Literal[ + "turbo_module.top_module_duration_ms" + ] = "turbo_module.top_module_duration_ms" """The total duration attributed to the top native module method, in milliseconds. Only applies to React Native. Type: float @@ -10275,7 +10927,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_module/turbo_module__total_call_count.json - TURBO_MODULE_TOTAL_CALL_COUNT: Literal["turbo_module.total_call_count"] = "turbo_module.total_call_count" + TURBO_MODULE_TOTAL_CALL_COUNT: Literal["turbo_module.total_call_count"] = ( + "turbo_module.total_call_count" + ) """The number of native module calls observed during the lifetime of the span. Only applies to React Native. Type: int @@ -10288,7 +10942,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_module/turbo_module__total_duration_ms.json - TURBO_MODULE_TOTAL_DURATION_MS: Literal["turbo_module.total_duration_ms"] = "turbo_module.total_duration_ms" + TURBO_MODULE_TOTAL_DURATION_MS: Literal["turbo_module.total_duration_ms"] = ( + "turbo_module.total_duration_ms" + ) """The combined duration of all native module calls observed during the lifetime of the span, in milliseconds. Only applies to React Native. Type: float @@ -10301,7 +10957,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_module/turbo_module__total_error_count.json - TURBO_MODULE_TOTAL_ERROR_COUNT: Literal["turbo_module.total_error_count"] = "turbo_module.total_error_count" + TURBO_MODULE_TOTAL_ERROR_COUNT: Literal["turbo_module.total_error_count"] = ( + "turbo_module.total_error_count" + ) """The number of native module calls that failed during the lifetime of the span. Only applies to React Native. Type: int @@ -10314,7 +10972,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_module/turbo_module__unique_methods.json - TURBO_MODULE_UNIQUE_METHODS: Literal["turbo_module.unique_methods"] = "turbo_module.unique_methods" + TURBO_MODULE_UNIQUE_METHODS: Literal["turbo_module.unique_methods"] = ( + "turbo_module.unique_methods" + ) """The number of distinct native module and method pairs called during the lifetime of the span. Only applies to React Native. Type: int @@ -10327,7 +10987,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_modules/turbo_modules__total_call_count.json - TURBO_MODULES_TOTAL_CALL_COUNT: Literal["turbo_modules.total_call_count"] = "turbo_modules.total_call_count" + TURBO_MODULES_TOTAL_CALL_COUNT: Literal["turbo_modules.total_call_count"] = ( + "turbo_modules.total_call_count" + ) """The number of native module calls in the flushed call aggregate. Only applies to React Native. Type: int @@ -10340,7 +11002,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_modules/turbo_modules__total_duration_ms.json - TURBO_MODULES_TOTAL_DURATION_MS: Literal["turbo_modules.total_duration_ms"] = "turbo_modules.total_duration_ms" + TURBO_MODULES_TOTAL_DURATION_MS: Literal["turbo_modules.total_duration_ms"] = ( + "turbo_modules.total_duration_ms" + ) """The combined duration of all native module calls in the flushed call aggregate, in milliseconds. Only applies to React Native. Type: float @@ -10353,7 +11017,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_modules/turbo_modules__total_error_count.json - TURBO_MODULES_TOTAL_ERROR_COUNT: Literal["turbo_modules.total_error_count"] = "turbo_modules.total_error_count" + TURBO_MODULES_TOTAL_ERROR_COUNT: Literal["turbo_modules.total_error_count"] = ( + "turbo_modules.total_error_count" + ) """The number of failed native module calls in the flushed call aggregate. Only applies to React Native. Type: int @@ -10366,7 +11032,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/turbo_modules/turbo_modules__unique_methods.json - TURBO_MODULES_UNIQUE_METHODS: Literal["turbo_modules.unique_methods"] = "turbo_modules.unique_methods" + TURBO_MODULES_UNIQUE_METHODS: Literal["turbo_modules.unique_methods"] = ( + "turbo_modules.unique_methods" + ) """The number of distinct native module and method pairs in the flushed call aggregate. Only applies to React Native. Type: int @@ -10567,7 +11235,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/url/url__path__parameter__[key].json - URL_PATH_PARAMETER_KEY: Literal["url.path.parameter."] = "url.path.parameter." + URL_PATH_PARAMETER_KEY: Literal["url.path.parameter."] = ( + "url.path.parameter." + ) """Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router. Type: str @@ -10808,7 +11478,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__ai__telemetry__metadata__[key].json - VERCEL_AI_TELEMETRY_METADATA_KEY: Literal["vercel.ai.telemetry.metadata."] = "vercel.ai.telemetry.metadata." + VERCEL_AI_TELEMETRY_METADATA_KEY: Literal["vercel.ai.telemetry.metadata."] = ( + "vercel.ai.telemetry.metadata." + ) """Metadata passed to a Vercel AI SDK call through `experimental_telemetry.metadata`, with being the metadata key name. Type: str @@ -10886,7 +11558,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__execution_region.json - VERCEL_EXECUTION_REGION: Literal["vercel.execution_region"] = "vercel.execution_region" + VERCEL_EXECUTION_REGION: Literal["vercel.execution_region"] = ( + "vercel.execution_region" + ) """Region where the request is executed Type: str @@ -11007,7 +11681,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__lambda_region.json - VERCEL_PROXY_LAMBDA_REGION: Literal["vercel.proxy.lambda_region"] = "vercel.proxy.lambda_region" + VERCEL_PROXY_LAMBDA_REGION: Literal["vercel.proxy.lambda_region"] = ( + "vercel.proxy.lambda_region" + ) """Region where lambda function executed Type: str @@ -11051,7 +11727,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__path_type_variant.json - VERCEL_PROXY_PATH_TYPE_VARIANT: Literal["vercel.proxy.path_type_variant"] = "vercel.proxy.path_type_variant" + VERCEL_PROXY_PATH_TYPE_VARIANT: Literal["vercel.proxy.path_type_variant"] = ( + "vercel.proxy.path_type_variant" + ) """Variant of the path type Type: str @@ -11084,7 +11762,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__response_byte_size.json - VERCEL_PROXY_RESPONSE_BYTE_SIZE: Literal["vercel.proxy.response_byte_size"] = "vercel.proxy.response_byte_size" + VERCEL_PROXY_RESPONSE_BYTE_SIZE: Literal["vercel.proxy.response_byte_size"] = ( + "vercel.proxy.response_byte_size" + ) """Size of the response in bytes Type: int @@ -11106,7 +11786,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__status_code.json - VERCEL_PROXY_STATUS_CODE: Literal["vercel.proxy.status_code"] = "vercel.proxy.status_code" + VERCEL_PROXY_STATUS_CODE: Literal["vercel.proxy.status_code"] = ( + "vercel.proxy.status_code" + ) """HTTP status code of the proxy request Type: int @@ -11128,7 +11810,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__user_agent.json - VERCEL_PROXY_USER_AGENT: Literal["vercel.proxy.user_agent"] = "vercel.proxy.user_agent" + VERCEL_PROXY_USER_AGENT: Literal["vercel.proxy.user_agent"] = ( + "vercel.proxy.user_agent" + ) """User agent strings of the request Type: List[str] @@ -11139,7 +11823,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__vercel_cache.json - VERCEL_PROXY_VERCEL_CACHE: Literal["vercel.proxy.vercel_cache"] = "vercel.proxy.vercel_cache" + VERCEL_PROXY_VERCEL_CACHE: Literal["vercel.proxy.vercel_cache"] = ( + "vercel.proxy.vercel_cache" + ) """Cache status sent to the browser Type: str @@ -11161,7 +11847,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__waf_action.json - VERCEL_PROXY_WAF_ACTION: Literal["vercel.proxy.waf_action"] = "vercel.proxy.waf_action" + VERCEL_PROXY_WAF_ACTION: Literal["vercel.proxy.waf_action"] = ( + "vercel.proxy.waf_action" + ) """Action taken by firewall rules Type: str @@ -11172,7 +11860,9 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): """ # Path: model/attributes/vercel/vercel__proxy__waf_rule_id.json - VERCEL_PROXY_WAF_RULE_ID: Literal["vercel.proxy.waf_rule_id"] = "vercel.proxy.waf_rule_id" + VERCEL_PROXY_WAF_RULE_ID: Literal["vercel.proxy.waf_rule_id"] = ( + "vercel.proxy.waf_rule_id" + ) """ID of the firewall rule that matched Type: str @@ -11220,10 +11910,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "address": AttributeMetadata( brief="The destination hostname or IP address for a TCP connection.", type=AttributeType.STRING, - keys=("server.address", "address", "http.server_name", "net.host.name", "server_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "server.address", + "address", + "http.server_name", + "net.host.name", + "server_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="example.com", @@ -11231,22 +11925,35 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="server.address", reason="Old namespace-less attribute, to be replaced with server.address for span-first future", - status=DeprecationStatus.BACKFILL - ), - aliases=["server.address","http.server_name","net.host.name","http.host","server_name","net.peer.name"], - changelog=[ - ChangelogEntry(version="0.24.0", prs=[647], description="Added server_name as an alias"), - ChangelogEntry(version="0.21.0", prs=[588, 602], description="Added net.peer.name as an alias"), - ChangelogEntry(version="0.19.0", prs=[534], description="Added address attribute"), + status=DeprecationStatus.BACKFILL, + ), + aliases=[ + "server.address", + "http.server_name", + "net.host.name", + "http.host", + "server_name", + "net.peer.name", + ], + changelog=[ + ChangelogEntry( + version="0.24.0", prs=[647], description="Added server_name as an alias" + ), + ChangelogEntry( + version="0.21.0", + prs=[588, 602], + description="Added net.peer.name as an alias", + ), + ChangelogEntry( + version="0.19.0", prs=[534], description="Added address attribute" + ), ], ), "ai.citations": AttributeMetadata( brief="References or sources cited by the AI model in its response.", type=AttributeType.STRING_ARRAY, keys=("ai.citations",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example=["Citation 1", "Citation 2"], @@ -11259,18 +11966,19 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.completion_tokens.used": AttributeMetadata( brief="The number of tokens used to respond to the message.", type=AttributeType.INTEGER, - keys=("gen_ai.usage.output_tokens", "ai.completion_tokens.used", "gen_ai.usage.completion_tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.output_tokens", + "ai.completion_tokens.used", + "gen_ai.usage.completion_tokens", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=10, deprecation=DeprecationInfo( - replacement="gen_ai.usage.output_tokens", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.usage.output_tokens", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.usage.output_tokens","gen_ai.usage.completion_tokens"], + aliases=["gen_ai.usage.output_tokens", "gen_ai.usage.completion_tokens"], changelog=[ ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[57, 61]), @@ -11281,9 +11989,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Documents or content chunks used as context for the AI model.", type=AttributeType.STRING_ARRAY, keys=("ai.documents",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example=["document1.txt", "document2.pdf"], @@ -11296,16 +12002,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.finish_reason": AttributeMetadata( brief="The reason why the model stopped generating.", type=AttributeType.STRING, - keys=("gen_ai.response.finish_reasons", "ai.finish_reason", "gen_ai.response.finish_reason",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.response.finish_reasons", + "ai.finish_reason", + "gen_ai.response.finish_reason", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="COMPLETE", deprecation=DeprecationInfo( replacement="gen_ai.response.finish_reasons", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["gen_ai.response.finish_reasons"], changelog=[ @@ -11315,16 +12023,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.frequency_penalty": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=("gen_ai.request.frequency_penalty", "ai.frequency_penalty",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.frequency_penalty", + "ai.frequency_penalty", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, deprecation=DeprecationInfo( replacement="gen_ai.request.frequency_penalty", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["gen_ai.request.frequency_penalty"], changelog=[ @@ -11335,18 +12044,19 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.function_call": AttributeMetadata( brief="For an AI model call, the function that was called. This is deprecated for OpenAI, and replaced by tool_calls", type=AttributeType.STRING, - keys=("gen_ai.tool.name", "ai.function_call", "mcp.tool.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "gen_ai.tool.name", + "ai.function_call", + "mcp.tool.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="function_name", deprecation=DeprecationInfo( - replacement="gen_ai.tool.name", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.tool.name", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.tool.name","mcp.tool.name"], + aliases=["gen_ai.tool.name", "mcp.tool.name"], changelog=[ ChangelogEntry(version="0.1.0", prs=[55, 57, 61, 108]), ], @@ -11354,36 +12064,45 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.generation_id": AttributeMetadata( brief="Unique identifier for the completion.", type=AttributeType.STRING, - keys=("gen_ai.response.id", "ai.generation_id", "ai.response.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.response.id", + "ai.generation_id", + "ai.response.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="gen_123abc", deprecation=DeprecationInfo( - replacement="gen_ai.response.id", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.response.id", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.response.id","ai.response.id"], + aliases=["gen_ai.response.id", "ai.response.id"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.id as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[583], + description="Added ai.response.id as an alias", + ), ChangelogEntry(version="0.1.0", prs=[55, 57, 61, 108, 127]), ], ), "ai.input_messages": AttributeMetadata( brief="The input messages sent to the model", type=AttributeType.STRING, - keys=("gen_ai.input.messages", "ai.input_messages", "ai.prompt", "ai.prompt.messages", "ai.texts", "gen_ai.prompt",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.input.messages", + "ai.input_messages", + "ai.prompt", + "ai.prompt.messages", + "ai.texts", + "gen_ai.prompt", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="[{\"role\": \"user\", \"message\": \"hello\"}]", + example='[{"role": "user", "message": "hello"}]', deprecation=DeprecationInfo( - replacement="gen_ai.input.messages", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.input.messages", status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.request.messages"], changelog=[ @@ -11395,9 +12114,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Boolean indicating if the model needs to perform a search.", type=AttributeType.BOOLEAN, keys=("ai.is_search_required",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=False, @@ -11411,12 +12128,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Extra metadata passed to an AI pipeline step.", type=AttributeType.STRING, keys=("ai.metadata",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="{\"user_id\": 123, \"session_id\": \"abc123\"}", + example='{"user_id": 123, "session_id": "abc123"}', deprecation=DeprecationInfo(), changelog=[ ChangelogEntry(version="0.5.0", prs=[264]), @@ -11426,10 +12141,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.model.id": AttributeMetadata( brief="The id of the model used by the Vercel AI SDK.", type=AttributeType.STRING, - keys=("gen_ai.request.model", "ai.model.id", "ai.model_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.model", + "ai.model.id", + "ai.model_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="gpt-4o", @@ -11437,28 +12154,31 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.request.model", reason="This attribute is being deprecated in favor of gen_ai.request.model.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["gen_ai.request.model","ai.model_id"], + aliases=["gen_ai.request.model", "ai.model_id"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.model.id attribute"), + ChangelogEntry( + version="0.21.0", prs=[583], description="Added ai.model.id attribute" + ), ], ), "ai.model.provider": AttributeMetadata( brief="The provider of the model.", type=AttributeType.STRING, - keys=("gen_ai.provider.name", "ai.model.provider", "gen_ai.system",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.provider.name", + "ai.model.provider", + "gen_ai.system", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="openai", deprecation=DeprecationInfo( - replacement="gen_ai.provider.name", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.provider.name", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.provider.name","gen_ai.system"], + aliases=["gen_ai.provider.name", "gen_ai.system"], changelog=[ ChangelogEntry(version="0.4.0", prs=[253]), ChangelogEntry(version="0.1.0", prs=[57, 61, 108, 127]), @@ -11467,20 +12187,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.model_id": AttributeMetadata( brief="The vendor-specific ID of the model used.", type=AttributeType.STRING, - keys=("gen_ai.request.model", "ai.model.id", "ai.model_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.model", + "ai.model.id", + "ai.model_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="gpt-4", deprecation=DeprecationInfo( - replacement="gen_ai.request.model", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.request.model", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.request.model","ai.model.id"], + aliases=["gen_ai.request.model", "ai.model.id"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.model.id as an alias"), + ChangelogEntry( + version="0.21.0", prs=[583], description="Added ai.model.id as an alias" + ), ChangelogEntry(version="0.1.0", prs=[57, 61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -11488,36 +12211,42 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.pipeline.name": AttributeMetadata( brief="The name of the AI pipeline.", type=AttributeType.STRING, - keys=("gen_ai.pipeline.name", "ai.pipeline.name", "langchain.chain.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.pipeline.name", + "ai.pipeline.name", + "langchain.chain.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Autofix Pipeline", deprecation=DeprecationInfo( - replacement="gen_ai.pipeline.name", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.pipeline.name", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.pipeline.name","langchain.chain.name"], + aliases=["gen_ai.pipeline.name", "langchain.chain.name"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[599], description="Added langchain.chain.name as an alias"), + ChangelogEntry( + version="0.22.0", + prs=[599], + description="Added langchain.chain.name as an alias", + ), ChangelogEntry(version="0.1.0", prs=[53, 76, 108, 127]), ], ), "ai.preamble": AttributeMetadata( 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=AttributeType.STRING, - keys=("gen_ai.system_instructions", "ai.preamble", "gen_ai.system.message",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "gen_ai.system_instructions", + "ai.preamble", + "gen_ai.system.message", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="You are now a clown.", deprecation=DeprecationInfo( - replacement="gen_ai.system_instructions", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.system_instructions", status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.system_instructions"], changelog=[ @@ -11528,16 +12257,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.presence_penalty": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=("gen_ai.request.presence_penalty", "ai.presence_penalty",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.presence_penalty", + "ai.presence_penalty", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, deprecation=DeprecationInfo( replacement="gen_ai.request.presence_penalty", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["gen_ai.request.presence_penalty"], changelog=[ @@ -11548,79 +12278,109 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.prompt": AttributeMetadata( brief="The prompt passed to the Vercel AI SDK, as a stringified object.", type=AttributeType.STRING, - keys=("gen_ai.input.messages", "ai.input_messages", "ai.prompt", "ai.prompt.messages", "ai.texts", "gen_ai.prompt",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.input.messages", + "ai.input_messages", + "ai.prompt", + "ai.prompt.messages", + "ai.texts", + "gen_ai.prompt", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="{\"prompt\":\"What is the weather in Paris?\"}", - examples=["{\"prompt\":\"What is the weather in Paris?\"}"], + example='{"prompt":"What is the weather in Paris?"}', + examples=['{"prompt":"What is the weather in Paris?"}'], deprecation=DeprecationInfo( replacement="gen_ai.input.messages", reason="This attribute is being deprecated in favor of gen_ai.input.messages.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["gen_ai.input.messages","ai.texts","ai.prompt.messages","gen_ai.prompt"], + aliases=[ + "gen_ai.input.messages", + "ai.texts", + "ai.prompt.messages", + "gen_ai.prompt", + ], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.prompt attribute"), + ChangelogEntry( + version="0.21.0", prs=[583], description="Added ai.prompt attribute" + ), ], ), "ai.prompt.messages": AttributeMetadata( brief="The input messages sent to the AI model.", type=AttributeType.STRING, - keys=("gen_ai.input.messages", "ai.input_messages", "ai.prompt", "ai.prompt.messages", "ai.texts", "gen_ai.prompt",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.input.messages", + "ai.input_messages", + "ai.prompt", + "ai.prompt.messages", + "ai.texts", + "gen_ai.prompt", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="[{\"role\": \"user\", \"message\": \"hello\"}]", + example='[{"role": "user", "message": "hello"}]', deprecation=DeprecationInfo( - replacement="gen_ai.input.messages", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.input.messages", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.input.messages","ai.texts","gen_ai.prompt","ai.prompt"], + aliases=["gen_ai.input.messages", "ai.texts", "gen_ai.prompt", "ai.prompt"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.prompt as an alias"), - ChangelogEntry(version="0.19.0", prs=[498], description="Added ai.prompt.messages attribute"), + ChangelogEntry( + version="0.21.0", prs=[583], description="Added ai.prompt as an alias" + ), + ChangelogEntry( + version="0.19.0", + prs=[498], + description="Added ai.prompt.messages attribute", + ), ], ), "ai.prompt.tools": AttributeMetadata( brief="The tools made available to the model, as an array of stringified tool definitions.", type=AttributeType.STRING_ARRAY, - keys=("gen_ai.tool.definitions", "ai.prompt.tools", "ai.tools", "gen_ai.request.available_tools",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.tool.definitions", + "ai.prompt.tools", + "ai.tools", + "gen_ai.request.available_tools", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example=["{\"type\":\"function\",\"name\":\"get_weather\"}"], - examples=[["{\"type\":\"function\",\"name\":\"get_weather\"}"]], + example=['{"type":"function","name":"get_weather"}'], + examples=[['{"type":"function","name":"get_weather"}']], deprecation=DeprecationInfo( replacement="gen_ai.tool.definitions", reason="This attribute is being deprecated in favor of gen_ai.tool.definitions.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.prompt.tools attribute"), + ChangelogEntry( + version="0.21.0", + prs=[583], + description="Added ai.prompt.tools attribute", + ), ], ), "ai.prompt_tokens.used": AttributeMetadata( brief="The number of tokens used to process just the prompt.", type=AttributeType.INTEGER, - keys=("gen_ai.usage.input_tokens", "ai.prompt_tokens.used", "gen_ai.usage.prompt_tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.input_tokens", + "ai.prompt_tokens.used", + "gen_ai.usage.prompt_tokens", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=20, deprecation=DeprecationInfo( - replacement="gen_ai.usage.input_tokens", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.usage.input_tokens", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.usage.prompt_tokens","gen_ai.usage.input_tokens"], + aliases=["gen_ai.usage.prompt_tokens", "gen_ai.usage.input_tokens"], changelog=[ ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[57, 61]), @@ -11631,9 +12391,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="When enabled, the user’s prompt will be sent to the model without any pre-processing.", type=AttributeType.BOOLEAN, keys=("ai.raw_prompting",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -11646,10 +12404,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.response.id": AttributeMetadata( brief="The id of the response returned by the model.", type=AttributeType.STRING, - keys=("gen_ai.response.id", "ai.generation_id", "ai.response.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.response.id", + "ai.generation_id", + "ai.response.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="chatcmpl-BuKJgVSKAMTUYbBSjHTMUuNGKzOPY", @@ -11657,20 +12417,25 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.response.id", reason="This attribute is being deprecated in favor of gen_ai.response.id.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["gen_ai.response.id","ai.generation_id"], + aliases=["gen_ai.response.id", "ai.generation_id"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.id attribute"), + ChangelogEntry( + version="0.21.0", + prs=[583], + description="Added ai.response.id attribute", + ), ], ), "ai.response.model": AttributeMetadata( brief="The id of the model that produced the response.", type=AttributeType.STRING, - keys=("gen_ai.response.model", "ai.response.model",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.response.model", + "ai.response.model", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="gpt-4o-2024-08-06", @@ -11678,20 +12443,22 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.response.model", reason="This attribute is being deprecated in favor of gen_ai.response.model.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["gen_ai.response.model"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.model attribute"), + ChangelogEntry( + version="0.21.0", + prs=[583], + description="Added ai.response.model attribute", + ), ], ), "ai.response.object": AttributeMetadata( brief="The type of the object returned by the model.", type=AttributeType.STRING, keys=("ai.response.object",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="chat.completion", @@ -11700,35 +12467,44 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is deprecated. The Sentry conventions have no replacement for the raw Vercel AI response object type." ), changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.object attribute"), + ChangelogEntry( + version="0.21.0", + prs=[583], + description="Added ai.response.object attribute", + ), ], ), "ai.response.text": AttributeMetadata( brief="The text response from the AI model.", type=AttributeType.STRING, - keys=("gen_ai.output.messages", "ai.response.text", "ai.response.toolCalls", "ai.responses", "ai.tool_calls",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.output.messages", + "ai.response.text", + "ai.response.toolCalls", + "ai.responses", + "ai.tool_calls", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="The weather in Paris is currently rainy.", deprecation=DeprecationInfo( - replacement="gen_ai.output.messages", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.output.messages", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.output.messages","ai.response.toolCalls"], + aliases=["gen_ai.output.messages", "ai.response.toolCalls"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[498], description="Added ai.response.text attribute"), + ChangelogEntry( + version="0.19.0", + prs=[498], + description="Added ai.response.text attribute", + ), ], ), "ai.response.timestamp": AttributeMetadata( brief="The ISO 8601 timestamp at which the response was produced.", type=AttributeType.STRING, keys=("ai.response.timestamp",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="2026-02-19T15:32:11.000Z", @@ -11737,35 +12513,44 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is deprecated. The span start and end timestamps carry the same information." ), changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.timestamp attribute"), + ChangelogEntry( + version="0.21.0", + prs=[583], + description="Added ai.response.timestamp attribute", + ), ], ), "ai.response.toolCalls": AttributeMetadata( brief="The tool calls in the AI model response.", type=AttributeType.STRING, - keys=("gen_ai.output.messages", "ai.response.text", "ai.response.toolCalls", "ai.responses", "ai.tool_calls",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.output.messages", + "ai.response.text", + "ai.response.toolCalls", + "ai.responses", + "ai.tool_calls", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="[{\"name\": \"get_weather\", \"arguments\": {\"location\": \"Paris\"}}]", + example='[{"name": "get_weather", "arguments": {"location": "Paris"}}]', deprecation=DeprecationInfo( - replacement="gen_ai.output.messages", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.output.messages", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.output.messages","ai.response.text"], + aliases=["gen_ai.output.messages", "ai.response.text"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[498], description="Added ai.response.toolCalls attribute"), + ChangelogEntry( + version="0.19.0", + prs=[498], + description="Added ai.response.toolCalls attribute", + ), ], ), "ai.response_format": AttributeMetadata( brief="For an AI model call, the format of the response", type=AttributeType.STRING, keys=("ai.response_format",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="json_object", @@ -11778,16 +12563,19 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.responses": AttributeMetadata( brief="The response messages sent back by the AI model.", type=AttributeType.STRING_ARRAY, - keys=("gen_ai.output.messages", "ai.response.text", "ai.response.toolCalls", "ai.responses", "ai.tool_calls",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.output.messages", + "ai.response.text", + "ai.response.toolCalls", + "ai.responses", + "ai.tool_calls", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=["hello", "world"], deprecation=DeprecationInfo( - replacement="gen_ai.output.messages", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.output.messages", status=DeprecationStatus.BACKFILL ), changelog=[ ChangelogEntry(version="0.1.0", prs=[65, 127]), @@ -11798,27 +12586,25 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The stringified JSON schema the model output must conform to.", type=AttributeType.STRING, keys=("ai.schema",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}}}", - examples=["{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}}}"], + example='{"type":"object","properties":{"city":{"type":"string"}}}', + examples=['{"type":"object","properties":{"city":{"type":"string"}}}'], deprecation=DeprecationInfo( reason="This attribute is deprecated. The Sentry conventions have no replacement for the requested output schema." ), changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.schema attribute"), + ChangelogEntry( + version="0.21.0", prs=[583], description="Added ai.schema attribute" + ), ], ), "ai.search_queries": AttributeMetadata( brief="Queries used to search for relevant context or documents.", type=AttributeType.STRING_ARRAY, keys=("ai.search_queries",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example=["climate change effects", "renewable energy"], @@ -11832,9 +12618,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Results returned from search queries for context.", type=AttributeType.STRING_ARRAY, keys=("ai.search_results",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example=["search_result_1, search_result_2"], @@ -11847,16 +12631,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.seed": AttributeMetadata( brief="The seed, ideally models given the same seed and same other parameters will produce the exact same output.", type=AttributeType.STRING, - keys=("gen_ai.request.seed", "ai.seed",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.seed", + "ai.seed", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1234567890", deprecation=DeprecationInfo( - replacement="gen_ai.request.seed", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.request.seed", status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.request.seed"], changelog=[ @@ -11866,16 +12650,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.streaming": AttributeMetadata( brief="Whether the request was streamed back.", type=AttributeType.BOOLEAN, - keys=("gen_ai.response.streaming", "ai.streaming",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.response.streaming", + "ai.streaming", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, deprecation=DeprecationInfo( - replacement="gen_ai.response.streaming", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.response.streaming", status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.response.streaming"], changelog=[ @@ -11887,12 +12671,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Tags that describe an AI pipeline step.", type=AttributeType.STRING, keys=("ai.tags",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="{\"executed_function\": \"add_integers\"}", + example='{"executed_function": "add_integers"}', deprecation=DeprecationInfo(), changelog=[ ChangelogEntry(version="0.5.0", prs=[264]), @@ -11902,16 +12684,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.temperature": AttributeMetadata( brief="For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.", type=AttributeType.DOUBLE, - keys=("gen_ai.request.temperature", "ai.temperature",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.temperature", + "ai.temperature", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.1, deprecation=DeprecationInfo( - replacement="gen_ai.request.temperature", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.request.temperature", status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.request.temperature"], changelog=[ @@ -11922,20 +12704,31 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.texts": AttributeMetadata( brief="Raw text inputs provided to the model.", type=AttributeType.STRING_ARRAY, - keys=("gen_ai.input.messages", "ai.input_messages", "ai.prompt", "ai.prompt.messages", "ai.texts", "gen_ai.prompt",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "gen_ai.input.messages", + "ai.input_messages", + "ai.prompt", + "ai.prompt.messages", + "ai.texts", + "gen_ai.prompt", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example=["Hello, how are you?", "What is the capital of France?"], deprecation=DeprecationInfo( - replacement="gen_ai.input.messages", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.input.messages", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.input.messages","ai.prompt.messages","gen_ai.prompt","ai.prompt"], + aliases=[ + "gen_ai.input.messages", + "ai.prompt.messages", + "gen_ai.prompt", + "ai.prompt", + ], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.prompt as an alias"), + ChangelogEntry( + version="0.21.0", prs=[583], description="Added ai.prompt as an alias" + ), ChangelogEntry(version="0.5.0", prs=[264]), ChangelogEntry(version="0.1.0", prs=[55]), ], @@ -11943,54 +12736,76 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.toolCall.args": AttributeMetadata( brief="The arguments of the tool call.", type=AttributeType.STRING, - keys=("gen_ai.tool.call.arguments", "ai.toolCall.args", "gen_ai.tool.input",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.tool.call.arguments", + "ai.toolCall.args", + "gen_ai.tool.input", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="{\"location\": \"Paris\"}", + example='{"location": "Paris"}', deprecation=DeprecationInfo( - replacement="gen_ai.tool.call.arguments", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.tool.call.arguments", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.tool.call.arguments","gen_ai.tool.input"], + aliases=["gen_ai.tool.call.arguments", "gen_ai.tool.input"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[498], description="Added ai.toolCall.args attribute"), + ChangelogEntry( + version="0.19.0", + prs=[498], + description="Added ai.toolCall.args attribute", + ), ], ), "ai.toolCall.result": AttributeMetadata( brief="The result of the tool call.", type=AttributeType.STRING, - keys=("gen_ai.tool.call.result", "ai.toolCall.result", "anthropic.tool_result.content", "gen_ai.tool.message", "gen_ai.tool.output", "mcp.tool.result.content",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.tool.call.result", + "ai.toolCall.result", + "anthropic.tool_result.content", + "gen_ai.tool.message", + "gen_ai.tool.output", + "mcp.tool.result.content", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="rainy, 57°F", deprecation=DeprecationInfo( - replacement="gen_ai.tool.call.result", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.tool.call.result", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.tool.call.result","gen_ai.tool.output","gen_ai.tool.message","mcp.tool.result.content","anthropic.tool_result.content"], + aliases=[ + "gen_ai.tool.call.result", + "gen_ai.tool.output", + "gen_ai.tool.message", + "mcp.tool.result.content", + "anthropic.tool_result.content", + ], changelog=[ - ChangelogEntry(version="0.19.0", prs=[498], description="Added ai.toolCall.result attribute"), + ChangelogEntry( + version="0.19.0", + prs=[498], + description="Added ai.toolCall.result attribute", + ), ], ), "ai.tool_calls": AttributeMetadata( brief="For an AI model call, the tool calls that were made.", type=AttributeType.STRING_ARRAY, - keys=("gen_ai.output.messages", "ai.response.text", "ai.response.toolCalls", "ai.responses", "ai.tool_calls",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "gen_ai.output.messages", + "ai.response.text", + "ai.response.toolCalls", + "ai.responses", + "ai.tool_calls", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example=["tool_call_1", "tool_call_2"], deprecation=DeprecationInfo( - replacement="gen_ai.output.messages", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.output.messages", status=DeprecationStatus.BACKFILL ), changelog=[ ChangelogEntry(version="0.1.0", prs=[55, 65]), @@ -11999,16 +12814,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.tools": AttributeMetadata( brief="For an AI model call, the functions that are available", type=AttributeType.STRING_ARRAY, - keys=("gen_ai.tool.definitions", "ai.prompt.tools", "ai.tools", "gen_ai.request.available_tools",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.tool.definitions", + "ai.prompt.tools", + "ai.tools", + "gen_ai.request.available_tools", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=["function_1", "function_2"], deprecation=DeprecationInfo( - replacement="gen_ai.tool.definitions", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.tool.definitions", status=DeprecationStatus.BACKFILL ), changelog=[ ChangelogEntry(version="0.1.0", prs=[55, 65, 127]), @@ -12017,16 +12834,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.top_k": AttributeMetadata( 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=AttributeType.INTEGER, - keys=("gen_ai.request.top_k", "ai.top_k",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.top_k", + "ai.top_k", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=35, deprecation=DeprecationInfo( - replacement="gen_ai.request.top_k", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.request.top_k", status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.request.top_k"], changelog=[ @@ -12037,16 +12854,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.top_p": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=("gen_ai.request.top_p", "ai.top_p",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.top_p", + "ai.top_p", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.7, deprecation=DeprecationInfo( - replacement="gen_ai.request.top_p", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.request.top_p", status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.request.top_p"], changelog=[ @@ -12057,16 +12874,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.total_cost": AttributeMetadata( brief="The total cost for the tokens used.", type=AttributeType.DOUBLE, - keys=("gen_ai.cost.total_tokens", "ai.total_cost",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.cost.total_tokens", + "ai.total_cost", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=12.34, deprecation=DeprecationInfo( - replacement="gen_ai.cost.total_tokens", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.cost.total_tokens", status=DeprecationStatus.BACKFILL ), aliases=["gen_ai.cost.total_tokens"], changelog=[ @@ -12074,28 +12891,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[53]), ], - search_alias=SearchAlias( - name="ai.total_cost", - type="currency" - ), + search_alias=SearchAlias(name="ai.total_cost", type="currency"), ), "ai.total_tokens.used": AttributeMetadata( brief="The total number of tokens used to process the prompt.", type=AttributeType.INTEGER, - keys=("gen_ai.usage.total_tokens", "ai.total_tokens.used", "ai.usage.tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.total_tokens", + "ai.total_tokens.used", + "ai.usage.tokens", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=30, deprecation=DeprecationInfo( - replacement="gen_ai.usage.total_tokens", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.usage.total_tokens", status=DeprecationStatus.BACKFILL ), - aliases=["gen_ai.usage.total_tokens","ai.usage.tokens"], + aliases=["gen_ai.usage.total_tokens", "ai.usage.tokens"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.usage.tokens as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[583], + description="Added ai.usage.tokens as an alias", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[57, 61, 108]), ChangelogEntry(version="0.0.0"), @@ -12104,10 +12923,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ai.usage.tokens": AttributeMetadata( brief="The total number of tokens used for the request and the response.", type=AttributeType.INTEGER, - keys=("gen_ai.usage.total_tokens", "ai.total_tokens.used", "ai.usage.tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.total_tokens", + "ai.total_tokens.used", + "ai.usage.tokens", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=150, @@ -12115,38 +12936,40 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.usage.total_tokens", reason="This attribute is being deprecated in favor of gen_ai.usage.total_tokens.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["gen_ai.usage.total_tokens","ai.total_tokens.used"], + aliases=["gen_ai.usage.total_tokens", "ai.total_tokens.used"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.usage.tokens attribute"), + ChangelogEntry( + version="0.21.0", + prs=[583], + description="Added ai.usage.tokens attribute", + ), ], ), "ai.values": AttributeMetadata( brief="The stringified values produced by a Vercel AI SDK object or array generation.", type=AttributeType.STRING, keys=("ai.values",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="[{\"city\":\"Paris\"}]", - examples=["[{\"city\":\"Paris\"}]"], + example='[{"city":"Paris"}]', + examples=['[{"city":"Paris"}]'], deprecation=DeprecationInfo( reason="This attribute is deprecated. Use gen_ai.output.messages for model output instead." ), changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.values attribute"), + ChangelogEntry( + version="0.21.0", prs=[583], description="Added ai.values attribute" + ), ], ), "ai.warnings": AttributeMetadata( brief="Warning messages generated during model execution.", type=AttributeType.STRING_ARRAY, keys=("ai.warnings",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example=["Token limit exceeded"], @@ -12160,23 +12983,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The version of the Angular framework", type=AttributeType.STRING, keys=("angular.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="17.1.0", changelog=[ - ChangelogEntry(version="0.7.0", prs=[367], description="Added angular.version attribute"), + ChangelogEntry( + version="0.7.0", + prs=[367], + description="Added angular.version attribute", + ), ], ), "anthropic.tool_result.content": AttributeMetadata( brief="The content of the tool result.", type=AttributeType.STRING, - keys=("gen_ai.tool.call.result", "ai.toolCall.result", "anthropic.tool_result.content", "gen_ai.tool.message", "gen_ai.tool.output", "mcp.tool.result.content",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.tool.call.result", + "ai.toolCall.result", + "anthropic.tool_result.content", + "gen_ai.tool.message", + "gen_ai.tool.output", + "mcp.tool.result.content", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="rainy, 57°F", @@ -12184,480 +13014,632 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.tool.call.result", reason="Use gen_ai.tool.call.result for tool results.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["gen_ai.tool.call.result","gen_ai.tool.output","gen_ai.tool.message","mcp.tool.result.content","ai.toolCall.result"], + aliases=[ + "gen_ai.tool.call.result", + "gen_ai.tool.output", + "gen_ai.tool.message", + "mcp.tool.result.content", + "ai.toolCall.result", + ], changelog=[ - ChangelogEntry(version="0.26.0", prs=[660], description="Added anthropic.tool_result.content attribute, deprecated in favor of gen_ai.tool.call.result"), + ChangelogEntry( + version="0.26.0", + prs=[660], + description="Added anthropic.tool_result.content attribute, deprecated in favor of gen_ai.tool.call.result", + ), ], ), "app.app_build": AttributeMetadata( brief="Internal build identifier, as it appears on the platform.", type=AttributeType.STRING, - keys=("app.build", "app.app_build",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.build", + "app.app_build", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1", deprecation=DeprecationInfo( replacement="app.build", reason="Deprecated in favor of app.build", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.build"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[296], description="Added and deprecated app.app_build in favor of app.build"), + ChangelogEntry( + version="0.5.0", + prs=[296], + description="Added and deprecated app.app_build in favor of app.build", + ), ], ), "app.app_identifier": AttributeMetadata( brief="Version-independent application identifier, often a dotted bundle ID.", type=AttributeType.STRING, - keys=("app.identifier", "app.app_identifier",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.identifier", + "app.app_identifier", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="com.example.myapp", deprecation=DeprecationInfo( replacement="app.identifier", reason="Deprecated in favor of app.identifier", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.identifier"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[296], description="Added and deprecated app.app_identifier in favor of app.identifier"), + ChangelogEntry( + version="0.5.0", + prs=[296], + description="Added and deprecated app.app_identifier in favor of app.identifier", + ), ], ), "app.app_name": AttributeMetadata( brief="Human readable application name, as it appears on the platform.", type=AttributeType.STRING, - keys=("app.name", "app.app_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.name", + "app.app_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="My App", deprecation=DeprecationInfo( replacement="app.name", reason="Deprecated in favor of app.name", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.name"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[296], description="Added and deprecated app.app_name in favor of app.name"), + ChangelogEntry( + version="0.5.0", + prs=[296], + description="Added and deprecated app.app_name in favor of app.name", + ), ], ), "app.app_start_time": AttributeMetadata( brief="Formatted UTC timestamp when the user started the application.", type=AttributeType.STRING, - keys=("app.start_time", "app.app_start_time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.start_time", + "app.app_start_time", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="2025-01-01T00:00:00.000Z", deprecation=DeprecationInfo( replacement="app.start_time", reason="Deprecated in favor of app.start_time", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.start_time"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[296], description="Added and deprecated app.app_start_time in favor of app.start_time"), + ChangelogEntry( + version="0.5.0", + prs=[296], + description="Added and deprecated app.app_start_time in favor of app.start_time", + ), ], ), "app.app_version": AttributeMetadata( brief="Human readable application version, as it appears on the platform.", type=AttributeType.STRING, - keys=("app.version", "app.app_version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.version", + "app.app_version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1.0.0", deprecation=DeprecationInfo( replacement="app.version", reason="Deprecated in favor of app.version", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.version"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[296], description="Added and deprecated app.app_version in favor of app.version"), + ChangelogEntry( + version="0.5.0", + prs=[296], + description="Added and deprecated app.app_version in favor of app.version", + ), ], ), "app.build": AttributeMetadata( brief="Internal build identifier, as it appears on the platform.", type=AttributeType.STRING, - keys=("app.build", "app.app_build",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.build", + "app.app_build", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1", aliases=["app.app_build"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[296], description="Added app.build attribute"), + ChangelogEntry( + version="0.5.0", prs=[296], description="Added app.build attribute" + ), ], ), "app.identifier": AttributeMetadata( brief="Version-independent application identifier, often a dotted bundle ID.", type=AttributeType.STRING, - keys=("app.identifier", "app.app_identifier",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.identifier", + "app.app_identifier", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="com.example.myapp", aliases=["app.app_identifier"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[296], description="Added app.identifier attribute"), + ChangelogEntry( + version="0.5.0", prs=[296], description="Added app.identifier attribute" + ), ], ), "app.in_foreground": AttributeMetadata( brief="Whether the application is currently in the foreground.", type=AttributeType.BOOLEAN, keys=("app.in_foreground",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry(version="0.5.0", prs=[296], description="Added app.in_foreground attribute"), + ChangelogEntry( + version="0.5.0", + prs=[296], + description="Added app.in_foreground attribute", + ), ], ), "app.name": AttributeMetadata( brief="Human readable application name, as it appears on the platform.", type=AttributeType.STRING, - keys=("app.name", "app.app_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.name", + "app.app_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="My App", aliases=["app.app_name"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[296], description="Added app.name attribute"), + ChangelogEntry( + version="0.5.0", prs=[296], description="Added app.name attribute" + ), ], ), "app.start_time": AttributeMetadata( brief="Formatted UTC timestamp when the user started the application.", type=AttributeType.STRING, - keys=("app.start_time", "app.app_start_time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.start_time", + "app.app_start_time", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="2025-01-01T00:00:00.000Z", aliases=["app.app_start_time"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[296], description="Added app.start_time attribute"), + ChangelogEntry( + version="0.5.0", prs=[296], description="Added app.start_time attribute" + ), ], ), "app.version": AttributeMetadata( brief="Human readable application version, as it appears on the platform.", type=AttributeType.STRING, - keys=("app.version", "app.app_version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.version", + "app.app_version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1.0.0", aliases=["app.app_version"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[296], description="Added app.version attribute"), + ChangelogEntry( + version="0.5.0", prs=[296], description="Added app.version attribute" + ), ], ), "app.vitals.frames.delay.value": AttributeMetadata( 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=AttributeType.INTEGER, - keys=("app.vitals.frames.delay.value", "frames.delay", "mobile.frames_delay",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.delay.value", + "frames.delay", + "mobile.frames_delay", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=5, aliases=["frames.delay"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.frames.delay.value to replace frames.delay"), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Added app.vitals.frames.delay.value to replace frames.delay", + ), ], ), "app.vitals.frames.frozen.count": AttributeMetadata( brief="The number of frozen frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=("app.vitals.frames.frozen.count", "frames.frozen", "mobile.frozen_frames", "sentry.frames.frozen",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.frozen.count", + "frames.frozen", + "mobile.frozen_frames", + "sentry.frames.frozen", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=3, - aliases=["frames.frozen","sentry.frames.frozen"], + aliases=["frames.frozen", "sentry.frames.frozen"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.frozen as an alias"), - ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.frames.frozen.count to replace frames.frozen"), + ChangelogEntry( + version="0.19.0", + prs=[500], + description="Added sentry.frames.frozen as an alias", + ), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Added app.vitals.frames.frozen.count to replace frames.frozen", + ), ], ), "app.vitals.frames.frozen.rate": AttributeMetadata( brief="The fraction of rendered frames that were frozen, calculated as `app.vitals.frames.frozen.count` divided by `app.vitals.frames.total.count`. This is computed by Relay.", type=AttributeType.DOUBLE, - keys=("app.vitals.frames.frozen.rate", "frames_frozen_rate",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.frozen.rate", + "frames_frozen_rate", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, aliases=["frames_frozen_rate"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[493], description="Added app.vitals.frames.frozen.rate attribute"), + ChangelogEntry( + version="0.19.0", + prs=[493], + description="Added app.vitals.frames.frozen.rate attribute", + ), ], ), "app.vitals.frames.slow.count": AttributeMetadata( brief="The number of slow frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=("app.vitals.frames.slow.count", "frames.slow", "mobile.slow_frames", "sentry.frames.slow",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.slow.count", + "frames.slow", + "mobile.slow_frames", + "sentry.frames.slow", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, - aliases=["frames.slow","sentry.frames.slow"], + aliases=["frames.slow", "sentry.frames.slow"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.slow as an alias"), - ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.frames.slow.count to replace frames.slow"), + ChangelogEntry( + version="0.19.0", + prs=[500], + description="Added sentry.frames.slow as an alias", + ), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Added app.vitals.frames.slow.count to replace frames.slow", + ), ], ), "app.vitals.frames.slow.rate": AttributeMetadata( brief="The fraction of rendered frames that were slow, calculated as `app.vitals.frames.slow.count` divided by `app.vitals.frames.total.count`. This is computed by Relay.", type=AttributeType.DOUBLE, - keys=("app.vitals.frames.slow.rate", "frames_slow_rate",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.slow.rate", + "frames_slow_rate", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.25, aliases=["frames_slow_rate"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[493], description="Added app.vitals.frames.slow.rate attribute"), + ChangelogEntry( + version="0.19.0", + prs=[493], + description="Added app.vitals.frames.slow.rate attribute", + ), ], ), "app.vitals.frames.total.count": AttributeMetadata( brief="The number of total frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=("app.vitals.frames.total.count", "frames.total", "mobile.total_frames", "sentry.frames.total",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.total.count", + "frames.total", + "mobile.total_frames", + "sentry.frames.total", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=60, - aliases=["frames.total","sentry.frames.total"], + aliases=["frames.total", "sentry.frames.total"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.total as an alias"), - ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.frames.total.count to replace frames.total"), + ChangelogEntry( + version="0.19.0", + prs=[500], + description="Added sentry.frames.total as an alias", + ), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Added app.vitals.frames.total.count to replace frames.total", + ), ], ), "app.vitals.stall.duration": AttributeMetadata( brief="The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay.", type=AttributeType.DOUBLE, - keys=("app.vitals.stall.duration", "stall_total_time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.stall.duration", + "stall_total_time", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=4000, aliases=["stall_total_time"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[493], description="Added app.vitals.stall.duration attribute"), + ChangelogEntry( + version="0.19.0", + prs=[493], + description="Added app.vitals.stall.duration attribute", + ), ], ), "app.vitals.stall.percentage": AttributeMetadata( brief="The fraction of transaction duration during which the app was stalled, between 0.0 and 1.0. For example, 0.8 represents 80%. Only applies to React Native. This is computed by Relay.", type=AttributeType.DOUBLE, - keys=("app.vitals.stall.percentage", "stall_percentage",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.stall.percentage", + "stall_percentage", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.8, aliases=["stall_percentage"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[493], description="Added app.vitals.stall.percentage attribute"), + ChangelogEntry( + version="0.19.0", + prs=[493], + description="Added app.vitals.stall.percentage attribute", + ), ], ), "app.vitals.start.cold.value": AttributeMetadata( brief="The duration of a cold app start in milliseconds", type=AttributeType.DOUBLE, - keys=("app.vitals.start.cold.value", "app_start_cold",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.start.cold.value", + "app_start_cold", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, aliases=["app_start_cold"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.start.cold.value attribute"), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Added app.vitals.start.cold.value attribute", + ), ], ), "app.vitals.start.prewarmed": AttributeMetadata( brief="Whether the app start was prewarmed.", type=AttributeType.BOOLEAN, keys=("app.vitals.start.prewarmed",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry(version="0.11.0", prs=[379], description="Added app.vitals.start.prewarmed attribute"), + ChangelogEntry( + version="0.11.0", + prs=[379], + description="Added app.vitals.start.prewarmed attribute", + ), ], ), "app.vitals.start.reason": AttributeMetadata( brief="The reason that triggered the app start.", type=AttributeType.STRING, keys=("app.vitals.start.reason",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="push", changelog=[ - ChangelogEntry(version="0.7.0", prs=[353], description="Added app.vitals.start.reason attribute"), + ChangelogEntry( + version="0.7.0", + prs=[353], + description="Added app.vitals.start.reason attribute", + ), ], ), "app.vitals.start.screen": AttributeMetadata( brief="The screen that is rendered when the app start is complete. This is the screen the user first sees and can interact with after launch. The absence of this attribute on the app start span indicates a background app start where no UI was rendered.", type=AttributeType.STRING, keys=("app.vitals.start.screen",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="MainActivity", changelog=[ - ChangelogEntry(version="0.7.0", prs=[353], description="Added app.vitals.start.screen attribute"), + ChangelogEntry( + version="0.7.0", + prs=[353], + description="Added app.vitals.start.screen attribute", + ), ], ), "app.vitals.start.type": AttributeMetadata( brief="The type of app start, for example `cold` or `warm`", type=AttributeType.STRING, - keys=("app.vitals.start.type", "app_start_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.start.type", + "app_start_type", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="cold", aliases=["app_start_type"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.start.type attribute"), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Added app.vitals.start.type attribute", + ), ], ), "app.vitals.start.warm.value": AttributeMetadata( brief="The duration of a warm app start in milliseconds", type=AttributeType.DOUBLE, - keys=("app.vitals.start.warm.value", "app_start_warm",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.start.warm.value", + "app_start_warm", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, aliases=["app_start_warm"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.start.warm.value attribute"), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Added app.vitals.start.warm.value attribute", + ), ], ), "app.vitals.ttfd.value": AttributeMetadata( brief="The duration of time to full display in milliseconds", type=AttributeType.DOUBLE, - keys=("app.vitals.ttfd.value", "time_to_full_display",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.ttfd.value", + "time_to_full_display", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, aliases=["time_to_full_display"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.ttfd.value attribute"), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Added app.vitals.ttfd.value attribute", + ), ], ), "app.vitals.ttid.value": AttributeMetadata( brief="The duration of time to initial display in milliseconds", type=AttributeType.DOUBLE, - keys=("app.vitals.ttid.value", "time_to_initial_display",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.ttid.value", + "time_to_initial_display", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, aliases=["time_to_initial_display"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[313], description="Added app.vitals.ttid.value attribute"), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Added app.vitals.ttid.value attribute", + ), ], ), "app_start_cold": AttributeMetadata( brief="The duration of a cold app start in milliseconds", type=AttributeType.DOUBLE, - keys=("app.vitals.start.cold.value", "app_start_cold",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.start.cold.value", + "app_start_cold", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.vitals.start.cold.value"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[323], description="Added and deprecated in favor of app.vitals.start.cold.value"), + ChangelogEntry( + version="0.5.0", + prs=[323], + description="Added and deprecated in favor of app.vitals.start.cold.value", + ), ], ), "app_start_type": AttributeMetadata( brief="Mobile app start variant. Either cold or warm.", type=AttributeType.STRING, - keys=("app.vitals.start.type", "app_start_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.start.type", + "app_start_type", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="cold", deprecation=DeprecationInfo( replacement="app.vitals.start.type", reason="Replaced by app.vitals.start.type to align with the app.vitals.* namespace for mobile performance attributes", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.vitals.start.type"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[313], description="Deprecated in favor of app.vitals.start.type"), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Deprecated in favor of app.vitals.start.type", + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -12665,663 +13647,798 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "app_start_warm": AttributeMetadata( brief="The duration of a warm app start in milliseconds", type=AttributeType.DOUBLE, - keys=("app.vitals.start.warm.value", "app_start_warm",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.start.warm.value", + "app_start_warm", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.vitals.start.warm.value"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[323], description="Added and deprecated in favor of app.vitals.start.warm.value"), + ChangelogEntry( + version="0.5.0", + prs=[323], + description="Added and deprecated in favor of app.vitals.start.warm.value", + ), ], ), "art.gc.blocking_count": AttributeMetadata( brief="Total number of blocking (stop-the-world) garbage collections performed by the Android Runtime", type=AttributeType.INTEGER, keys=("art.gc.blocking_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, changelog=[ - ChangelogEntry(version="0.11.0", prs=[382], description="Added art.gc.blocking_count attribute"), + ChangelogEntry( + version="0.11.0", + prs=[382], + description="Added art.gc.blocking_count attribute", + ), ], ), "art.gc.blocking_time": AttributeMetadata( brief="Total time spent in blocking (stop-the-world) garbage collections by the Android Runtime, in milliseconds", type=AttributeType.DOUBLE, keys=("art.gc.blocking_time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=11.873, changelog=[ - ChangelogEntry(version="0.11.0", prs=[382], description="Added art.gc.blocking_time attribute"), + ChangelogEntry( + version="0.11.0", + prs=[382], + description="Added art.gc.blocking_time attribute", + ), ], ), "art.gc.pre_oome_count": AttributeMetadata( brief="Total number of garbage collections triggered as a last resort before an OutOfMemoryError by the Android Runtime", type=AttributeType.INTEGER, keys=("art.gc.pre_oome_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0, changelog=[ - ChangelogEntry(version="0.11.0", prs=[382], description="Added art.gc.pre_oome_count attribute"), + ChangelogEntry( + version="0.11.0", + prs=[382], + description="Added art.gc.pre_oome_count attribute", + ), ], ), "art.gc.total_count": AttributeMetadata( brief="Total number of garbage collections performed by the Android Runtime", type=AttributeType.INTEGER, keys=("art.gc.total_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, changelog=[ - ChangelogEntry(version="0.11.0", prs=[382], description="Added art.gc.total_count attribute"), + ChangelogEntry( + version="0.11.0", + prs=[382], + description="Added art.gc.total_count attribute", + ), ], ), "art.gc.total_time": AttributeMetadata( brief="Total time spent in garbage collection by the Android Runtime, in milliseconds", type=AttributeType.DOUBLE, keys=("art.gc.total_time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=11.807, changelog=[ - ChangelogEntry(version="0.11.0", prs=[382], description="Added art.gc.total_time attribute"), + ChangelogEntry( + version="0.11.0", + prs=[382], + description="Added art.gc.total_time attribute", + ), ], ), "art.gc.waiting_time": AttributeMetadata( brief="Total time threads spent waiting for garbage collection to complete in the Android Runtime, in milliseconds", type=AttributeType.DOUBLE, keys=("art.gc.waiting_time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=8.054, changelog=[ - ChangelogEntry(version="0.11.0", prs=[382], description="Added art.gc.waiting_time attribute"), + ChangelogEntry( + version="0.11.0", + prs=[382], + description="Added art.gc.waiting_time attribute", + ), ], ), "art.memory.free": AttributeMetadata( brief="Free memory available to the process as reported by the Android Runtime, in bytes", type=AttributeType.INTEGER, keys=("art.memory.free",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=3181568, changelog=[ - ChangelogEntry(version="0.11.0", prs=[382], description="Added art.memory.free attribute"), + ChangelogEntry( + version="0.11.0", + prs=[382], + description="Added art.memory.free attribute", + ), ], ), "art.memory.free_until_gc": AttributeMetadata( brief="Free memory available before a garbage collection would be triggered by the Android Runtime, in bytes", type=AttributeType.INTEGER, keys=("art.memory.free_until_gc",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=3181568, changelog=[ - ChangelogEntry(version="0.11.0", prs=[382], description="Added art.memory.free_until_gc attribute"), + ChangelogEntry( + version="0.11.0", + prs=[382], + description="Added art.memory.free_until_gc attribute", + ), ], ), "art.memory.free_until_oome": AttributeMetadata( brief="Free memory available before an OutOfMemoryError would be thrown by the Android Runtime, in bytes", type=AttributeType.INTEGER, keys=("art.memory.free_until_oome",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=196083712, changelog=[ - ChangelogEntry(version="0.11.0", prs=[382], description="Added art.memory.free_until_oome attribute"), + ChangelogEntry( + version="0.11.0", + prs=[382], + description="Added art.memory.free_until_oome attribute", + ), ], ), "art.memory.max": AttributeMetadata( brief="Maximum memory the process is allowed to use as reported by the Android Runtime, in bytes", type=AttributeType.INTEGER, keys=("art.memory.max",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=201326592, changelog=[ - ChangelogEntry(version="0.11.0", prs=[382], description="Added art.memory.max attribute"), + ChangelogEntry( + version="0.11.0", + prs=[382], + description="Added art.memory.max attribute", + ), ], ), "art.memory.total": AttributeMetadata( brief="Total memory currently allocated to the process by the Android Runtime, in bytes", type=AttributeType.INTEGER, keys=("art.memory.total",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=7774208, changelog=[ - ChangelogEntry(version="0.11.0", prs=[382], description="Added art.memory.total attribute"), + ChangelogEntry( + version="0.11.0", + prs=[382], + description="Added art.memory.total attribute", + ), ], ), "aws.cloudwatch.logs.log_group": AttributeMetadata( brief="The name of the CloudWatch Logs log group", type=AttributeType.STRING, keys=("aws.cloudwatch.logs.log_group",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="/aws/lambda/my-function", changelog=[ - ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.cloudwatch.logs.log_group attribute"), + ChangelogEntry( + version="0.7.0", + prs=[369], + description="Added aws.cloudwatch.logs.log_group attribute", + ), ], ), "aws.cloudwatch.logs.log_stream": AttributeMetadata( brief="The name of the CloudWatch Logs log stream", type=AttributeType.STRING, keys=("aws.cloudwatch.logs.log_stream",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="2024/01/01/[$LATEST]abcdef1234567890", changelog=[ - ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.cloudwatch.logs.log_stream attribute"), + ChangelogEntry( + version="0.7.0", + prs=[369], + description="Added aws.cloudwatch.logs.log_stream attribute", + ), ], ), "aws.cloudwatch.logs.url": AttributeMetadata( brief="The URL to the CloudWatch Logs log group", type=AttributeType.STRING, keys=("aws.cloudwatch.logs.url",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logsV2:log-groups/log-group/my-log-group", changelog=[ - ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.cloudwatch.logs.url attribute"), + ChangelogEntry( + version="0.7.0", + prs=[369], + description="Added aws.cloudwatch.logs.url attribute", + ), ], ), "aws.dynamodb.attribute_definitions": AttributeMetadata( brief="The JSON-serialized value of each item in the `AttributeDefinitions` request field.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.attribute_definitions",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example=["{ \"AttributeName\": \"string\", \"AttributeType\": \"string\" }"], + example=['{ "AttributeName": "string", "AttributeType": "string" }'], changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.attribute_definitions attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.attribute_definitions attribute", + ), ], ), "aws.dynamodb.attributes_to_get": AttributeMetadata( brief="The value of the `AttributesToGet` request parameter.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.attributes_to_get",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=["lives", "id"], examples=[["lives", "id"]], changelog=[ - ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.dynamodb.attributes_to_get attribute"), + ChangelogEntry( + version="0.27.0", + prs=[672], + description="Added aws.dynamodb.attributes_to_get attribute", + ), ], ), "aws.dynamodb.consistent_read": AttributeMetadata( brief="The value of the `ConsistentRead` request parameter.", type=AttributeType.BOOLEAN, keys=("aws.dynamodb.consistent_read",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.consistent_read attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.consistent_read attribute", + ), ], ), "aws.dynamodb.consumed_capacity": AttributeMetadata( brief="The JSON-serialized value of each item in the `ConsumedCapacity` response field.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.consumed_capacity",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=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 }"], + 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=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.consumed_capacity attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.consumed_capacity attribute", + ), ], ), "aws.dynamodb.count": AttributeMetadata( brief="The value of the `Count` response parameter.", type=AttributeType.INTEGER, keys=("aws.dynamodb.count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.count attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.count attribute", + ), ], ), "aws.dynamodb.exclusive_start_table": AttributeMetadata( brief="The value of the `ExclusiveStartTableName` request parameter.", type=AttributeType.STRING, keys=("aws.dynamodb.exclusive_start_table",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="Users", changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.exclusive_start_table attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.exclusive_start_table attribute", + ), ], ), "aws.dynamodb.global_secondary_index_updates": AttributeMetadata( brief="The JSON-serialized value of each item in the `GlobalSecondaryIndexUpdates` request field.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.global_secondary_index_updates",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example=["{ \"Create\": { \"IndexName\": \"string\", \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }"], + example=[ + '{ "Create": { "IndexName": "string", "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" }, "ProvisionedThroughput": { "ReadCapacityUnits": number, "WriteCapacityUnits": number } }' + ], changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.global_secondary_index_updates attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.global_secondary_index_updates attribute", + ), ], ), "aws.dynamodb.global_secondary_indexes": AttributeMetadata( brief="The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.global_secondary_indexes",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example=["{ \"IndexName\": \"string\", \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }"], + example=[ + '{ "IndexName": "string", "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" }, "ProvisionedThroughput": { "ReadCapacityUnits": number, "WriteCapacityUnits": number } }' + ], changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.global_secondary_indexes attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.global_secondary_indexes attribute", + ), ], ), "aws.dynamodb.index_name": AttributeMetadata( brief="The value of the `IndexName` request parameter.", type=AttributeType.STRING, keys=("aws.dynamodb.index_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="name_to_group", changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.index_name attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.index_name attribute", + ), ], ), "aws.dynamodb.item_collection_metrics": AttributeMetadata( brief="The JSON-serialized value of the `ItemCollectionMetrics` response field.", type=AttributeType.STRING, keys=("aws.dynamodb.item_collection_metrics",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example="{ \"string\" : [ { \"ItemCollectionKey\": { \"string\" : { \"B\": blob, \"BOOL\": boolean, \"BS\": [ blob ], \"L\": [ \"AttributeValue\" ], \"M\": { \"string\" : \"AttributeValue\" }, \"N\": \"string\", \"NS\": [ \"string\" ], \"NULL\": boolean, \"S\": \"string\", \"SS\": [ \"string\" ] } }, \"SizeEstimateRangeGB\": [ number ] } ] }", + example='{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob, "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" : "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, "S": "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } ] }', changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.item_collection_metrics attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.item_collection_metrics attribute", + ), ], ), "aws.dynamodb.limit": AttributeMetadata( brief="The value of the `Limit` request parameter.", type=AttributeType.INTEGER, keys=("aws.dynamodb.limit",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.limit attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.limit attribute", + ), ], ), "aws.dynamodb.local_secondary_indexes": AttributeMetadata( brief="The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.local_secondary_indexes",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example=["{ \"IndexArn\": \"string\", \"IndexName\": \"string\", \"IndexSizeBytes\": number, \"ItemCount\": number, \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" } }"], + example=[ + '{ "IndexArn": "string", "IndexName": "string", "IndexSizeBytes": number, "ItemCount": number, "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" } }' + ], changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.local_secondary_indexes attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.local_secondary_indexes attribute", + ), ], ), "aws.dynamodb.projection": AttributeMetadata( brief="The value of the `ProjectionExpression` request parameter.", type=AttributeType.STRING, keys=("aws.dynamodb.projection",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="Title, Price, Color", changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.projection attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.projection attribute", + ), ], ), "aws.dynamodb.provisioned_read_capacity": AttributeMetadata( brief="The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter.", type=AttributeType.DOUBLE, keys=("aws.dynamodb.provisioned_read_capacity",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=1, changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.provisioned_read_capacity attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.provisioned_read_capacity attribute", + ), ], ), "aws.dynamodb.provisioned_write_capacity": AttributeMetadata( brief="The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter.", type=AttributeType.DOUBLE, keys=("aws.dynamodb.provisioned_write_capacity",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=2, changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.provisioned_write_capacity attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.provisioned_write_capacity attribute", + ), ], ), "aws.dynamodb.scan_forward": AttributeMetadata( brief="The value of the `ScanIndexForward` request parameter.", type=AttributeType.BOOLEAN, keys=("aws.dynamodb.scan_forward",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.scan_forward attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.scan_forward attribute", + ), ], ), "aws.dynamodb.scanned_count": AttributeMetadata( brief="The value of the `ScannedCount` response parameter.", type=AttributeType.INTEGER, keys=("aws.dynamodb.scanned_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=50, changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.scanned_count attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.scanned_count attribute", + ), ], ), "aws.dynamodb.segment": AttributeMetadata( brief="The value of the `Segment` request parameter.", type=AttributeType.INTEGER, keys=("aws.dynamodb.segment",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.segment attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.segment attribute", + ), ], ), "aws.dynamodb.select": AttributeMetadata( brief="The value of the `Select` request parameter.", type=AttributeType.STRING, keys=("aws.dynamodb.select",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="ALL_ATTRIBUTES", changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.select attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.select attribute", + ), ], ), "aws.dynamodb.table_count": AttributeMetadata( brief="The number of items in the `TableNames` response parameter.", type=AttributeType.INTEGER, keys=("aws.dynamodb.table_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=20, changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.table_count attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.table_count attribute", + ), ], ), "aws.dynamodb.table_names": AttributeMetadata( brief="The keys in the `RequestItems` object field.", type=AttributeType.STRING_ARRAY, keys=("aws.dynamodb.table_names",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=["Users", "Cats"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.table_names attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.table_names attribute", + ), ], ), "aws.dynamodb.total_segments": AttributeMetadata( brief="The value of the `TotalSegments` request parameter.", type=AttributeType.INTEGER, keys=("aws.dynamodb.total_segments",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=100, changelog=[ - ChangelogEntry(version="0.16.0", prs=[479], description="Added aws.dynamodb.total_segments attribute"), + ChangelogEntry( + version="0.16.0", + prs=[479], + description="Added aws.dynamodb.total_segments attribute", + ), ], ), "aws.extended_request_id": AttributeMetadata( brief="The AWS extended request ID as returned in the response headers.", type=AttributeType.STRING, - keys=("aws.extended_request_id", "aws.request.extended_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "aws.extended_request_id", + "aws.request.extended_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="wzHcyEWfmOGDIE5QOhTAqFDoDWP3y8IUvpNINCwL9N4TEHbUw0/gZJ+VZTmCNCWR7fezEN3eCiQ=", aliases=["aws.request.extended_id"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.extended_request_id attribute"), + ChangelogEntry( + version="0.16.0", + prs=[480], + description="Added aws.extended_request_id attribute", + ), ], ), "aws.kinesis.stream.name": AttributeMetadata( brief="The name of the AWS Kinesis stream the request refers to.", type=AttributeType.STRING, - keys=("aws.kinesis.stream_name", "aws.kinesis.stream.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "aws.kinesis.stream_name", + "aws.kinesis.stream.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="some-stream-name", deprecation=DeprecationInfo( replacement="aws.kinesis.stream_name", reason="This attribute is being deprecated in favor of aws.kinesis.stream_name, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["aws.kinesis.stream_name"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.kinesis.stream.name attribute, deprecated in favor of aws.kinesis.stream_name"), + ChangelogEntry( + version="0.16.0", + prs=[480], + description="Added aws.kinesis.stream.name attribute, deprecated in favor of aws.kinesis.stream_name", + ), ], ), "aws.kinesis.stream_name": AttributeMetadata( brief="The name of the AWS Kinesis stream the request refers to.", type=AttributeType.STRING, - keys=("aws.kinesis.stream_name", "aws.kinesis.stream.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "aws.kinesis.stream_name", + "aws.kinesis.stream.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="some-stream-name", aliases=["aws.kinesis.stream.name"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.kinesis.stream_name attribute"), + ChangelogEntry( + version="0.16.0", + prs=[480], + description="Added aws.kinesis.stream_name attribute", + ), ], ), "aws.lambda.aws_request_id": AttributeMetadata( brief="The AWS request ID as received by the Lambda function runtime", type=AttributeType.STRING, - keys=("faas.invocation_id", "aws.lambda.aws_request_id", "faas.execution",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "faas.invocation_id", + "aws.lambda.aws_request_id", + "faas.execution", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="8476a536-e9f4-11e8-9739-2dfe598c3fcd", deprecation=DeprecationInfo( replacement="faas.invocation_id", reason="This attribute is being deprecated in favor of faas.invocation_id", - status=DeprecationStatus.BACKFILL - ), - aliases=["faas.invocation_id","faas.execution"], - changelog=[ - ChangelogEntry(version="0.16.0", prs=[473], description="Added faas.execution as an alias"), - ChangelogEntry(version="0.11.1", prs=[414, 424], description="Deprecated aws.lambda.aws_request_id in favor of faas.invocation_id"), - ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.lambda.aws_request_id attribute"), + status=DeprecationStatus.BACKFILL, + ), + aliases=["faas.invocation_id", "faas.execution"], + changelog=[ + ChangelogEntry( + version="0.16.0", + prs=[473], + description="Added faas.execution as an alias", + ), + ChangelogEntry( + version="0.11.1", + prs=[414, 424], + description="Deprecated aws.lambda.aws_request_id in favor of faas.invocation_id", + ), + ChangelogEntry( + version="0.7.0", + prs=[369], + description="Added aws.lambda.aws_request_id attribute", + ), ], ), "aws.lambda.execution_duration_in_millis": AttributeMetadata( brief="The execution duration of the Lambda function invocation in milliseconds", type=AttributeType.DOUBLE, keys=("aws.lambda.execution_duration_in_millis",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, changelog=[ - ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.lambda.execution_duration_in_millis attribute"), + ChangelogEntry( + version="0.7.0", + prs=[369], + description="Added aws.lambda.execution_duration_in_millis attribute", + ), ], ), "aws.lambda.function_name": AttributeMetadata( brief="The name of the Lambda function", type=AttributeType.STRING, - keys=("faas.name", "aws.lambda.function_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "faas.name", + "aws.lambda.function_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="my-function", deprecation=DeprecationInfo( replacement="faas.name", reason="Use the OTel-aligned faas.name attribute instead", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["faas.name"], changelog=[ - ChangelogEntry(version="0.11.1", prs=[414], description="Deprecated aws.lambda.function_name in favor of faas.name"), - ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.lambda.function_name attribute"), + ChangelogEntry( + version="0.11.1", + prs=[414], + description="Deprecated aws.lambda.function_name in favor of faas.name", + ), + ChangelogEntry( + version="0.7.0", + prs=[369], + description="Added aws.lambda.function_name attribute", + ), ], ), "aws.lambda.function_version": AttributeMetadata( brief="The version of the Lambda function", type=AttributeType.STRING, - keys=("faas.version", "aws.lambda.function_version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "faas.version", + "aws.lambda.function_version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="$LATEST", deprecation=DeprecationInfo( replacement="faas.version", reason="Use the OTel-aligned faas.version attribute instead", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["faas.version"], changelog=[ - ChangelogEntry(version="0.11.1", prs=[414, 424], description="Deprecated aws.lambda.function_version in favor of faas.version"), - ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.lambda.function_version attribute"), + ChangelogEntry( + version="0.11.1", + prs=[414, 424], + description="Deprecated aws.lambda.function_version in favor of faas.version", + ), + ChangelogEntry( + version="0.7.0", + prs=[369], + description="Added aws.lambda.function_version attribute", + ), ], ), "aws.lambda.invoked_arn": AttributeMetadata( brief="The full ARN of the Lambda function that was invoked", type=AttributeType.STRING, - keys=("aws.lambda.invoked_arn", "aws.lambda.invoked_function_arn",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "aws.lambda.invoked_arn", + "aws.lambda.invoked_function_arn", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="arn:aws:lambda:us-east-1:123456789012:function:my-function", @@ -13333,45 +14450,54 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "aws.lambda.invoked_function_arn": AttributeMetadata( brief="The full ARN of the Lambda function that was invoked", type=AttributeType.STRING, - keys=("aws.lambda.invoked_arn", "aws.lambda.invoked_function_arn",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "aws.lambda.invoked_arn", + "aws.lambda.invoked_function_arn", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="arn:aws:lambda:us-east-1:123456789012:function:my-function", deprecation=DeprecationInfo( replacement="aws.lambda.invoked_arn", reason="This attribute is being deprecated in favor of aws.lambda.invoked_arn", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["aws.lambda.invoked_arn"], changelog=[ - ChangelogEntry(version="0.11.1", prs=[414], description="Deprecated aws.lambda.invoked_function_arn in favor of aws.lambda.invoked_arn"), - ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.lambda.invoked_function_arn attribute"), + ChangelogEntry( + version="0.11.1", + prs=[414], + description="Deprecated aws.lambda.invoked_function_arn in favor of aws.lambda.invoked_arn", + ), + ChangelogEntry( + version="0.7.0", + prs=[369], + description="Added aws.lambda.invoked_function_arn attribute", + ), ], ), "aws.lambda.remaining_time_in_millis": AttributeMetadata( brief="The remaining time in milliseconds before the Lambda function times out", type=AttributeType.DOUBLE, keys=("aws.lambda.remaining_time_in_millis",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=5000, changelog=[ - ChangelogEntry(version="0.7.0", prs=[369], description="Added aws.lambda.remaining_time_in_millis attribute"), + ChangelogEntry( + version="0.7.0", + prs=[369], + description="Added aws.lambda.remaining_time_in_millis attribute", + ), ], ), "aws.log.group.names": AttributeMetadata( brief="The name(s) of the AWS log group(s) an application is writing to.", type=AttributeType.STRING_ARRAY, keys=("aws.log.group.names",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=["/aws/lambda/my-function", "opentelemetry-service"], @@ -13383,9 +14509,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name(s) of the AWS log stream(s) an application is writing to.", type=AttributeType.STRING_ARRAY, keys=("aws.log.stream.names",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=["logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"], @@ -13396,10 +14520,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "aws.operation_name": AttributeMetadata( brief="The name of the API operation invoked on an AWS service.", type=AttributeType.STRING, - keys=("rpc.method", "aws.operation_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "rpc.method", + "aws.operation_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="PutObject", @@ -13407,294 +14532,354 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="rpc.method", reason="This attribute is being deprecated in favor of rpc.method, which is the framework-agnostic replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["rpc.method"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[536], description="Added aws.operation_name attribute"), + ChangelogEntry( + version="0.19.0", + prs=[536], + description="Added aws.operation_name attribute", + ), ], ), "aws.request.extended_id": AttributeMetadata( brief="The AWS extended request ID as returned in the response headers.", type=AttributeType.STRING, - keys=("aws.extended_request_id", "aws.request.extended_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "aws.extended_request_id", + "aws.request.extended_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="wzHcyEWfmOGDIE5QOhTAqFDoDWP3y8IUvpNINCwL9N4TEHbUw0/gZJ+VZTmCNCWR7fezEN3eCiQ=", deprecation=DeprecationInfo( replacement="aws.extended_request_id", reason="This attribute is being deprecated in favor of aws.extended_request_id, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["aws.extended_request_id"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.request.extended_id attribute, deprecated in favor of aws.extended_request_id"), + ChangelogEntry( + version="0.16.0", + prs=[480], + description="Added aws.request.extended_id attribute, deprecated in favor of aws.extended_request_id", + ), ], ), "aws.request.id": AttributeMetadata( brief="The AWS request ID as returned in the response headers.", type=AttributeType.STRING, - keys=("aws.request_id", "aws.request.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "aws.request_id", + "aws.request.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="79b9da39-b7ae-508a-a6bc-864b2829c622", deprecation=DeprecationInfo( replacement="aws.request_id", reason="This attribute is being deprecated in favor of aws.request_id, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["aws.request_id"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.request.id attribute, deprecated in favor of aws.request_id"), + ChangelogEntry( + version="0.16.0", + prs=[480], + description="Added aws.request.id attribute, deprecated in favor of aws.request_id", + ), ], ), "aws.request.url": AttributeMetadata( brief="The URL of the AWS API request.", type=AttributeType.STRING, - keys=("url.full", "aws.request.url", "http.url", "messaging.url", "url",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "url.full", + "aws.request.url", + "http.url", + "messaging.url", + "url", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://sqs.us-east-1.amazonaws.com/123456789/my-queue", deprecation=DeprecationInfo( replacement="url.full", reason="This attribute is being deprecated in favor of url.full, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["url.full","http.url","url","messaging.url"], + aliases=["url.full", "http.url", "url", "messaging.url"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.url as an alias"), - ChangelogEntry(version="0.19.0", prs=[488], description="Added aws.request.url attribute, deprecated in favor of url.full"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.url as an alias", + ), + ChangelogEntry( + version="0.19.0", + prs=[488], + description="Added aws.request.url attribute, deprecated in favor of url.full", + ), ], ), "aws.request_id": AttributeMetadata( brief="The AWS request ID as returned in the response headers.", type=AttributeType.STRING, - keys=("aws.request_id", "aws.request.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "aws.request_id", + "aws.request.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="79b9da39-b7ae-508a-a6bc-864b2829c622", aliases=["aws.request.id"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.request_id attribute"), + ChangelogEntry( + version="0.16.0", + prs=[480], + description="Added aws.request_id attribute", + ), ], ), "aws.s3.bucket": AttributeMetadata( brief="The S3 bucket name the request refers to.", type=AttributeType.STRING, keys=("aws.s3.bucket",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="ot-demo-test", changelog=[ - ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.s3.bucket attribute"), + ChangelogEntry( + version="0.16.0", prs=[480], description="Added aws.s3.bucket attribute" + ), ], ), "aws.s3.copy_source": AttributeMetadata( brief="The source object (in the form bucket/key) for the copy operation.", type=AttributeType.STRING, keys=("aws.s3.copy_source",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="someFile.yml", examples=["someFile.yml"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.s3.copy_source attribute"), + ChangelogEntry( + version="0.27.0", + prs=[672], + description="Added aws.s3.copy_source attribute", + ), + ], + additional_context=[ + "Applicable to the copy-object and upload-part-copy operations, corresponding to the CopySource parameter." ], - additional_context=["Applicable to the copy-object and upload-part-copy operations, corresponding to the CopySource parameter."], ), "aws.s3.delete": AttributeMetadata( brief="The delete request container that specifies the objects to be deleted.", type=AttributeType.STRING, keys=("aws.s3.delete",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean", - examples=["Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean"], + examples=[ + "Objects=[{Key=string,VersionId=string},{Key=string,VersionId=string}],Quiet=boolean" + ], changelog=[ - ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.s3.delete attribute"), + ChangelogEntry( + version="0.27.0", prs=[672], description="Added aws.s3.delete attribute" + ), + ], + additional_context=[ + "Applicable only to the delete-objects operation, corresponding to its Delete parameter." ], - additional_context=["Applicable only to the delete-objects operation, corresponding to its Delete parameter."], ), "aws.s3.key": AttributeMetadata( brief="The S3 object key the request refers to. Corresponds to the --key parameter of the S3 API operations.", type=AttributeType.STRING, keys=("aws.s3.key",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="someFile.yml", examples=["someFile.yml"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.s3.key attribute"), + ChangelogEntry( + version="0.27.0", prs=[672], description="Added aws.s3.key attribute" + ), ], ), "aws.s3.part_number": AttributeMetadata( brief="The part number of the part being uploaded in a multipart-upload operation. This is a positive integer between 1 and 10,000.", type=AttributeType.INTEGER, keys=("aws.s3.part_number",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=3456, examples=[3456], changelog=[ - ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.s3.part_number attribute"), + ChangelogEntry( + version="0.27.0", + prs=[672], + description="Added aws.s3.part_number attribute", + ), + ], + additional_context=[ + "Applicable only to the upload-part and upload-part-copy operations." ], - additional_context=["Applicable only to the upload-part and upload-part-copy operations."], ), "aws.s3.upload_id": AttributeMetadata( brief="Upload ID that identifies the multipart upload.", type=AttributeType.STRING, keys=("aws.s3.upload_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJ", examples=["dfRtDYWFbkRONycy.Yxwh66Yjlx.cph0gtNBtJ"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.s3.upload_id attribute"), + ChangelogEntry( + version="0.27.0", + prs=[672], + description="Added aws.s3.upload_id attribute", + ), ], ), "aws.secretsmanager.secret.arn": AttributeMetadata( brief="The ARN of the Secret stored in Secrets Manager.", type=AttributeType.STRING, keys=("aws.secretsmanager.secret.arn",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretName-6RandomCharacters", changelog=[ - ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.secretsmanager.secret.arn attribute"), + ChangelogEntry( + version="0.16.0", + prs=[480], + description="Added aws.secretsmanager.secret.arn attribute", + ), ], ), "aws.sns.topic.arn": AttributeMetadata( brief="The ARN of the AWS SNS Topic. An Amazon SNS topic is a logical access point that acts as a communication channel.", type=AttributeType.STRING, keys=("aws.sns.topic.arn",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="arn:aws:sns:us-east-1:123456789012:mystack-mytopic-NZJ5JSMVGFIE", changelog=[ - ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.sns.topic.arn attribute"), + ChangelogEntry( + version="0.16.0", + prs=[480], + description="Added aws.sns.topic.arn attribute", + ), ], ), "aws.sqs.queue.url": AttributeMetadata( brief="The URL of the AWS SQS Queue. It’s a unique identifier for a queue in Amazon Simple Queue Service (SQS) and is used to access the queue and perform actions on it.", type=AttributeType.STRING, keys=("aws.sqs.queue.url",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue", examples=["https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.sqs.queue.url attribute"), + ChangelogEntry( + version="0.27.0", + prs=[672], + description="Added aws.sqs.queue.url attribute", + ), ], ), "aws.step_functions.activity.arn": AttributeMetadata( brief="The ARN of the AWS Step Functions Activity.", type=AttributeType.STRING, keys=("aws.step_functions.activity.arn",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="arn:aws:states:us-east-1:123456789012:activity:get-greeting", changelog=[ - ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.step_functions.activity.arn attribute"), + ChangelogEntry( + version="0.16.0", + prs=[480], + description="Added aws.step_functions.activity.arn attribute", + ), ], ), "aws.step_functions.execution.arn": AttributeMetadata( brief="The ARN of the AWS Step Functions Execution.", type=AttributeType.STRING, keys=("aws.step_functions.execution.arn",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="arn:aws:states:us-east-1:123456789012:execution:myStateMachine:myExecution", - examples=["arn:aws:states:us-east-1:123456789012:execution:myStateMachine:myExecution"], + examples=[ + "arn:aws:states:us-east-1:123456789012:execution:myStateMachine:myExecution" + ], changelog=[ - ChangelogEntry(version="0.27.0", prs=[672], description="Added aws.step_functions.execution.arn attribute"), + ChangelogEntry( + version="0.27.0", + prs=[672], + description="Added aws.step_functions.execution.arn attribute", + ), ], ), "aws.step_functions.state_machine.arn": AttributeMetadata( brief="The ARN of the AWS Step Functions State Machine.", type=AttributeType.STRING, keys=("aws.step_functions.state_machine.arn",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1", changelog=[ - ChangelogEntry(version="0.16.0", prs=[480], description="Added aws.step_functions.state_machine.arn attribute"), + ChangelogEntry( + version="0.16.0", + prs=[480], + description="Added aws.step_functions.state_machine.arn attribute", + ), ], ), "aws_region": AttributeMetadata( brief="The geographical region the AWS resource is running", type=AttributeType.STRING, - keys=("cloud.region", "aws_region", "gcp_region",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "cloud.region", + "aws_region", + "gcp_region", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="us-east-1", examples=["us-east-1"], deprecation=DeprecationInfo( - replacement="cloud.region", - status=DeprecationStatus.BACKFILL + replacement="cloud.region", status=DeprecationStatus.BACKFILL ), - aliases=["cloud.region","gcp_region"], + aliases=["cloud.region", "gcp_region"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[537], description="Added aws_region attribute"), + ChangelogEntry( + version="0.19.0", prs=[537], description="Added aws_region attribute" + ), ], ), "blocked_main_thread": AttributeMetadata( brief="Whether the main thread was blocked by the span.", type=AttributeType.BOOLEAN, keys=("blocked_main_thread",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -13706,69 +14891,83 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Which frame in the page's frame tree a back/forward cache not-restored reason originated from: the top document or a child frame.", type=AttributeType.STRING, keys=("browser.bfcache.frame",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="top", examples=["top", "child"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[513], description="Added browser.bfcache.frame attribute"), + ChangelogEntry( + version="0.19.0", + prs=[513], + description="Added browser.bfcache.frame attribute", + ), ], ), "browser.bfcache.not_restored_reason_count": AttributeMetadata( brief="The number of reported reasons a page was not restored from the back/forward cache on a back/forward navigation. 0 when the browser reported no reasons (e.g. non-Chromium browsers).", type=AttributeType.INTEGER, keys=("browser.bfcache.not_restored_reason_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, examples=[2], changelog=[ - ChangelogEntry(version="0.19.0", prs=[513], description="Added browser.bfcache.not_restored_reason_count attribute"), + ChangelogEntry( + version="0.19.0", + prs=[513], + description="Added browser.bfcache.not_restored_reason_count attribute", + ), ], ), "browser.bfcache.outcome": AttributeMetadata( brief="Whether a back/forward navigation was restored from the browser's back/forward cache (bfcache). 'hit' means the page was restored; 'miss' means it was reloaded.", type=AttributeType.STRING, keys=("browser.bfcache.outcome",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="hit", examples=["hit", "miss"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[513], description="Added browser.bfcache.outcome attribute"), + ChangelogEntry( + version="0.19.0", + prs=[513], + description="Added browser.bfcache.outcome attribute", + ), ], ), "browser.bfcache.reason": AttributeMetadata( brief="A browser-reported reason a page was not restored from the back/forward cache on a back/forward navigation, taken from the notRestoredReasons API. Reported per reason (a single miss can have several). Currently Chromium-only.", type=AttributeType.STRING, keys=("browser.bfcache.reason",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="unload-listener", - examples=["unload-listener", "websocket", "idbversionchangeevent", "response-cache-control-no-store"], + examples=[ + "unload-listener", + "websocket", + "idbversionchangeevent", + "response-cache-control-no-store", + ], changelog=[ - ChangelogEntry(version="0.19.0", prs=[513], description="Added browser.bfcache.reason attribute"), + ChangelogEntry( + version="0.19.0", + prs=[513], + description="Added browser.bfcache.reason attribute", + ), ], ), "browser.name": AttributeMetadata( brief="The name of the browser.", type=AttributeType.STRING, - keys=("browser.name", "sentry.browser.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.name", + "sentry.browser.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Chrome", @@ -13782,88 +14981,130 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The identifier of the navigation the measurement belongs to, incremented by the browser for each navigation within a page's lifetime.", type=AttributeType.INTEGER, keys=("browser.navigation.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, examples=[1, 3, 0], changelog=[ - ChangelogEntry(version="0.24.0", prs=[640], description="Document 0 as the fallback value when the browser does not support `navigationId`"), - ChangelogEntry(version="0.22.0", prs=[634], description="Added browser.navigation.id attribute"), + ChangelogEntry( + version="0.24.0", + prs=[640], + description="Document 0 as the fallback value when the browser does not support `navigationId`", + ), + ChangelogEntry( + version="0.22.0", + prs=[634], + description="Added browser.navigation.id attribute", + ), + ], + additional_context=[ + "Sourced from `PerformanceEntry.navigationId`, defined by the Soft Navigations spec. Despite its origin it is not soft-navigation specific: the field is set on the `PerformanceNavigationTiming` entry of a hard navigation too.", + "The value starts at 1 for the initial page load and increments for each subsequent navigation. It is only unique within a single page lifetime, not globally.", + "A value of 0 is a fallback rather than a real navigation id: web-vitals reports 0 when the browser does not expose `PerformanceEntry.navigationId`, so 0 means the id is unknown.", + "Pairs with `browser.navigation.type`: the type says how the browser arrived at the page, the id says which navigation of that page a measurement belongs to.", + "Not to be confused with the Navigation API's `NavigationHistoryEntry.id`, which is an opaque string identifying a history entry rather than a counter, and is not interchangeable with this value.", + "Also distinct from the `router.navigation.*` attributes, which describe the client-side router's own view of a navigation. Those come from the framework, this one comes from the browser, and both can be set on the same span.", ], - additional_context=["Sourced from `PerformanceEntry.navigationId`, defined by the Soft Navigations spec. Despite its origin it is not soft-navigation specific: the field is set on the `PerformanceNavigationTiming` entry of a hard navigation too.","The value starts at 1 for the initial page load and increments for each subsequent navigation. It is only unique within a single page lifetime, not globally.","A value of 0 is a fallback rather than a real navigation id: web-vitals reports 0 when the browser does not expose `PerformanceEntry.navigationId`, so 0 means the id is unknown.","Pairs with `browser.navigation.type`: the type says how the browser arrived at the page, the id says which navigation of that page a measurement belongs to.","Not to be confused with the Navigation API's `NavigationHistoryEntry.id`, which is an opaque string identifying a history entry rather than a counter, and is not interchangeable with this value.","Also distinct from the `router.navigation.*` attributes, which describe the client-side router's own view of a navigation. Those come from the framework, this one comes from the browser, and both can be set on the same span."], ), "browser.navigation.type": AttributeMetadata( brief="The type of navigation the browser performed to arrive at the page the metrics were measured on.", type=AttributeType.STRING, keys=("browser.navigation.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="navigate", - examples=["navigate", "reload", "back-forward", "back-forward-cache", "prerender", "restore", "soft-navigation"], - changelog=[ - ChangelogEntry(version="0.24.0", prs=[640], description="Use the web-vitals navigation types as-is: `bfcache` is now `back-forward-cache`, and `back-forward` and `restore` are no longer reported as `navigate`"), - ChangelogEntry(version="0.22.0", prs=[600], description="Added browser.navigation.type attribute"), + examples=[ + "navigate", + "reload", + "back-forward", + "back-forward-cache", + "prerender", + "restore", + "soft-navigation", + ], + changelog=[ + ChangelogEntry( + version="0.24.0", + prs=[640], + description="Use the web-vitals navigation types as-is: `bfcache` is now `back-forward-cache`, and `back-forward` and `restore` are no longer reported as `navigate`", + ), + ChangelogEntry( + version="0.22.0", + prs=[600], + description="Added browser.navigation.type attribute", + ), + ], + additional_context=[ + "Carries the `navigationType` value reported by the web-vitals library verbatim. web-vitals hyphenates the Navigation Timing `PerformanceNavigationTiming.type` value (`back_forward` becomes `back-forward`) and adds states that API does not cover: `back-forward-cache` for a restore from the back/forward cache, `prerender`, `restore` for a discarded tab being reloaded, and `soft-navigation`.", + "`back-forward-cache` is only set when the page was actually restored from the back/forward cache. A back/forward navigation that missed the cache is a full document load and reports `back-forward`. Use the `browser.bfcache.*` attributes to diagnose misses.", + "`prerender` pages finish painting before activation, so their paint timings are offset by `browser.performance.navigation.activation_start`. Keep them separate when aggregating web vitals.", + "Not to be confused with `router.navigation.type`, which holds the client-side router's own vocabulary (`link`, `goto`, `router.push`). The two are independent and can both be set on the same span.", ], - additional_context=["Carries the `navigationType` value reported by the web-vitals library verbatim. web-vitals hyphenates the Navigation Timing `PerformanceNavigationTiming.type` value (`back_forward` becomes `back-forward`) and adds states that API does not cover: `back-forward-cache` for a restore from the back/forward cache, `prerender`, `restore` for a discarded tab being reloaded, and `soft-navigation`.","`back-forward-cache` is only set when the page was actually restored from the back/forward cache. A back/forward navigation that missed the cache is a full document load and reports `back-forward`. Use the `browser.bfcache.*` attributes to diagnose misses.","`prerender` pages finish painting before activation, so their paint timings are offset by `browser.performance.navigation.activation_start`. Keep them separate when aggregating web vitals.","Not to be confused with `router.navigation.type`, which holds the client-side router's own vocabulary (`link`, `goto`, `router.push`). The two are independent and can both be set on the same span."], ), "browser.paint.type": AttributeMetadata( brief="The type of paint timing entry reported by the browser.", type=AttributeType.STRING, keys=("browser.paint.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="first-paint", examples=["first-paint", "first-contentful-paint"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[606], description="Added browser.paint.type attribute"), + ChangelogEntry( + version="0.22.0", + prs=[606], + description="Added browser.paint.type attribute", + ), ], ), "browser.performance.navigation.activation_start": AttributeMetadata( brief="The time between initiating a navigation to a page and the browser activating the page", type=AttributeType.DOUBLE, - keys=("browser.performance.navigation.activation_start", "performance.activationStart",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.performance.navigation.activation_start", + "performance.activationStart", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1.983, aliases=["performance.activationStart"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[321], description="Added browser.performance.navigation.activation_start attribute"), + ChangelogEntry( + version="0.5.0", + prs=[321], + description="Added browser.performance.navigation.activation_start attribute", + ), ], ), "browser.performance.time_origin": AttributeMetadata( brief="The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated", type=AttributeType.DOUBLE, - keys=("browser.performance.time_origin", "performance.timeOrigin",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.performance.time_origin", + "performance.timeOrigin", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1776185678.886, aliases=["performance.timeOrigin"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[321], description="Added browser.performance.time_origin attribute attribute"), + ChangelogEntry( + version="0.5.0", + prs=[321], + description="Added browser.performance.time_origin attribute attribute", + ), ], ), "browser.report.type": AttributeMetadata( brief="A browser report sent via reporting API..", type=AttributeType.STRING, keys=("browser.report.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="network-error", @@ -13875,9 +15116,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="How a script was called in the browser.", type=AttributeType.STRING, keys=("browser.script.invoker",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Window.requestAnimationFrame", @@ -13890,9 +15129,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Browser script entry point type.", type=AttributeType.STRING, keys=("browser.script.invoker_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="event-listener", @@ -13905,9 +15142,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A number representing the script character position of the script.", type=AttributeType.INTEGER, keys=("browser.script.source_char_position",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=678, @@ -13919,10 +15154,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.version": AttributeMetadata( brief="The version of the browser.", type=AttributeType.STRING, - keys=("browser.version", "sentry.browser.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.version", + "sentry.browser.version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="120.0.6099.130", @@ -13935,9 +15171,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The event that caused the SDK to report CLS (pagehide or navigation)", type=AttributeType.STRING, keys=("browser.web_vital.cls.report_event",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="navigation", @@ -13945,17 +15179,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="The JavaScript SDK stopped setting this in v11. With per-navigation web vitals, web-vitals decides when the CLS value is final, so there is no report event to record. No replacement." ), changelog=[ - ChangelogEntry(version="0.24.0", prs=[642], description="Deprecated browser.web_vital.cls.report_event, which has no replacement"), - ChangelogEntry(version="0.5.0", prs=[319], description="Added browser.web_vital.cls.report_event attribute"), + ChangelogEntry( + version="0.24.0", + prs=[642], + description="Deprecated browser.web_vital.cls.report_event, which has no replacement", + ), + ChangelogEntry( + version="0.5.0", + prs=[319], + description="Added browser.web_vital.cls.report_event attribute", + ), ], ), "browser.web_vital.cls.source.": AttributeMetadata( brief="The HTML elements or components responsible for the layout shift. is a numeric index from 1 to N", type=AttributeType.STRING, - keys=("browser.web_vital.cls.source.", "cls.source.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.cls.source.", + "cls.source.", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -13968,25 +15211,31 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.cls.value": AttributeMetadata( brief="The value of the recorded Cumulative Layout Shift (CLS) web vital", type=AttributeType.DOUBLE, - keys=("browser.web_vital.cls.value", "cls",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.cls.value", + "cls", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.2361, aliases=["cls"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[229], description="Added browser.web_vital.cls.value attribute"), + ChangelogEntry( + version="0.5.0", + prs=[229], + description="Added browser.web_vital.cls.value attribute", + ), ], ), "browser.web_vital.fcp.value": AttributeMetadata( brief="The time it takes for the browser to render the first piece of meaningful content on the screen", type=AttributeType.DOUBLE, - keys=("browser.web_vital.fcp.value", "fcp",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.fcp.value", + "fcp", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=547.6951, @@ -13998,10 +15247,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.fp.value": AttributeMetadata( brief="The time in milliseconds it takes for the browser to render the first pixel on the screen", type=AttributeType.DOUBLE, - keys=("browser.web_vital.fp.value", "fp",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.fp.value", + "fp", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=477.1926, @@ -14014,56 +15264,73 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The kind of user interaction INP was reported on", type=AttributeType.STRING, keys=("browser.web_vital.inp.interaction_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="click", examples=["click", "hover", "drag", "press"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[641], description="Added browser.web_vital.inp.interaction_type attribute"), + ChangelogEntry( + version="0.24.0", + prs=[641], + description="Added browser.web_vital.inp.interaction_type attribute", + ), + ], + additional_context=[ + "One of `click`, `hover`, `drag` or `press`, derived from the DOM event name of the Event Timing entry: pointer, mouse and touch events map to `click`, `mouseover` and similar to `hover`, drag and drop events to `drag`, and keyboard and `input` events to `press`. The same value forms the suffix of the span's `ui.interaction.*` op.", + "Not to be confused with the `interactionType` of the web-vitals attribution build, which only distinguishes `pointer` and `keyboard`.", + "Omitted when INP is reported without an interaction to attribute it to, see `browser.web_vital.inp.target`. The op of such a span still falls into `ui.interaction.click` so that it stays within the interaction span family, which makes this attribute, not the op, the way to tell a real click from a value with no interaction.", ], - additional_context=["One of `click`, `hover`, `drag` or `press`, derived from the DOM event name of the Event Timing entry: pointer, mouse and touch events map to `click`, `mouseover` and similar to `hover`, drag and drop events to `drag`, and keyboard and `input` events to `press`. The same value forms the suffix of the span's `ui.interaction.*` op.","Not to be confused with the `interactionType` of the web-vitals attribution build, which only distinguishes `pointer` and `keyboard`.","Omitted when INP is reported without an interaction to attribute it to, see `browser.web_vital.inp.target`. The op of such a span still falls into `ui.interaction.click` so that it stays within the interaction span family, which makes this attribute, not the op, the way to tell a real click from a value with no interaction."], ), "browser.web_vital.inp.target": AttributeMetadata( brief="The HTML element selector or component name of the element the user interacted with, for the interaction INP was reported on", type=AttributeType.STRING, keys=("browser.web_vital.inp.target",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="body > div#app > button.submit", examples=["body > div#app > button.submit", "SubmitButton"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[641], description="Added browser.web_vital.inp.target attribute"), + ChangelogEntry( + version="0.24.0", + prs=[641], + description="Added browser.web_vital.inp.target attribute", + ), + ], + additional_context=[ + "Named after `PerformanceEventTiming.target`, the way `browser.web_vital.lcp.element` is named after `LargestContentfulPaint.element`. The value uses the same format as that attribute.", + "Omitted when INP is reported without an interaction to attribute it to. web-vitals reports such a value for a soft navigation whose interactions all stayed below the Event Timing duration threshold, so there is no element to name. The span is still named and still carries `browser.web_vital.inp.value`.", ], - additional_context=["Named after `PerformanceEventTiming.target`, the way `browser.web_vital.lcp.element` is named after `LargestContentfulPaint.element`. The value uses the same format as that attribute.","Omitted when INP is reported without an interaction to attribute it to. web-vitals reports such a value for a soft navigation whose interactions all stayed below the Event Timing duration threshold, so there is no element to name. The span is still named and still carries `browser.web_vital.inp.value`."], ), "browser.web_vital.inp.value": AttributeMetadata( brief="The value of the recorded Interaction to Next Paint (INP) web vital", type=AttributeType.DOUBLE, - keys=("browser.web_vital.inp.value", "inp",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.inp.value", + "inp", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=200, aliases=["inp"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[229], description="Added browser.web_vital.inp.value attribute"), + ChangelogEntry( + version="0.5.0", + prs=[229], + description="Added browser.web_vital.inp.value attribute", + ), ], ), "browser.web_vital.lcp.element": AttributeMetadata( brief="The HTML element selector or component name for which LCP was reported", type=AttributeType.STRING, - keys=("browser.web_vital.lcp.element", "lcp.element",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.lcp.element", + "lcp.element", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="body > div#app > div#container > div", @@ -14075,10 +15342,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.lcp.id": AttributeMetadata( brief="The id of the dom element responsible for the largest contentful paint", type=AttributeType.STRING, - keys=("browser.web_vital.lcp.id", "lcp.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.lcp.id", + "lcp.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="#gero", @@ -14090,10 +15358,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.lcp.load_time": AttributeMetadata( brief="The time it took for the LCP element to be loaded", type=AttributeType.INTEGER, - keys=("browser.web_vital.lcp.load_time", "lcp.loadTime",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.lcp.load_time", + "lcp.loadTime", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1402, @@ -14105,10 +15374,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.lcp.render_time": AttributeMetadata( brief="The time it took for the LCP element to be rendered", type=AttributeType.INTEGER, - keys=("browser.web_vital.lcp.render_time", "lcp.renderTime",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.lcp.render_time", + "lcp.renderTime", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1685, @@ -14121,9 +15391,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The event that caused the SDK to report LCP (pagehide or navigation)", type=AttributeType.STRING, keys=("browser.web_vital.lcp.report_event",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="pagehide", @@ -14131,17 +15399,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="The JavaScript SDK stopped setting this in v11. With per-navigation web vitals, web-vitals decides when the LCP value is final, so there is no report event to record. No replacement." ), changelog=[ - ChangelogEntry(version="0.24.0", prs=[642], description="Deprecated browser.web_vital.lcp.report_event, which has no replacement"), - ChangelogEntry(version="0.5.0", prs=[319], description="Added browser.web_vital.lcp.report_event attribute"), + ChangelogEntry( + version="0.24.0", + prs=[642], + description="Deprecated browser.web_vital.lcp.report_event, which has no replacement", + ), + ChangelogEntry( + version="0.5.0", + prs=[319], + description="Added browser.web_vital.lcp.report_event attribute", + ), ], ), "browser.web_vital.lcp.size": AttributeMetadata( brief="The size of the largest contentful paint element", type=AttributeType.INTEGER, - keys=("browser.web_vital.lcp.size", "lcp.size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.lcp.size", + "lcp.size", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1024, @@ -14153,10 +15430,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.lcp.url": AttributeMetadata( brief="The url of the dom element responsible for the largest contentful paint", type=AttributeType.STRING, - keys=("browser.web_vital.lcp.url", "lcp.url",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "browser.web_vital.lcp.url", + "lcp.url", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://example.com/static/img.png", @@ -14168,25 +15446,31 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.lcp.value": AttributeMetadata( brief="The value of the recorded Largest Contentful Paint (LCP) web vital", type=AttributeType.DOUBLE, - keys=("browser.web_vital.lcp.value", "lcp",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.lcp.value", + "lcp", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2500, aliases=["lcp"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[229], description="Added browser.web_vital.lcp.value attribute"), + ChangelogEntry( + version="0.5.0", + prs=[229], + description="Added browser.web_vital.lcp.value attribute", + ), ], ), "browser.web_vital.ttfb.request_time": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=("browser.web_vital.ttfb.request_time", "ttfb.requestTime",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.ttfb.request_time", + "ttfb.requestTime", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1554.5814, @@ -14198,10 +15482,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "browser.web_vital.ttfb.value": AttributeMetadata( brief="The value of the recorded Time To First Byte (TTFB) web vital in Milliseconds", type=AttributeType.DOUBLE, - keys=("browser.web_vital.ttfb.value", "ttfb",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.ttfb.value", + "ttfb", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=194.3322, @@ -14214,9 +15499,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="If the cache was hit during this span.", type=AttributeType.BOOLEAN, keys=("cache.hit",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -14228,29 +15511,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The age of the cache entry in seconds, measured at read time.", type=AttributeType.INTEGER, keys=("cache.item_age",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=5, examples=[5, 3600], changelog=[ - ChangelogEntry(version="0.23.0", prs=[637], description="Added cache.item_age attribute"), + ChangelogEntry( + version="0.23.0", + prs=[637], + description="Added cache.item_age attribute", + ), ], - additional_context=["Set on reads that return an entry. Absent on a miss, or when the cache does not report a write time.","Clamped to 0. On a shared cache, the writer's clock and the reader's clock can drift far enough to make the age negative.","Can exceed `cache.ttl`. A cache that discards an expired entry on read still reports the age of that entry, with `cache.hit: false`."], - search_alias=SearchAlias( - name="cache.item_age", - type="second" - ), + additional_context=[ + "Set on reads that return an entry. Absent on a miss, or when the cache does not report a write time.", + "Clamped to 0. On a shared cache, the writer's clock and the reader's clock can drift far enough to make the age negative.", + "Can exceed `cache.ttl`. A cache that discards an expired entry on read still reports the age of that entry, with `cache.hit: false`.", + ], + search_alias=SearchAlias(name="cache.item_age", type="second"), ), "cache.item_size": AttributeMetadata( brief="The size of the requested item in the cache. In bytes.", type=AttributeType.INTEGER, keys=("cache.item_size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=58, @@ -14258,18 +15542,13 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="cache.item_size", - type="byte" - ), + search_alias=SearchAlias(name="cache.item_size", type="byte"), ), "cache.key": AttributeMetadata( brief="The key of the cache accessed.", type=AttributeType.STRING_ARRAY, keys=("cache.key",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=["my-cache-key", "my-other-cache-key"], @@ -14281,9 +15560,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The operation being performed on the cache.", type=AttributeType.STRING, keys=("cache.operation",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="get", @@ -14299,24 +15576,29 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("cache.tags",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Applications pick tag values freely and often build them from record identifiers such as a user id." + reason="Applications pick tag values freely and often build them from record identifiers such as a user id.", ), is_in_otel=False, visibility=Visibility.PUBLIC, example=["blog-posts", "post-42"], examples=[["blog-posts", "post-42"], ["products"]], changelog=[ - ChangelogEntry(version="0.23.0", prs=[637], description="Added cache.tags attribute"), + ChangelogEntry( + version="0.23.0", prs=[637], description="Added cache.tags attribute" + ), + ], + additional_context=[ + "Cache library examples that support tags: Next.js `cacheTag()`, Symfony `ItemInterface::tag()`, Laravel `Cache::tags()`.", + "HTTP caches take tags from a response header. Cloudflare reads `Cache-Tag`, Fastly reads `Surrogate-Key`.", + "Record only the tags the application declared. Leave out implicit tags that the framework adds itself, for example one tag per route.", + "The tags describe the entry, not the operation. Take them from the entry the cache returned or stored.", ], - additional_context=["Cache library examples that support tags: Next.js `cacheTag()`, Symfony `ItemInterface::tag()`, Laravel `Cache::tags()`.","HTTP caches take tags from a response header. Cloudflare reads `Cache-Tag`, Fastly reads `Surrogate-Key`.","Record only the tags the application declared. Leave out implicit tags that the framework adds itself, for example one tag per route.","The tags describe the entry, not the operation. Take them from the entry the cache returned or stored."], ), "cache.ttl": AttributeMetadata( brief="The ttl (maximum lifetime) of the cache in seconds", type=AttributeType.INTEGER, keys=("cache.ttl",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=120, @@ -14329,9 +15611,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="If the cache operation resulted in a write to the cache.", type=AttributeType.BOOLEAN, keys=("cache.write",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -14343,9 +15623,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The channel name that is being used.", type=AttributeType.STRING, keys=("channel",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="mail", @@ -14357,10 +15635,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "client.address": AttributeMetadata( brief="Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=("client.address", "http.client_ip",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "client.address", + "http.client_ip", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", @@ -14374,9 +15653,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Client port number.", type=AttributeType.INTEGER, keys=("client.port",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=5432, @@ -14389,98 +15666,113 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The cloud account ID the resource is assigned to", type=AttributeType.STRING, keys=("cloud.account.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="123456789012", changelog=[ - ChangelogEntry(version="0.7.0", prs=[364], description="Added cloud.account.id attribute"), + ChangelogEntry( + version="0.7.0", + prs=[364], + description="Added cloud.account.id attribute", + ), ], ), "cloud.availability_zone": AttributeMetadata( brief="Cloud regions often have multiple, isolated locations known as zones to increase availability", type=AttributeType.STRING, keys=("cloud.availability_zone",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="us-east-1c", changelog=[ - ChangelogEntry(version="0.7.0", prs=[364], description="Added cloud.availability_zone attribute"), + ChangelogEntry( + version="0.7.0", + prs=[364], + description="Added cloud.availability_zone attribute", + ), ], ), "cloud.platform": AttributeMetadata( brief="The cloud platform in use", type=AttributeType.STRING, keys=("cloud.platform",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="aws_lambda", changelog=[ - ChangelogEntry(version="0.7.0", prs=[364], description="Added cloud.platform attribute"), + ChangelogEntry( + version="0.7.0", prs=[364], description="Added cloud.platform attribute" + ), ], ), "cloud.provider": AttributeMetadata( brief="Name of the cloud provider", type=AttributeType.STRING, keys=("cloud.provider",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="aws", changelog=[ - ChangelogEntry(version="0.7.0", prs=[364], description="Added cloud.provider attribute"), + ChangelogEntry( + version="0.7.0", prs=[364], description="Added cloud.provider attribute" + ), ], ), "cloud.region": AttributeMetadata( brief="The geographical region the resource is running", type=AttributeType.STRING, - keys=("cloud.region", "aws_region", "gcp_region",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "cloud.region", + "aws_region", + "gcp_region", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="us-east-1", - aliases=["aws_region","gcp_region"], + aliases=["aws_region", "gcp_region"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[535, 537], description="Added aws_region and gcp_region as aliases"), - ChangelogEntry(version="0.7.0", prs=[364], description="Added cloud.region attribute"), + ChangelogEntry( + version="0.19.0", + prs=[535, 537], + description="Added aws_region and gcp_region as aliases", + ), + ChangelogEntry( + version="0.7.0", prs=[364], description="Added cloud.region attribute" + ), ], ), "cloud.resource_id": AttributeMetadata( brief="Cloud provider-specific native identifier of the monitored cloud resource", type=AttributeType.STRING, - keys=("cloud.resource_id", "faas.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "cloud.resource_id", + "faas.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function", aliases=["faas.id"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[475], description="Added faas.id as an alias"), + ChangelogEntry( + version="0.16.0", prs=[475], description="Added faas.id as an alias" + ), ChangelogEntry(version="0.11.1", prs=[414]), ], - 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."], + 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." + ], ), "cloudflare.d1.duration": AttributeMetadata( brief="The duration of a Cloudflare D1 operation.", type=AttributeType.INTEGER, keys=("cloudflare.d1.duration",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=543, @@ -14492,30 +15784,38 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "cloudflare.d1.query_type": AttributeMetadata( brief="The type of query executed in a Cloudflare D1 operation", type=AttributeType.STRING, - keys=("db.operation.name", "cloudflare.d1.query_type", "db.operation", "redis.command",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "db.operation.name", + "cloudflare.d1.query_type", + "db.operation", + "redis.command", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="run", deprecation=DeprecationInfo( - replacement="db.operation.name", - status=DeprecationStatus.BACKFILL + replacement="db.operation.name", status=DeprecationStatus.BACKFILL ), - aliases=["db.operation.name","db.operation","redis.command"], + aliases=["db.operation.name", "db.operation", "redis.command"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[531], description="Added redis.command as an alias"), - ChangelogEntry(version="0.11.0", prs=[392], description="Added cloudflare.d1.query_type attribute"), + ChangelogEntry( + version="0.19.0", + prs=[531], + description="Added redis.command as an alias", + ), + ChangelogEntry( + version="0.11.0", + prs=[392], + description="Added cloudflare.d1.query_type attribute", + ), ], ), "cloudflare.d1.rows_read": AttributeMetadata( brief="The number of rows read in a Cloudflare D1 operation.", type=AttributeType.INTEGER, keys=("cloudflare.d1.rows_read",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=12, @@ -14528,9 +15828,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The number of rows written in a Cloudflare D1 operation.", type=AttributeType.INTEGER, keys=("cloudflare.d1.rows_written",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=12, @@ -14543,205 +15841,234 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The number of bound parameters passed to the SQL exec call.", type=AttributeType.INTEGER, keys=("cloudflare.durable_object.query.bindings",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, changelog=[ - ChangelogEntry(version="0.13.0", prs=[435], description="Added cloudflare.durable_object.query.bindings attribute"), + ChangelogEntry( + version="0.13.0", + prs=[435], + description="Added cloudflare.durable_object.query.bindings attribute", + ), ], ), "cloudflare.durable_object.response.rows_read": AttributeMetadata( brief="The number of rows read by a Cloudflare Durable Object SQL operation.", type=AttributeType.INTEGER, keys=("cloudflare.durable_object.response.rows_read",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=12, changelog=[ - ChangelogEntry(version="0.13.0", prs=[435], description="Added cloudflare.durable_object.response.rows_read attribute"), + ChangelogEntry( + version="0.13.0", + prs=[435], + description="Added cloudflare.durable_object.response.rows_read attribute", + ), ], ), "cloudflare.durable_object.response.rows_written": AttributeMetadata( brief="The number of rows written by a Cloudflare Durable Object SQL operation.", type=AttributeType.INTEGER, keys=("cloudflare.durable_object.response.rows_written",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, changelog=[ - ChangelogEntry(version="0.13.0", prs=[435], description="Added cloudflare.durable_object.response.rows_written attribute"), + ChangelogEntry( + version="0.13.0", + prs=[435], + description="Added cloudflare.durable_object.response.rows_written attribute", + ), ], ), "cloudflare.r2.bucket": AttributeMetadata( brief="The name of the Cloudflare R2 bucket binding", type=AttributeType.STRING, keys=("cloudflare.r2.bucket",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="MY_BUCKET", changelog=[ - ChangelogEntry(version="0.11.1", prs=[413], description="Added cloudflare.r2.bucket attribute"), + ChangelogEntry( + version="0.11.1", + prs=[413], + description="Added cloudflare.r2.bucket attribute", + ), ], ), "cloudflare.r2.operation": AttributeMetadata( brief="The R2 API operation being performed", type=AttributeType.STRING, keys=("cloudflare.r2.operation",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="GetObject", changelog=[ - ChangelogEntry(version="0.11.1", prs=[413], description="Added cloudflare.r2.operation attribute"), + ChangelogEntry( + version="0.11.1", + prs=[413], + description="Added cloudflare.r2.operation attribute", + ), ], ), "cloudflare.r2.request.delimiter": AttributeMetadata( brief="The delimiter used to group objects in an R2 list operation", type=AttributeType.STRING, keys=("cloudflare.r2.request.delimiter",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="/", changelog=[ - ChangelogEntry(version="0.11.1", prs=[413], description="Added cloudflare.r2.request.delimiter attribute"), + ChangelogEntry( + version="0.11.1", + prs=[413], + description="Added cloudflare.r2.request.delimiter attribute", + ), ], ), "cloudflare.r2.request.key": AttributeMetadata( brief="The object key used in the R2 operation", type=AttributeType.STRING, keys=("cloudflare.r2.request.key",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="my-file.txt", changelog=[ - ChangelogEntry(version="0.11.1", prs=[413], description="Added cloudflare.r2.request.key attribute"), + ChangelogEntry( + version="0.11.1", + prs=[413], + description="Added cloudflare.r2.request.key attribute", + ), ], ), "cloudflare.r2.request.part_number": AttributeMetadata( brief="The part number in a multipart upload operation", type=AttributeType.INTEGER, keys=("cloudflare.r2.request.part_number",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, changelog=[ - ChangelogEntry(version="0.11.1", prs=[413], description="Added cloudflare.r2.request.part_number attribute"), + ChangelogEntry( + version="0.11.1", + prs=[413], + description="Added cloudflare.r2.request.part_number attribute", + ), ], ), "cloudflare.r2.request.prefix": AttributeMetadata( brief="The prefix used to filter objects in an R2 list operation", type=AttributeType.STRING, keys=("cloudflare.r2.request.prefix",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="images/", changelog=[ - ChangelogEntry(version="0.11.1", prs=[413], description="Added cloudflare.r2.request.prefix attribute"), + ChangelogEntry( + version="0.11.1", + prs=[413], + description="Added cloudflare.r2.request.prefix attribute", + ), ], ), "cloudflare.workflow.attempt": AttributeMetadata( brief="The current attempt number for a Cloudflare Workflow step", type=AttributeType.INTEGER, keys=("cloudflare.workflow.attempt",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, changelog=[ - ChangelogEntry(version="0.11.0", prs=[392], description="Added cloudflare.workflow.attempt attribute"), + ChangelogEntry( + version="0.11.0", + prs=[392], + description="Added cloudflare.workflow.attempt attribute", + ), ], ), "cloudflare.workflow.retries.backoff": AttributeMetadata( brief="The backoff strategy for Cloudflare Workflow step retries", type=AttributeType.STRING, keys=("cloudflare.workflow.retries.backoff",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="exponential", changelog=[ - ChangelogEntry(version="0.11.0", prs=[392], description="Added cloudflare.workflow.retries.backoff attribute"), + ChangelogEntry( + version="0.11.0", + prs=[392], + description="Added cloudflare.workflow.retries.backoff attribute", + ), ], ), "cloudflare.workflow.retries.delay": AttributeMetadata( brief="The delay between Cloudflare Workflow step retries", type=AttributeType.STRING, keys=("cloudflare.workflow.retries.delay",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="5 seconds", changelog=[ - ChangelogEntry(version="0.11.0", prs=[392], description="Added cloudflare.workflow.retries.delay attribute"), + ChangelogEntry( + version="0.11.0", + prs=[392], + description="Added cloudflare.workflow.retries.delay attribute", + ), ], ), "cloudflare.workflow.retries.limit": AttributeMetadata( brief="The maximum number of retries for a Cloudflare Workflow step", type=AttributeType.INTEGER, keys=("cloudflare.workflow.retries.limit",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=3, changelog=[ - ChangelogEntry(version="0.11.0", prs=[392], description="Added cloudflare.workflow.retries.limit attribute"), + ChangelogEntry( + version="0.11.0", + prs=[392], + description="Added cloudflare.workflow.retries.limit attribute", + ), ], ), "cloudflare.workflow.timeout": AttributeMetadata( brief="The timeout duration for a Cloudflare Workflow step", type=AttributeType.STRING, keys=("cloudflare.workflow.timeout",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1 minute", changelog=[ - ChangelogEntry(version="0.11.0", prs=[392], description="Added cloudflare.workflow.timeout attribute"), + ChangelogEntry( + version="0.11.0", + prs=[392], + description="Added cloudflare.workflow.timeout attribute", + ), ], ), "cls.source.": AttributeMetadata( brief="The HTML elements or components responsible for the layout shift. is a numeric index from 1 to N", type=AttributeType.STRING, - keys=("browser.web_vital.cls.source.", "cls.source.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.cls.source.", + "cls.source.", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -14749,7 +16076,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="browser.web_vital.cls.source.", reason="The CLS source is now recorded as a browser.web_vital.cls.source. attribute.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.cls.source."], changelog=[ @@ -14759,56 +16086,72 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "cls": AttributeMetadata( brief="The value of the recorded Cumulative Layout Shift (CLS) web vital", type=AttributeType.DOUBLE, - keys=("browser.web_vital.cls.value", "cls",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.cls.value", + "cls", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.2361, deprecation=DeprecationInfo( replacement="browser.web_vital.cls.value", reason="The CLS web vital is now recorded as a browser.web_vital.cls.value attribute.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.cls.value"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[229], description="Added and deprecated attribute to document JS SDK's current behaviour"), + ChangelogEntry( + version="0.5.0", + prs=[229], + description="Added and deprecated attribute to document JS SDK's current behaviour", + ), ], ), "code.file.path": AttributeMetadata( brief="The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).", type=AttributeType.STRING, - keys=("code.file.path", "sveltekit.load.node_id", "code.filepath",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "code.file.path", + "sveltekit.load.node_id", + "code.filepath", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="/app/myapplication/http/handler/server.py", - aliases=["code.filepath","sveltekit.load.node_id"], + aliases=["code.filepath", "sveltekit.load.node_id"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[611], description="Added sveltekit.load.node_id as an alias"), + ChangelogEntry( + version="0.22.0", + prs=[611], + description="Added sveltekit.load.node_id as an alias", + ), ChangelogEntry(version="0.0.0"), ], ), "code.filepath": AttributeMetadata( brief="The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).", type=AttributeType.STRING, - keys=("code.file.path", "sveltekit.load.node_id", "code.filepath",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "code.file.path", + "sveltekit.load.node_id", + "code.filepath", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="/app/myapplication/http/handler/server.py", deprecation=DeprecationInfo( - replacement="code.file.path", - status=DeprecationStatus.BACKFILL + replacement="code.file.path", status=DeprecationStatus.BACKFILL ), - aliases=["code.file.path","sveltekit.load.node_id"], + aliases=["code.file.path", "sveltekit.load.node_id"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[611], description="Added sveltekit.load.node_id as an alias"), + ChangelogEntry( + version="0.22.0", + prs=[611], + description="Added sveltekit.load.node_id as an alias", + ), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], @@ -14816,16 +16159,22 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "code.function": AttributeMetadata( brief="The method or function name, or equivalent (usually rightmost part of the code unit's name).", type=AttributeType.STRING, - keys=("code.function", "code.function.name", "django.function_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "code.function", + "code.function.name", + "django.function_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="server_request", - aliases=["code.function.name","django.function_name"], + aliases=["code.function.name", "django.function_name"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[538], description="Added django.function_name as an alias"), + ChangelogEntry( + version="0.19.0", + prs=[538], + description="Added django.function_name as an alias", + ), ChangelogEntry(version="0.1.0", prs=[61, 74]), ChangelogEntry(version="0.0.0"), ], @@ -14833,16 +16182,22 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "code.function.name": AttributeMetadata( brief="The method or function fully-qualified name without arguments.", type=AttributeType.STRING, - keys=("code.function.name", "code.function", "django.function_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "code.function.name", + "code.function", + "django.function_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="server_request", - aliases=["code.function","django.function_name"], + aliases=["code.function", "django.function_name"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[538], description="Added django.function_name as an alias"), + ChangelogEntry( + version="0.19.0", + prs=[538], + description="Added django.function_name as an alias", + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -14850,10 +16205,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "code.line.number": AttributeMetadata( brief="The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function", type=AttributeType.INTEGER, - keys=("code.line.number", "code.lineno",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "code.line.number", + "code.lineno", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=42, @@ -14866,16 +16222,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "code.lineno": AttributeMetadata( brief="The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function", type=AttributeType.INTEGER, - keys=("code.line.number", "code.lineno",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "code.line.number", + "code.lineno", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=42, deprecation=DeprecationInfo( - replacement="code.line.number", - status=DeprecationStatus.BACKFILL + replacement="code.line.number", status=DeprecationStatus.BACKFILL ), aliases=["code.line.number"], changelog=[ @@ -14888,9 +16244,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.STRING, keys=("code.namespace",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="http.handler", @@ -14902,70 +16256,81 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "code": AttributeMetadata( brief="Status code of the RPC returned by the RPC server or generated by the client.", type=AttributeType.STRING, - keys=("rpc.response.status_code", "code",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "rpc.response.status_code", + "code", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="DEADLINE_EXCEEDED", examples=["DEADLINE_EXCEEDED"], deprecation=DeprecationInfo( - replacement="rpc.response.status_code", - status=DeprecationStatus.BACKFILL + replacement="rpc.response.status_code", status=DeprecationStatus.BACKFILL ), - aliases=["rpc.grpc.status_code","rpc.response.status_code"], + aliases=["rpc.grpc.status_code", "rpc.response.status_code"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[533], description="Added code attribute"), + ChangelogEntry( + version="0.19.0", prs=[533], description="Added code attribute" + ), ], ), "connection.rtt": AttributeMetadata( brief="Specifies the estimated effective round-trip time of the current connection, in milliseconds.", type=AttributeType.INTEGER, - keys=("network.connection.rtt", "connection.rtt",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.connection.rtt", + "connection.rtt", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=100, deprecation=DeprecationInfo( replacement="network.connection.rtt", reason="Old attribute name (no official namespace), to be replaced with network.connection.rtt for span-first future", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["network.connection.rtt"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[279], description="Added and deprecated attribute to document JS SDK's current behaviour"), + ChangelogEntry( + version="0.5.0", + prs=[279], + description="Added and deprecated attribute to document JS SDK's current behaviour", + ), ], ), "connectionType": AttributeMetadata( brief="Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc).", type=AttributeType.STRING, - keys=("network.connection.type", "connectionType", "device.connection_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.connection.type", + "connectionType", + "device.connection_type", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="wifi", deprecation=DeprecationInfo( replacement="network.connection.type", reason="Old namespace-less attribute, to be replaced with network.connection.type for span-first future", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["network.connection.type","device.connection_type"], + aliases=["network.connection.type", "device.connection_type"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[279], description="Added and deprecated attribute to document JS SDK's current behaviour"), + ChangelogEntry( + version="0.5.0", + prs=[279], + description="Added and deprecated attribute to document JS SDK's current behaviour", + ), ], ), "culture.calendar": AttributeMetadata( brief="The calendar system used by the culture.", type=AttributeType.STRING, keys=("culture.calendar",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="GregorianCalendar", @@ -14977,9 +16342,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Human readable name of the culture.", type=AttributeType.STRING, keys=("culture.display_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="English (United States)", @@ -14991,9 +16354,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the culture uses 24-hour time format.", type=AttributeType.BOOLEAN, keys=("culture.is_24_hour_format",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -15005,9 +16366,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The locale identifier following RFC 4646.", type=AttributeType.STRING, keys=("culture.locale",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="en-US", @@ -15019,9 +16378,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The timezone of the culture, as a geographic timezone identifier.", type=AttributeType.STRING, keys=("culture.timezone",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Europe/Vienna", @@ -15032,16 +16389,21 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.collection.name": AttributeMetadata( brief="The name of a collection (table, container) within the database.", type=AttributeType.STRING, - keys=("db.collection.name", "db.mongodb.collection",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "db.collection.name", + "db.mongodb.collection", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="users", aliases=["db.mongodb.collection"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[483], description="Added db.mongodb.collection as an alias"), + ChangelogEntry( + version="0.19.0", + prs=[483], + description="Added db.mongodb.collection as an alias", + ), ChangelogEntry(version="0.1.0", prs=[106, 127]), ChangelogEntry(version="0.0.0"), ], @@ -15050,9 +16412,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The connection string used to connect to the database.", type=AttributeType.STRING, keys=("db.connection_string",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="redis://localhost:6379", @@ -15061,56 +16421,65 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is deprecated. The connection is described by server.address and server.port instead, so the value cannot be copied to a single replacement attribute." ), changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added db.connection_string attribute"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added db.connection_string attribute", + ), ], ), "db.driver.name": AttributeMetadata( brief="The name of the driver used for the database connection.", type=AttributeType.STRING, keys=("db.driver.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="psycopg2", changelog=[ - ChangelogEntry(version="0.5.0", prs=[297], description="Added db.driver.name attribute"), + ChangelogEntry( + version="0.5.0", prs=[297], description="Added db.driver.name attribute" + ), ], ), "db.mongodb.collection": AttributeMetadata( brief="The MongoDB collection being accessed.", type=AttributeType.STRING, - keys=("db.collection.name", "db.mongodb.collection",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "db.collection.name", + "db.mongodb.collection", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="users", deprecation=DeprecationInfo( replacement="db.collection.name", reason="This attribute is being deprecated in favor of db.collection.name, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["db.collection.name"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[483], description="Added db.mongodb.collection attribute, deprecated in favor of db.collection.name"), + ChangelogEntry( + version="0.19.0", + prs=[483], + description="Added db.mongodb.collection attribute, deprecated in favor of db.collection.name", + ), ], ), "db.name": AttributeMetadata( brief="The name of the database being accessed.", type=AttributeType.STRING, - keys=("db.namespace", "db.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "db.namespace", + "db.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="customers", deprecation=DeprecationInfo( - replacement="db.namespace", - status=DeprecationStatus.BACKFILL + replacement="db.namespace", status=DeprecationStatus.BACKFILL ), aliases=["db.namespace"], changelog=[ @@ -15121,10 +16490,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.namespace": AttributeMetadata( brief="The name of the database being accessed.", type=AttributeType.STRING, - keys=("db.namespace", "db.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "db.namespace", + "db.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="customers", @@ -15137,20 +16507,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.operation": AttributeMetadata( brief="The name of the operation being executed.", type=AttributeType.STRING, - keys=("db.operation.name", "cloudflare.d1.query_type", "db.operation", "redis.command",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "db.operation.name", + "cloudflare.d1.query_type", + "db.operation", + "redis.command", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="SELECT", deprecation=DeprecationInfo( - replacement="db.operation.name", - status=DeprecationStatus.NORMALIZE + replacement="db.operation.name", status=DeprecationStatus.NORMALIZE ), - aliases=["db.operation.name","cloudflare.d1.query_type","redis.command"], + aliases=["db.operation.name", "cloudflare.d1.query_type", "redis.command"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[531], description="Added redis.command as an alias"), + ChangelogEntry( + version="0.19.0", + prs=[531], + description="Added redis.command as an alias", + ), ChangelogEntry(version="0.4.0", prs=[199]), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), @@ -15160,29 +16536,38 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.INTEGER, keys=("db.operation.batch.size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=3, changelog=[ - ChangelogEntry(version="0.11.0", prs=[407], description="Added db.operation.batch.size attribute"), + ChangelogEntry( + version="0.11.0", + prs=[407], + description="Added db.operation.batch.size attribute", + ), ], ), "db.operation.name": AttributeMetadata( brief="The name of the operation being executed.", type=AttributeType.STRING, - keys=("db.operation.name", "cloudflare.d1.query_type", "db.operation", "redis.command",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "db.operation.name", + "cloudflare.d1.query_type", + "db.operation", + "redis.command", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="SELECT", - aliases=["db.operation","cloudflare.d1.query_type","redis.command"], + aliases=["db.operation", "cloudflare.d1.query_type", "redis.command"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[531], description="Added redis.command as an alias"), + ChangelogEntry( + version="0.19.0", + prs=[531], + description="Added redis.command as an alias", + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -15191,28 +16576,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The query bindings for a database request.", type=AttributeType.STRING, keys=("db.params",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, - example="[{\"x\": 100}]", - examples=["[{\"x\": 100}]"], + example='[{"x": 100}]', + examples=['[{"x": 100}]'], deprecation=DeprecationInfo( replacement="db.query.parameter.", - reason="Instead of adding every binding in the db.params attribute, add them as individual entries with db.query.parameter.." + reason="Instead of adding every binding in the db.params attribute, add them as individual entries with db.query.parameter..", ), changelog=[ - ChangelogEntry(version="0.19.0", prs=[529], description="Added db.params attribute"), + ChangelogEntry( + version="0.19.0", prs=[529], description="Added db.params attribute" + ), ], ), "db.query.parameter.": AttributeMetadata( brief="A query parameter used in db.query.text, with being the parameter name, and the attribute value being a string representation of the parameter value.", type=AttributeType.STRING, keys=("db.query.parameter.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -15225,15 +16608,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A shortened representation of operation(s) in the full query. This attribute must be low-cardinality and should only contain the operation table names.", type=AttributeType.STRING, keys=("db.query.summary",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="SELECT users", examples=["SELECT users", "INSERT products; UPDATE orders"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[505], description="Added multiple examples"), + ChangelogEntry( + version="0.19.0", prs=[505], description="Added multiple examples" + ), ChangelogEntry(version="0.4.0", prs=[208]), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), @@ -15242,16 +16625,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.query.text": AttributeMetadata( brief="The database parameterized query being executed. Any parameter values (filters, insertion values, etc) should be replaced with parameter placeholders. If applicable, use `db.query.parameter.` to add the parameter value.", type=AttributeType.STRING, - keys=("db.query.text", "db.statement", "query",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "db.query.text", + "db.statement", + "query", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="SELECT * FROM users WHERE id = $1", - aliases=["db.statement","query"], + aliases=["db.statement", "query"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[530], description="Added query as an alias"), + ChangelogEntry( + version="0.19.0", prs=[530], description="Added query as an alias" + ), ChangelogEntry(version="0.4.0", prs=[208]), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), @@ -15261,9 +16648,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The redis connection name.", type=AttributeType.STRING, keys=("db.redis.connection",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="my-redis-instance", @@ -15275,26 +16660,29 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.redis.key": AttributeMetadata( brief="The key the Redis command is operating on.", type=AttributeType.STRING, - keys=("db.redis.key", "redis.key",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "db.redis.key", + "redis.key", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="user:2047:city", aliases=["redis.key"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[484], description="Added redis.key as an alias"), - ChangelogEntry(version="0.6.0", prs=[326], description="Added db.redis.key attribute"), + ChangelogEntry( + version="0.19.0", prs=[484], description="Added redis.key as an alias" + ), + ChangelogEntry( + version="0.6.0", prs=[326], description="Added db.redis.key attribute" + ), ], ), "db.redis.parameters": AttributeMetadata( brief="The array of command parameters given to a redis command.", type=AttributeType.STRING_ARRAY, keys=("db.redis.parameters",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example=["test", "*"], @@ -15306,29 +16694,29 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Database response status code. The status code returned by the database. Usually it represents an error code, but may also represent partial success, warning, or differentiate between various types of successful outcomes.", type=AttributeType.STRING, keys=("db.response.status_code",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="ORA-17002", changelog=[ - ChangelogEntry(version="0.16.0", prs=[462], description="Added db.response.status_code attribute"), + ChangelogEntry( + version="0.16.0", + prs=[462], + description="Added db.response.status_code attribute", + ), ], ), "db.sql.bindings": AttributeMetadata( brief="The array of query bindings.", type=AttributeType.STRING_ARRAY, keys=("db.sql.bindings",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example=["1", "foo"], deprecation=DeprecationInfo( replacement="db.query.parameter.", - reason="Instead of adding every binding in the db.sql.bindings attribute, add them as individual entires with db.query.parameter.." + reason="Instead of adding every binding in the db.sql.bindings attribute, add them as individual entires with db.query.parameter..", ), changelog=[ ChangelogEntry(version="0.1.0", prs=[61]), @@ -15338,21 +16726,27 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.statement": AttributeMetadata( brief="The database statement being executed.", type=AttributeType.STRING, - keys=("db.query.text", "db.statement", "query",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "db.query.text", + "db.statement", + "query", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="SELECT * FROM users WHERE id = $1", deprecation=DeprecationInfo( replacement="db.query.text", reason="While this attribute never specifically required parameterization, the replacement, db.query.text, does.", - status=DeprecationStatus.NORMALIZE + status=DeprecationStatus.NORMALIZE, ), - aliases=["db.query.text","query"], + aliases=["db.query.text", "query"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[501], description="Improved example, added deprecation reason, and added query as an alias"), + ChangelogEntry( + version="0.19.0", + prs=[501], + description="Improved example, added deprecation reason, and added query as an alias", + ), ChangelogEntry(version="0.4.0", prs=[199]), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), @@ -15362,9 +16756,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name of a stored procedure being called.", type=AttributeType.STRING, keys=("db.stored_procedure.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="GetUserById", @@ -15375,16 +16767,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "db.system": AttributeMetadata( brief="An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers.", type=AttributeType.STRING, - keys=("db.system.name", "db.system", "span.system",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "db.system.name", + "db.system", + "span.system", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="postgresql", deprecation=DeprecationInfo( - replacement="db.system.name", - status=DeprecationStatus.BACKFILL + replacement="db.system.name", status=DeprecationStatus.BACKFILL ), aliases=["db.system.name"], changelog=[ @@ -15392,18 +16785,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="db.system", - deprecated_aliases=["span.system"] - ), + search_alias=SearchAlias(name="db.system", deprecated_aliases=["span.system"]), ), "db.system.name": AttributeMetadata( brief="An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers.", type=AttributeType.STRING, - keys=("db.system.name", "db.system", "span.system",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "db.system.name", + "db.system", + "span.system", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="postgresql", @@ -15417,9 +16809,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The database user.", type=AttributeType.STRING, keys=("db.user",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="fancy_user", @@ -15431,65 +16821,69 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The CPU architectures of the device.", type=AttributeType.STRING_ARRAY, keys=("device.archs",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=["arm64-v8a", "armeabi-v7a", "armeabi"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.archs attribute"), + ChangelogEntry( + version="0.5.0", prs=[303], description="Added device.archs attribute" + ), ], ), "device.battery_level": AttributeMetadata( brief="The battery level of the device as a percentage (0-100).", type=AttributeType.DOUBLE, keys=("device.battery_level",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=100, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.battery_level attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.battery_level attribute", + ), ], ), "device.battery_temperature": AttributeMetadata( brief="The battery temperature of the device in Celsius.", type=AttributeType.DOUBLE, keys=("device.battery_temperature",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=25, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.battery_temperature attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.battery_temperature attribute", + ), ], ), "device.boot_time": AttributeMetadata( brief="A formatted UTC timestamp when the system was booted.", type=AttributeType.STRING, keys=("device.boot_time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="2018-02-08T12:52:12Z", changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.boot_time attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.boot_time attribute", + ), ], ), "device.brand": AttributeMetadata( brief="The brand of the device.", type=AttributeType.STRING, keys=("device.brand",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Apple", @@ -15501,113 +16895,125 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the device was charging or not.", type=AttributeType.BOOLEAN, keys=("device.charging",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=False, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.charging attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.charging attribute", + ), ], ), "device.chipset": AttributeMetadata( brief="The chipset of the device.", type=AttributeType.STRING, keys=("device.chipset",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Qualcomm SM8550", changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.chipset attribute"), + ChangelogEntry( + version="0.5.0", prs=[303], description="Added device.chipset attribute" + ), ], ), "device.class": AttributeMetadata( brief="The classification of the device. For example, `low`, `medium`, or `high`. Typically inferred by Relay - SDKs generally do not need to set this directly.", type=AttributeType.STRING, keys=("device.class",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="medium", changelog=[ - ChangelogEntry(version="0.5.0", prs=[300], description="Added device.class attribute"), + ChangelogEntry( + version="0.5.0", prs=[300], description="Added device.class attribute" + ), ], ), "device.connection_type": AttributeMetadata( brief="The internet connection type currently being used by the device.", type=AttributeType.STRING, - keys=("network.connection.type", "connectionType", "device.connection_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.connection.type", + "connectionType", + "device.connection_type", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="wifi", deprecation=DeprecationInfo( replacement="network.connection.type", reason="This attribute is being deprecated in favor of network.connection.type", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["network.connection.type","connectionType"], + aliases=["network.connection.type", "connectionType"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added and deprecated device.connection_type in favor of network.connection.type"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added and deprecated device.connection_type in favor of network.connection.type", + ), ], ), "device.cpu_description": AttributeMetadata( brief="A description of the CPU of the device.", type=AttributeType.STRING, keys=("device.cpu_description",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz", changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.cpu_description attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.cpu_description attribute", + ), ], ), "device.external_free_storage": AttributeMetadata( brief="External storage free size in bytes.", type=AttributeType.INTEGER, keys=("device.external_free_storage",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=67108864000, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.external_free_storage attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.external_free_storage attribute", + ), ], ), "device.external_storage_size": AttributeMetadata( brief="External storage total size in bytes.", type=AttributeType.INTEGER, keys=("device.external_storage_size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=134217728000, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.external_storage_size attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.external_storage_size attribute", + ), ], ), "device.family": AttributeMetadata( brief="The family of the device.", type=AttributeType.STRING, keys=("device.family",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="iPhone", @@ -15619,136 +17025,151 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Free system memory in bytes.", type=AttributeType.INTEGER, keys=("device.free_memory",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2147483648, changelog=[ - ChangelogEntry(version="0.5.0", prs=[300], description="Added device.free_memory attribute"), + ChangelogEntry( + version="0.5.0", + prs=[300], + description="Added device.free_memory attribute", + ), ], ), "device.free_storage": AttributeMetadata( brief="Free device storage in bytes.", type=AttributeType.INTEGER, keys=("device.free_storage",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=107374182400, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.free_storage attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.free_storage attribute", + ), ], ), "device.id": AttributeMetadata( brief="Unique device identifier.", type=AttributeType.STRING, keys=("device.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="a1b2c3d4-e5f6-7890-abcd-ef1234567890", changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.id attribute"), + ChangelogEntry( + version="0.5.0", prs=[303], description="Added device.id attribute" + ), ], ), "device.locale": AttributeMetadata( brief="The locale of the device.", type=AttributeType.STRING, keys=("device.locale",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="en-US", changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.locale attribute"), + ChangelogEntry( + version="0.5.0", prs=[303], description="Added device.locale attribute" + ), ], ), "device.low_memory": AttributeMetadata( brief="Whether the device was low on memory.", type=AttributeType.BOOLEAN, keys=("device.low_memory",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=False, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.low_memory attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.low_memory attribute", + ), ], ), "device.low_power_mode": AttributeMetadata( brief="Whether the device is in Low Power Mode.", type=AttributeType.BOOLEAN, keys=("device.low_power_mode",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry(version="0.6.0", prs=[314], description="Added device.low_power_mode attribute"), + ChangelogEntry( + version="0.6.0", + prs=[314], + description="Added device.low_power_mode attribute", + ), ], ), "device.manufacturer": AttributeMetadata( brief="The manufacturer of the device.", type=AttributeType.STRING, keys=("device.manufacturer",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="Google", changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.manufacturer attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.manufacturer attribute", + ), ], ), "device.memory.estimated_capacity": AttributeMetadata( brief="The estimated total memory capacity of the device, only a rough estimation in gigabytes. Browsers report estimations in buckets of powers of 2, mostly capped at 8 GB", type=AttributeType.INTEGER, - keys=("device.memory.estimated_capacity", "deviceMemory",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "device.memory.estimated_capacity", + "deviceMemory", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=8, aliases=["deviceMemory"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[281], description="Added attribute device.memory.estimated_capacity to be used instead of deviceMemory"), + ChangelogEntry( + version="0.5.0", + prs=[281], + description="Added attribute device.memory.estimated_capacity to be used instead of deviceMemory", + ), ], ), "device.memory_size": AttributeMetadata( brief="Total system memory available in bytes.", type=AttributeType.INTEGER, keys=("device.memory_size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=17179869184, changelog=[ - ChangelogEntry(version="0.5.0", prs=[300], description="Added device.memory_size attribute"), + ChangelogEntry( + version="0.5.0", + prs=[300], + description="Added device.memory_size attribute", + ), ], ), "device.model": AttributeMetadata( brief="The model of the device.", type=AttributeType.STRING, keys=("device.model",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="iPhone 15 Pro Max", @@ -15760,262 +17181,307 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="An internal hardware revision to identify the device exactly.", type=AttributeType.STRING, keys=("device.model_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="N861AP", changelog=[ - ChangelogEntry(version="0.5.0", prs=[300], description="Added device.model_id attribute"), + ChangelogEntry( + version="0.5.0", + prs=[300], + description="Added device.model_id attribute", + ), ], ), "device.name": AttributeMetadata( brief="The user-assigned name of the mobile device.", type=AttributeType.STRING, keys=("device.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="localhost", changelog=[ - ChangelogEntry(version="0.24.0", prs=[647], description="Limit brief to mobile attributes and remove server_name alias"), - ChangelogEntry(version="0.21.0", prs=[602], description="Added server_name as an alias"), - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.name attribute"), + ChangelogEntry( + version="0.24.0", + prs=[647], + description="Limit brief to mobile attributes and remove server_name alias", + ), + ChangelogEntry( + version="0.21.0", prs=[602], description="Added server_name as an alias" + ), + ChangelogEntry( + version="0.5.0", prs=[303], description="Added device.name attribute" + ), ], ), "device.online": AttributeMetadata( brief="Whether the device was online or not.", type=AttributeType.BOOLEAN, keys=("device.online",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.online attribute"), + ChangelogEntry( + version="0.5.0", prs=[303], description="Added device.online attribute" + ), ], ), "device.orientation": AttributeMetadata( - brief="The orientation of the device, either \"portrait\" or \"landscape\".", + brief='The orientation of the device, either "portrait" or "landscape".', type=AttributeType.STRING, keys=("device.orientation",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="portrait", changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.orientation attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.orientation attribute", + ), ], ), "device.processor_count": AttributeMetadata( - brief="Number of \"logical processors\".", + brief='Number of "logical processors".', type=AttributeType.INTEGER, - keys=("device.processor_count", "hardwareConcurrency",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "device.processor_count", + "hardwareConcurrency", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=8, aliases=["hardwareConcurrency"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[300], description="Added and deprecated attribute device.processor_count in favor of device.cpu.logical_core_count"), + ChangelogEntry( + version="0.5.0", + prs=[300], + description="Added and deprecated attribute device.processor_count in favor of device.cpu.logical_core_count", + ), ], ), "device.processor_frequency": AttributeMetadata( brief="Processor frequency in MHz.", type=AttributeType.DOUBLE, keys=("device.processor_frequency",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2400, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.processor_frequency attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.processor_frequency attribute", + ), ], ), "device.screen_density": AttributeMetadata( brief="The screen density of the device.", type=AttributeType.DOUBLE, keys=("device.screen_density",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2.625, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.screen_density attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.screen_density attribute", + ), ], ), "device.screen_dpi": AttributeMetadata( brief="The screen density in dots-per-inch (DPI) of the device.", type=AttributeType.INTEGER, keys=("device.screen_dpi",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=420, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.screen_dpi attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.screen_dpi attribute", + ), ], ), "device.screen_height_pixels": AttributeMetadata( brief="The height of the device screen in pixels.", type=AttributeType.INTEGER, keys=("device.screen_height_pixels",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2400, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.screen_height_pixels attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.screen_height_pixels attribute", + ), ], ), "device.screen_width_pixels": AttributeMetadata( brief="The width of the device screen in pixels.", type=AttributeType.INTEGER, keys=("device.screen_width_pixels",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1080, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.screen_width_pixels attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.screen_width_pixels attribute", + ), ], ), "device.simulator": AttributeMetadata( brief="Whether the device is a simulator or an actual device.", type=AttributeType.BOOLEAN, keys=("device.simulator",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=False, changelog=[ - ChangelogEntry(version="0.5.0", prs=[300], description="Added device.simulator attribute"), + ChangelogEntry( + version="0.5.0", + prs=[300], + description="Added device.simulator attribute", + ), ], ), "device.storage_size": AttributeMetadata( brief="Total device storage in bytes.", type=AttributeType.INTEGER, keys=("device.storage_size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=274877906944, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.storage_size attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.storage_size attribute", + ), ], ), "device.thermal_state": AttributeMetadata( brief="The thermal state of the device. Based on Apple's `ProcessInfo.ThermalState` enum.", type=AttributeType.STRING, keys=("device.thermal_state",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="nominal", changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.thermal_state attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.thermal_state attribute", + ), ], ), "device.timezone": AttributeMetadata( brief="The timezone of the device.", type=AttributeType.STRING, keys=("device.timezone",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Europe/Vienna", changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.timezone attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.timezone attribute", + ), ], ), "device.usable_memory": AttributeMetadata( brief="Memory usable for the app in bytes.", type=AttributeType.INTEGER, keys=("device.usable_memory",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2147483648, changelog=[ - ChangelogEntry(version="0.5.0", prs=[303], description="Added device.usable_memory attribute"), + ChangelogEntry( + version="0.5.0", + prs=[303], + description="Added device.usable_memory attribute", + ), ], ), "deviceMemory": AttributeMetadata( brief="The estimated total memory capacity of the device, only a rough estimation in gigabytes.", type=AttributeType.STRING, - keys=("device.memory.estimated_capacity", "deviceMemory",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "device.memory.estimated_capacity", + "deviceMemory", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="8 GB", deprecation=DeprecationInfo( replacement="device.memory.estimated_capacity", reason="Old namespace-less attribute, to be replaced with device.memory.estimated_capacity for span-first future", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["device.memory.estimated_capacity"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[281], description="Added and deprecated attribute to document JS SDK's current behaviour"), + ChangelogEntry( + version="0.5.0", + prs=[281], + description="Added and deprecated attribute to document JS SDK's current behaviour", + ), ], ), "dist": AttributeMetadata( brief="The sentry dist.", type=AttributeType.STRING, - keys=("sentry.dist", "dist",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.dist", + "dist", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="1.0", deprecation=DeprecationInfo( replacement="sentry.dist", reason="This attribute is being deprecated in favor of sentry.dist.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["sentry.dist"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[489], description="Added dist attribute"), + ChangelogEntry( + version="0.16.0", prs=[489], description="Added dist attribute" + ), ], ), "django.function_name": AttributeMetadata( brief="The fully qualified name of a function used in a Django context.", type=AttributeType.STRING, - keys=("code.function.name", "code.function", "django.function_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "code.function.name", + "code.function", + "django.function_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="django.contrib.sessions.middleware.SessionMiddleware", @@ -16023,20 +17489,28 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="code.function.name", reason="This attribute is being deprecated in favor of code.function.name, which is the framework-agnostic replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["code.function.name","code.function"], + aliases=["code.function.name", "code.function"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[538], description="Added django.function_name attribute"), + ChangelogEntry( + version="0.19.0", + prs=[538], + description="Added django.function_name attribute", + ), ], ), "django.middleware_name": AttributeMetadata( brief="The name of the Django middleware.", type=AttributeType.STRING, - keys=("middleware.name", "django.middleware_name", "litestar.middleware_name", "starlette.middleware_name", "starlite.middleware_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "middleware.name", + "django.middleware_name", + "litestar.middleware_name", + "starlette.middleware_name", + "starlite.middleware_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="AuthenticationMiddleware", @@ -16044,50 +17518,63 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="middleware.name", reason="This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["middleware.name"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[520], description="Added django.middleware_name attribute"), + ChangelogEntry( + version="0.19.0", + prs=[520], + description="Added django.middleware_name attribute", + ), ], ), "effectiveConnectionType": AttributeMetadata( brief="Specifies the estimated effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g).", type=AttributeType.STRING, - keys=("network.connection.effective_type", "effectiveConnectionType",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.connection.effective_type", + "effectiveConnectionType", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="4g", deprecation=DeprecationInfo( replacement="network.connection.effective_type", reason="Old namespace-less attribute, to be replaced with network.connection.effective_type for span-first future", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["network.connection.effective_type"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[279], description="Added and deprecated attribute to document JS SDK's current behaviour"), + ChangelogEntry( + version="0.5.0", + prs=[279], + description="Added and deprecated attribute to document JS SDK's current behaviour", + ), ], ), "environment": AttributeMetadata( brief="The sentry environment.", type=AttributeType.STRING, - keys=("sentry.environment", "environment", "resource.deployment.environment", "resource.deployment.environment.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sentry.environment", + "environment", + "resource.deployment.environment", + "resource.deployment.environment.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="production", deprecation=DeprecationInfo( - replacement="sentry.environment", - status=DeprecationStatus.NORMALIZE + replacement="sentry.environment", status=DeprecationStatus.NORMALIZE ), aliases=["sentry.environment"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[427], description="Configured normalization"), + ChangelogEntry( + version="0.19.0", prs=[427], description="Configured normalization" + ), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -16096,9 +17583,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Describes a class of error the operation ended with.", type=AttributeType.STRING, keys=("error.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="timeout", @@ -16111,9 +17596,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The unique identifier for this event (log record)", type=AttributeType.INTEGER, keys=("event.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234567890, @@ -16125,9 +17608,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name that uniquely identifies this event (log record)", type=AttributeType.STRING, keys=("event.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Process Payload", @@ -16139,9 +17620,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.BOOLEAN, keys=("exception.escaped",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=True, @@ -16153,9 +17632,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The error message.", type=AttributeType.STRING, keys=("exception.message",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="ENOENT: no such file or directory", @@ -16168,12 +17645,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.STRING, keys=("exception.stacktrace",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=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)", + 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=[ ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), @@ -16183,9 +17658,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.STRING, keys=("exception.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="OSError", @@ -16198,9 +17671,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A boolean that is true if the serverless function is executed for the first time (aka cold-start).", type=AttributeType.BOOLEAN, keys=("faas.coldstart",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=True, @@ -16212,9 +17683,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A string containing the schedule period as Cron Expression.", type=AttributeType.STRING, keys=("faas.cron",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="0/5 * * * ? *", @@ -16227,9 +17696,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The duration a function took to run, in milliseconds.", type=AttributeType.INTEGER, keys=("faas.duration_in_ms",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=120, @@ -16241,9 +17708,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The code that's run when the cloud provider invokes your function.", type=AttributeType.STRING, keys=("faas.entry_point",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="my_main_function", @@ -16254,50 +17719,59 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "faas.execution": AttributeMetadata( brief="The execution ID of the current function execution.", type=AttributeType.STRING, - keys=("faas.invocation_id", "aws.lambda.aws_request_id", "faas.execution",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "faas.invocation_id", + "aws.lambda.aws_request_id", + "faas.execution", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="af9d5aa4-a685-4c5f-a22b-444f80b3cc28", deprecation=DeprecationInfo( replacement="faas.invocation_id", reason="This attribute is being deprecated in favor of faas.invocation_id, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["faas.invocation_id","aws.lambda.aws_request_id"], + aliases=["faas.invocation_id", "aws.lambda.aws_request_id"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[473], description="Added faas.execution attribute, deprecated in favor of faas.invocation_id"), + ChangelogEntry( + version="0.16.0", + prs=[473], + description="Added faas.execution attribute, deprecated in favor of faas.invocation_id", + ), ], ), "faas.id": AttributeMetadata( brief="The unique ID of the single function that this runtime instance executes.", type=AttributeType.STRING, - keys=("cloud.resource_id", "faas.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "cloud.resource_id", + "faas.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function", deprecation=DeprecationInfo( replacement="cloud.resource_id", reason="This attribute is being deprecated in favor of cloud.resource_id, which is the OTel-aligned replacement (renamed in OTel semantic conventions v1.19.0).", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["cloud.resource_id"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[475], description="Added faas.id attribute, deprecated in favor of cloud.resource_id"), + ChangelogEntry( + version="0.16.0", + prs=[475], + description="Added faas.id attribute, deprecated in favor of cloud.resource_id", + ), ], ), "faas.identity": AttributeMetadata( 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=AttributeType.STRING, keys=("faas.identity",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="name@project.iam.gserviceaccount.com (GCP), arn:aws:iam::123456789012:role/role-name (AWS), 00000000-0000-0000-0000-000000000000 (Azure)", @@ -16308,16 +17782,22 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "faas.invocation_id": AttributeMetadata( brief="The invocation ID of the current function invocation.", type=AttributeType.STRING, - keys=("faas.invocation_id", "aws.lambda.aws_request_id", "faas.execution",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "faas.invocation_id", + "aws.lambda.aws_request_id", + "faas.execution", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="af9d5aa4-a685-4c5f-a22b-444f80b3cc28", - aliases=["aws.lambda.aws_request_id","faas.execution"], + aliases=["aws.lambda.aws_request_id", "faas.execution"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[473], description="Added faas.execution as an alias"), + ChangelogEntry( + version="0.16.0", + prs=[473], + description="Added faas.execution as an alias", + ), ChangelogEntry(version="0.11.1", prs=[414, 424]), ], ), @@ -16325,51 +17805,58 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name of the invoked function.", type=AttributeType.STRING, keys=("faas.invoked_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="my-function", changelog=[ - ChangelogEntry(version="0.16.0", prs=[481], description="Added faas.invoked_name attribute"), + ChangelogEntry( + version="0.16.0", + prs=[481], + description="Added faas.invoked_name attribute", + ), ], ), "faas.invoked_provider": AttributeMetadata( brief="The cloud provider of the invoked function.", type=AttributeType.STRING, keys=("faas.invoked_provider",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="aws", changelog=[ - ChangelogEntry(version="0.16.0", prs=[481], description="Added faas.invoked_provider attribute"), + ChangelogEntry( + version="0.16.0", + prs=[481], + description="Added faas.invoked_provider attribute", + ), ], ), "faas.invoked_region": AttributeMetadata( brief="The cloud region of the invoked function.", type=AttributeType.STRING, keys=("faas.invoked_region",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="eu-central-1", changelog=[ - ChangelogEntry(version="0.16.0", prs=[481], description="Added faas.invoked_region attribute"), + ChangelogEntry( + version="0.16.0", + prs=[481], + description="Added faas.invoked_region attribute", + ), ], ), "faas.name": AttributeMetadata( brief="The name of the serverless function", type=AttributeType.STRING, - keys=("faas.name", "aws.lambda.function_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "faas.name", + "aws.lambda.function_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="my_function", @@ -16382,9 +17869,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A string containing the function invocation time in the ISO 8601 format expressed in UTC.", type=AttributeType.STRING, keys=("faas.time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="2020-01-23T13:47:06Z", @@ -16397,9 +17882,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Type of the trigger which caused this function invocation.", type=AttributeType.STRING, keys=("faas.trigger",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="timer", @@ -16411,10 +17894,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "faas.version": AttributeMetadata( brief="The version of the function that was invoked", type=AttributeType.STRING, - keys=("faas.version", "aws.lambda.function_version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "faas.version", + "aws.lambda.function_version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="$LATEST", @@ -16426,17 +17910,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "fcp": AttributeMetadata( brief="The time it takes for the browser to render the first piece of meaningful content on the screen", type=AttributeType.DOUBLE, - keys=("browser.web_vital.fcp.value", "fcp",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.fcp.value", + "fcp", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=547.6951, deprecation=DeprecationInfo( replacement="browser.web_vital.fcp.value", reason="This attribute is being deprecated in favor of browser.web_vital.fcp.value", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.fcp.value"], changelog=[ @@ -16449,36 +17934,36 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("file.path",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="File paths can contain end-user paths (e.g. from stack traces) that may be sensitive." + reason="File paths can contain end-user paths (e.g. from stack traces) that may be sensitive.", ), is_in_otel=True, visibility=Visibility.PUBLIC, example="/home/user/example.txt", changelog=[ - ChangelogEntry(version="0.17.0", prs=[458], description="Added file.path attribute"), + ChangelogEntry( + version="0.17.0", prs=[458], description="Added file.path attribute" + ), ], ), "file.size": AttributeMetadata( brief="File size in bytes.", type=AttributeType.INTEGER, keys=("file.size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=1024, changelog=[ - ChangelogEntry(version="0.17.0", prs=[458], description="Added file.size attribute"), + ChangelogEntry( + version="0.17.0", prs=[458], description="Added file.size attribute" + ), ], ), "flag.evaluation.": AttributeMetadata( brief="An instance of a feature flag evaluation. The value of this attribute is the boolean representing the evaluation result. The suffix is the name of the feature flag.", type=AttributeType.BOOLEAN, keys=("flag.evaluation.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -16490,17 +17975,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "fp": AttributeMetadata( brief="The time it takes for the browser to render the first pixel on the screen", type=AttributeType.DOUBLE, - keys=("browser.web_vital.fp.value", "fp",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.fp.value", + "fp", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=477.1926, deprecation=DeprecationInfo( replacement="browser.web_vital.fp.value", reason="This attribute is being deprecated in favor of browser.web_vital.fp.value", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.fp.value"], changelog=[ @@ -16510,164 +17996,218 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "frames.delay": AttributeMetadata( 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=AttributeType.INTEGER, - keys=("app.vitals.frames.delay.value", "frames.delay", "mobile.frames_delay",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.delay.value", + "frames.delay", + "mobile.frames_delay", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=5, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.vitals.frames.delay.value"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[313], description="Deprecated in favor of app.vitals.frames.delay.value"), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Deprecated in favor of app.vitals.frames.delay.value", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="mobile.frames_delay", - type="second" - ), + search_alias=SearchAlias(name="mobile.frames_delay", type="second"), ), "frames.frozen": AttributeMetadata( brief="The number of frozen frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=("app.vitals.frames.frozen.count", "frames.frozen", "mobile.frozen_frames", "sentry.frames.frozen",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.frozen.count", + "frames.frozen", + "mobile.frozen_frames", + "sentry.frames.frozen", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=3, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL - ), - aliases=["app.vitals.frames.frozen.count","sentry.frames.frozen"], - changelog=[ - ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.frozen as an alias"), - ChangelogEntry(version="0.5.0", prs=[313], description="Deprecated in favor of app.vitals.frames.frozen.count"), + status=DeprecationStatus.BACKFILL, + ), + aliases=["app.vitals.frames.frozen.count", "sentry.frames.frozen"], + changelog=[ + ChangelogEntry( + version="0.19.0", + prs=[500], + description="Added sentry.frames.frozen as an alias", + ), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Deprecated in favor of app.vitals.frames.frozen.count", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="mobile.frozen_frames" - ), + search_alias=SearchAlias(name="mobile.frozen_frames"), ), "frames.slow": AttributeMetadata( brief="The number of slow frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=("app.vitals.frames.slow.count", "frames.slow", "mobile.slow_frames", "sentry.frames.slow",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.slow.count", + "frames.slow", + "mobile.slow_frames", + "sentry.frames.slow", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL - ), - aliases=["app.vitals.frames.slow.count","sentry.frames.slow"], - changelog=[ - ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.slow as an alias"), - ChangelogEntry(version="0.5.0", prs=[313], description="Deprecated in favor of app.vitals.frames.slow.count"), + status=DeprecationStatus.BACKFILL, + ), + aliases=["app.vitals.frames.slow.count", "sentry.frames.slow"], + changelog=[ + ChangelogEntry( + version="0.19.0", + prs=[500], + description="Added sentry.frames.slow as an alias", + ), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Deprecated in favor of app.vitals.frames.slow.count", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="mobile.slow_frames" - ), + search_alias=SearchAlias(name="mobile.slow_frames"), ), "frames.total": AttributeMetadata( brief="The number of total frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=("app.vitals.frames.total.count", "frames.total", "mobile.total_frames", "sentry.frames.total",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.total.count", + "frames.total", + "mobile.total_frames", + "sentry.frames.total", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=60, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL - ), - aliases=["app.vitals.frames.total.count","sentry.frames.total"], - changelog=[ - ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.total as an alias"), - ChangelogEntry(version="0.5.0", prs=[313], description="Deprecated in favor of app.vitals.frames.total.count"), + status=DeprecationStatus.BACKFILL, + ), + aliases=["app.vitals.frames.total.count", "sentry.frames.total"], + changelog=[ + ChangelogEntry( + version="0.19.0", + prs=[500], + description="Added sentry.frames.total as an alias", + ), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Deprecated in favor of app.vitals.frames.total.count", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="mobile.total_frames" - ), + search_alias=SearchAlias(name="mobile.total_frames"), ), "frames_frozen_rate": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=("app.vitals.frames.frozen.rate", "frames_frozen_rate",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.frozen.rate", + "frames_frozen_rate", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.vitals.frames.frozen.rate"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[493], description="Deprecated in favor of app.vitals.frames.frozen.rate"), - ChangelogEntry(version="0.7.0", prs=[362], description="Added frames_frozen_rate attribute"), + ChangelogEntry( + version="0.19.0", + prs=[493], + description="Deprecated in favor of app.vitals.frames.frozen.rate", + ), + ChangelogEntry( + version="0.7.0", + prs=[362], + description="Added frames_frozen_rate attribute", + ), ], ), "frames_slow_rate": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=("app.vitals.frames.slow.rate", "frames_slow_rate",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.slow.rate", + "frames_slow_rate", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.vitals.frames.slow.rate"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[493], description="Deprecated in favor of app.vitals.frames.slow.rate"), - ChangelogEntry(version="0.7.0", prs=[362], description="Added frames_slow_rate attribute"), + ChangelogEntry( + version="0.19.0", + prs=[493], + description="Deprecated in favor of app.vitals.frames.slow.rate", + ), + ChangelogEntry( + version="0.7.0", + prs=[362], + description="Added frames_slow_rate attribute", + ), ], ), "fs_error": AttributeMetadata( brief="The error message of a file system error.", type=AttributeType.STRING, keys=("fs_error",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="ENOENT: no such file or directory", deprecation=DeprecationInfo( replacement="error.type", - reason="This attribute is not part of the OpenTelemetry specification and error.type fits much better. The value changes from the full error message to the syscall error code, so the old value cannot be copied over." - ), - changelog=[ - ChangelogEntry(version="0.23.0", prs=[638], description="Remove unnecessary transformation and change deprecation status to null."), - ChangelogEntry(version="0.22.0", prs=[589], description="Transform fs_error into error.type"), + reason="This attribute is not part of the OpenTelemetry specification and error.type fits much better. The value changes from the full error message to the syscall error code, so the old value cannot be copied over.", + ), + changelog=[ + ChangelogEntry( + version="0.23.0", + prs=[638], + description="Remove unnecessary transformation and change deprecation status to null.", + ), + ChangelogEntry( + version="0.22.0", + prs=[589], + description="Transform fs_error into error.type", + ), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -16676,135 +18216,151 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The event ID from the legacy GCP Cloud Function context (1st gen)", type=AttributeType.STRING, keys=("gcp.function.context.event_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1234567890", changelog=[ - ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.event_id attribute"), + ChangelogEntry( + version="0.7.0", + prs=[371], + description="Added gcp.function.context.event_id attribute", + ), ], ), "gcp.function.context.event_type": AttributeMetadata( brief="The type of the GCP Cloud Function event", type=AttributeType.STRING, keys=("gcp.function.context.event_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="google.pubsub.topic.publish", changelog=[ - ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.event_type attribute"), + ChangelogEntry( + version="0.7.0", + prs=[371], + description="Added gcp.function.context.event_type attribute", + ), ], ), "gcp.function.context.id": AttributeMetadata( brief="The unique event ID from the GCP CloudEvents context (2nd gen Cloud Functions)", type=AttributeType.STRING, keys=("gcp.function.context.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1234567890", changelog=[ - ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.id attribute"), + ChangelogEntry( + version="0.7.0", + prs=[371], + description="Added gcp.function.context.id attribute", + ), ], ), "gcp.function.context.resource": AttributeMetadata( brief="The resource that triggered the GCP Cloud Function event", type=AttributeType.STRING, keys=("gcp.function.context.resource",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="projects/my-project/topics/my-topic", changelog=[ - ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.resource attribute"), + ChangelogEntry( + version="0.7.0", + prs=[371], + description="Added gcp.function.context.resource attribute", + ), ], ), "gcp.function.context.source": AttributeMetadata( brief="The source of the GCP Cloud Function event", type=AttributeType.STRING, keys=("gcp.function.context.source",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="//pubsub.googleapis.com/projects/my-project/topics/my-topic", changelog=[ - ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.source attribute"), + ChangelogEntry( + version="0.7.0", + prs=[371], + description="Added gcp.function.context.source attribute", + ), ], ), "gcp.function.context.specversion": AttributeMetadata( brief="The CloudEvents specification version of the GCP Cloud Function event", type=AttributeType.STRING, keys=("gcp.function.context.specversion",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1.0", changelog=[ - ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.specversion attribute"), + ChangelogEntry( + version="0.7.0", + prs=[371], + description="Added gcp.function.context.specversion attribute", + ), ], ), "gcp.function.context.time": AttributeMetadata( brief="The timestamp of the GCP Cloud Function event", type=AttributeType.STRING, keys=("gcp.function.context.time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="2024-01-01T00:00:00.000Z", changelog=[ - ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.time attribute"), + ChangelogEntry( + version="0.7.0", + prs=[371], + description="Added gcp.function.context.time attribute", + ), ], ), "gcp.function.context.timestamp": AttributeMetadata( brief="The legacy timestamp of the GCP Cloud Function event", type=AttributeType.STRING, keys=("gcp.function.context.timestamp",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="2024-01-01T00:00:00.000Z", changelog=[ - ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.timestamp attribute"), + ChangelogEntry( + version="0.7.0", + prs=[371], + description="Added gcp.function.context.timestamp attribute", + ), ], ), "gcp.function.context.type": AttributeMetadata( brief="The type of the GCP Cloud Function event context", type=AttributeType.STRING, keys=("gcp.function.context.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="cloud_functions.context", changelog=[ - ChangelogEntry(version="0.7.0", prs=[371], description="Added gcp.function.context.type attribute"), + ChangelogEntry( + version="0.7.0", + prs=[371], + description="Added gcp.function.context.type attribute", + ), ], ), "gcp.project.id": AttributeMetadata( brief="The ID of the project in GCP that this resource is associated with", type=AttributeType.STRING, keys=("gcp.project.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="my-project-123", @@ -16815,30 +18371,31 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gcp_region": AttributeMetadata( brief="The geographical region the GCP resource is running", type=AttributeType.STRING, - keys=("cloud.region", "aws_region", "gcp_region",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "cloud.region", + "aws_region", + "gcp_region", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="us-east-1", examples=["us-east-1"], deprecation=DeprecationInfo( - replacement="cloud.region", - status=DeprecationStatus.BACKFILL + replacement="cloud.region", status=DeprecationStatus.BACKFILL ), - aliases=["cloud.region","aws_region"], + aliases=["cloud.region", "aws_region"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[535], description="Added gcp_region attribute"), + ChangelogEntry( + version="0.19.0", prs=[535], description="Added gcp_region attribute" + ), ], ), "gen_ai.agent.name": AttributeMetadata( brief="The name of the agent being used.", type=AttributeType.STRING, keys=("gen_ai.agent.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="ResearchAssistant", @@ -16850,37 +18407,39 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The fraction of the model context window utilized by this generation.", type=AttributeType.DOUBLE, keys=("gen_ai.context.utilization",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.75, changelog=[ - ChangelogEntry(version="0.5.0", prs=[315], description="Added gen_ai.context.utilization attribute"), + ChangelogEntry( + version="0.5.0", + prs=[315], + description="Added gen_ai.context.utilization attribute", + ), ], ), "gen_ai.context.window_size": AttributeMetadata( brief="The maximum context window size supported by the model for this generation.", type=AttributeType.INTEGER, keys=("gen_ai.context.window_size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=128000, changelog=[ - ChangelogEntry(version="0.5.0", prs=[315], description="Added gen_ai.context.window_size attribute"), + ChangelogEntry( + version="0.5.0", + prs=[315], + description="Added gen_ai.context.window_size attribute", + ), ], ), "gen_ai.conversation.id": AttributeMetadata( brief="The unique identifier for a conversation (session, thread), used to store and correlate messages within this conversation.", type=AttributeType.STRING, keys=("gen_ai.conversation.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="conv_5j66UpCpwteGg4YSxUnt7lPY", @@ -16892,107 +18451,134 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The cost of input tokens written to cache in USD.", type=AttributeType.DOUBLE, keys=("gen_ai.cost.cache_creation.input_tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=12.34, changelog=[ - ChangelogEntry(version="0.16.0", description="Added gen_ai.cost.cache_creation.input_tokens attribute"), + ChangelogEntry( + version="0.16.0", + description="Added gen_ai.cost.cache_creation.input_tokens attribute", + ), + ], + 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.", ], - 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."], ), "gen_ai.cost.cache_read.input_tokens": AttributeMetadata( brief="The cost of cached input tokens in USD.", type=AttributeType.DOUBLE, keys=("gen_ai.cost.cache_read.input_tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=12.34, changelog=[ - ChangelogEntry(version="0.16.0", description="Added gen_ai.cost.cache_read.input_tokens attribute"), + ChangelogEntry( + version="0.16.0", + description="Added gen_ai.cost.cache_read.input_tokens attribute", + ), + ], + 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.", ], - 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."], ), "gen_ai.cost.input_tokens": AttributeMetadata( brief="The total cost of all input tokens in USD (includes cached and cache creation tokens).", type=AttributeType.DOUBLE, keys=("gen_ai.cost.input_tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=123.45, changelog=[ - ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), + ChangelogEntry( + version="0.9.0", prs=[397], description="Add additional_context" + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[112]), ], - 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.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.input_tokens.","This is the total cost of all input tokens, including cached and cache creation tokens at their respective rates. For the cached portion, see gen_ai.cost.cache_read.input_tokens. For the cache creation portion, see gen_ai.cost.cache_creation.input_tokens."], + 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.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.input_tokens.", + "This is the total cost of all input tokens, including cached and cache creation tokens at their respective rates. For the cached portion, see gen_ai.cost.cache_read.input_tokens. For the cache creation portion, see gen_ai.cost.cache_creation.input_tokens.", + ], ), "gen_ai.cost.output_tokens": AttributeMetadata( brief="The total cost of all output tokens in USD (includes reasoning tokens).", type=AttributeType.DOUBLE, keys=("gen_ai.cost.output_tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=123.45, changelog=[ - ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), + ChangelogEntry( + version="0.9.0", prs=[397], description="Add additional_context" + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[112]), ], - 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.output_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.output_tokens.","This is the total cost of all output tokens, including reasoning tokens at their respective rate. For the reasoning portion, see gen_ai.cost.reasoning.output_tokens."], + 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.output_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.output_tokens.", + "This is the total cost of all output tokens, including reasoning tokens at their respective rate. For the reasoning portion, see gen_ai.cost.reasoning.output_tokens.", + ], ), "gen_ai.cost.reasoning.output_tokens": AttributeMetadata( brief="The cost of reasoning output tokens in USD.", type=AttributeType.DOUBLE, keys=("gen_ai.cost.reasoning.output_tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=12.34, changelog=[ - ChangelogEntry(version="0.16.0", description="Added gen_ai.cost.reasoning.output_tokens attribute"), + ChangelogEntry( + version="0.16.0", + description="Added gen_ai.cost.reasoning.output_tokens attribute", + ), + ], + 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.reasoning.output_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.reasoning.output_tokens.", + "This is a subset of gen_ai.cost.output_tokens, not an independent cost. Do not sum this with gen_ai.cost.output_tokens — it is already included.", ], - 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.reasoning.output_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.reasoning.output_tokens.","This is a subset of gen_ai.cost.output_tokens, not an independent cost. Do not sum this with gen_ai.cost.output_tokens — it is already included."], ), "gen_ai.cost.total_tokens": AttributeMetadata( brief="The total cost for the tokens used.", type=AttributeType.DOUBLE, - keys=("gen_ai.cost.total_tokens", "ai.total_cost",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.cost.total_tokens", + "ai.total_cost", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=12.34, aliases=["ai.total_cost"], changelog=[ - ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), + ChangelogEntry( + version="0.9.0", prs=[397], description="Add additional_context" + ), ChangelogEntry(version="0.5.0", prs=[264]), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[126]), ], - 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.total_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.total_tokens."], + 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.total_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.total_tokens.", + ], ), "gen_ai.embeddings.input": AttributeMetadata( brief="The input to the embeddings model.", type=AttributeType.STRING, keys=("gen_ai.embeddings.input",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="What's the weather in Paris?", @@ -17004,30 +18590,43 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Framework-specific tracing label for the execution of a function or other unit of execution in a generative AI system.", type=AttributeType.STRING, keys=("gen_ai.function_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="my-awesome-function", changelog=[ - ChangelogEntry(version="0.5.0", prs=[308], description="Added gen_ai.function_id attribute"), + ChangelogEntry( + version="0.5.0", + prs=[308], + description="Added gen_ai.function_id attribute", + ), ], ), "gen_ai.input.messages": AttributeMetadata( - brief="The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `\"user\"`, `\"assistant\"`, `\"tool\"`, or `\"system\"`. For messages of the role `\"tool\"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: \"text\", text:\"...\"}`. For `gen_ai.decide` operations, the array holds one object `{type: \"evaluation\", state: ..., questions: {...}}` with the evaluated state and the questions keyed by name, as the caller passed them.", + brief='The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `"user"`, `"assistant"`, `"tool"`, or `"system"`. For messages of the role `"tool"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: "text", text:"..."}`. For `gen_ai.decide` operations, the array holds one object `{type: "evaluation", state: ..., questions: {...}}` with the evaluated state and the questions keyed by name, as the caller passed them.', type=AttributeType.STRING, - keys=("gen_ai.input.messages", "ai.input_messages", "ai.prompt", "ai.prompt.messages", "ai.texts", "gen_ai.prompt",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.input.messages", + "ai.input_messages", + "ai.prompt", + "ai.prompt.messages", + "ai.texts", + "gen_ai.prompt", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example="[{\"role\": \"user\", \"parts\": [{\"type\": \"text\", \"content\": \"Weather in Paris?\"}]}, {\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"id\": \"call_VSPygqKTWdrhaFErNvMV18Yl\", \"name\": \"get_weather\", \"arguments\": {\"location\": \"Paris\"}}]}, {\"role\": \"tool\", \"parts\": [{\"type\": \"tool_call_response\", \"id\": \"call_VSPygqKTWdrhaFErNvMV18Yl\", \"result\": \"rainy, 57°F\"}]}]", - aliases=["ai.texts","ai.prompt.messages","gen_ai.prompt","ai.prompt"], - changelog=[ - ChangelogEntry(version="0.26.0", prs=[650], description="Describe the evaluation message shape for gen_ai.evaluate"), - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.prompt as an alias"), + example='[{"role": "user", "parts": [{"type": "text", "content": "Weather in Paris?"}]}, {"role": "assistant", "parts": [{"type": "tool_call", "id": "call_VSPygqKTWdrhaFErNvMV18Yl", "name": "get_weather", "arguments": {"location": "Paris"}}]}, {"role": "tool", "parts": [{"type": "tool_call_response", "id": "call_VSPygqKTWdrhaFErNvMV18Yl", "result": "rainy, 57°F"}]}]', + aliases=["ai.texts", "ai.prompt.messages", "gen_ai.prompt", "ai.prompt"], + changelog=[ + ChangelogEntry( + version="0.26.0", + prs=[650], + description="Describe the evaluation message shape for gen_ai.evaluate", + ), + ChangelogEntry( + version="0.21.0", prs=[583], description="Added ai.prompt as an alias" + ), ChangelogEntry(version="0.5.0", prs=[264]), ChangelogEntry(version="0.4.0", prs=[221]), ], @@ -17036,89 +18635,103 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The search query used to retrieve memories. Only applicable to 'search_memory'. Opt-in: instrumentations SHOULD NOT capture this by default and SHOULD gate it behind explicit user opt-in, as it may contain sensitive information.", type=AttributeType.STRING, keys=("gen_ai.memory.query.text",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="user dietary preferences", examples=["user dietary preferences", "past flight bookings"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[653], description="Added gen_ai.memory.query.text attribute"), + ChangelogEntry( + version="0.27.0", + prs=[653], + description="Added gen_ai.memory.query.text attribute", + ), ], ), "gen_ai.memory.record.count": AttributeMetadata( brief="The number of memory records relevant to the operation. For 'search_memory' this is the number returned; for 'create_memory', 'update_memory', 'upsert_memory' and 'delete_memory' it is the number the operation attempted to create, modify, create-or-update, or delete respectively.", type=AttributeType.INTEGER, keys=("gen_ai.memory.record.count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=3, examples=[3], changelog=[ - ChangelogEntry(version="0.27.0", prs=[653], description="Added gen_ai.memory.record.count attribute"), + ChangelogEntry( + version="0.27.0", + prs=[653], + description="Added gen_ai.memory.record.count attribute", + ), ], ), "gen_ai.memory.record.id": AttributeMetadata( brief="The unique identifier of the memory record. Set when the operation applies to a specific memory record. For 'delete_memory', its absence may indicate the operation intends to delete all memory records in the store.", type=AttributeType.STRING, keys=("gen_ai.memory.record.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="mem_5j66UpCpwteGg4YSxUnt7lPY", examples=["mem_5j66UpCpwteGg4YSxUnt7lPY"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[653], description="Added gen_ai.memory.record.id attribute"), + ChangelogEntry( + version="0.27.0", + prs=[653], + description="Added gen_ai.memory.record.id attribute", + ), ], ), "gen_ai.memory.records": AttributeMetadata( brief="The memory records stored or retrieved in a memory operation. Stringified JSON array; each element follows the OTel MemoryRecord schema: {content (required), id, metadata, score}. Opt-in: instrumentations SHOULD NOT capture this by default and SHOULD gate it behind explicit user opt-in, as it may contain sensitive information including user/PII data.", type=AttributeType.STRING, keys=("gen_ai.memory.records",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example="[{\"content\": \"User prefers dark mode\", \"id\": \"mem_123\", \"score\": 0.95}, {\"content\": {\"preference\": \"vegetarian meals\", \"confidence\": 0.9}, \"metadata\": {\"source\": \"profile\"}}]", - examples=["[{\"content\": \"User prefers dark mode\", \"id\": \"mem_123\", \"score\": 0.95}, {\"content\": {\"preference\": \"vegetarian meals\", \"confidence\": 0.9}, \"metadata\": {\"source\": \"profile\"}}]"], + example='[{"content": "User prefers dark mode", "id": "mem_123", "score": 0.95}, {"content": {"preference": "vegetarian meals", "confidence": 0.9}, "metadata": {"source": "profile"}}]', + examples=[ + '[{"content": "User prefers dark mode", "id": "mem_123", "score": 0.95}, {"content": {"preference": "vegetarian meals", "confidence": 0.9}, "metadata": {"source": "profile"}}]' + ], changelog=[ - ChangelogEntry(version="0.27.0", prs=[653], description="Added gen_ai.memory.records attribute"), + ChangelogEntry( + version="0.27.0", + prs=[653], + description="Added gen_ai.memory.records attribute", + ), ], ), "gen_ai.memory.store.id": AttributeMetadata( brief="The unique identifier of the memory store the operation targets. What this maps to is implementation-specific (e.g. a collection, namespace, or vector index) and SHOULD be documented per integration.", type=AttributeType.STRING, keys=("gen_ai.memory.store.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="ms_abc123", examples=["ms_abc123", "user-preferences-store", "seer-knowledge"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[653], description="Added gen_ai.memory.store.id attribute"), + ChangelogEntry( + version="0.27.0", + prs=[653], + description="Added gen_ai.memory.store.id attribute", + ), ], ), "gen_ai.operation.name": AttributeMetadata( brief="The name of the operation being performed.", type=AttributeType.STRING, keys=("gen_ai.operation.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="chat", changelog=[ - ChangelogEntry(version="0.27.0", prs=[653, 680], description="Added memory operation values, 'evaluate', and 'decide' to the well-known values; deprecated 'evaluate' in favor of 'decide'"), + ChangelogEntry( + version="0.27.0", + prs=[653, 680], + description="Added memory operation values, 'evaluate', and 'decide' to the well-known values; deprecated 'evaluate' in favor of 'decide'", + ), ChangelogEntry(version="0.4.0", prs=[225]), ChangelogEntry(version="0.1.0", prs=[62, 127]), ], @@ -17127,68 +18740,94 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The type of AI operation. Added during ingestion based on span.op and gen_ai.operation.type. Used to filter and aggregate data in the UI", type=AttributeType.STRING, keys=("gen_ai.operation.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="tool", changelog=[ - ChangelogEntry(version="0.27.0", prs=[653], description="Added 'memory' value"), + ChangelogEntry( + version="0.27.0", prs=[653], description="Added 'memory' value" + ), ChangelogEntry(version="0.4.0", prs=[257]), ChangelogEntry(version="0.1.0", prs=[113, 127]), ], ), "gen_ai.output.messages": AttributeMetadata( - brief="The model's response messages. It has to be a stringified version of an array of message objects, which can include text responses and tool calls. For `gen_ai.decide` operations, the array holds one object `{type: \"evaluation\", answers: {...}}` with the answers keyed by question name, as the provider returned them.", + brief='The model\'s response messages. It has to be a stringified version of an array of message objects, which can include text responses and tool calls. For `gen_ai.decide` operations, the array holds one object `{type: "evaluation", answers: {...}}` with the answers keyed by question name, as the provider returned them.', type=AttributeType.STRING, - keys=("gen_ai.output.messages", "ai.response.text", "ai.response.toolCalls", "ai.responses", "ai.tool_calls",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.output.messages", + "ai.response.text", + "ai.response.toolCalls", + "ai.responses", + "ai.tool_calls", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example="[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"The weather in Paris is currently rainy with a temperature of 57°F.\"}], \"finish_reason\": \"stop\"}]", - aliases=["ai.response.toolCalls","ai.response.text"], + example='[{"role": "assistant", "parts": [{"type": "text", "content": "The weather in Paris is currently rainy with a temperature of 57°F."}], "finish_reason": "stop"}]', + aliases=["ai.response.toolCalls", "ai.response.text"], changelog=[ - ChangelogEntry(version="0.26.0", prs=[650], description="Describe the evaluation message shape for gen_ai.evaluate"), + ChangelogEntry( + version="0.26.0", + prs=[650], + description="Describe the evaluation message shape for gen_ai.evaluate", + ), ChangelogEntry(version="0.4.0", prs=[221]), ], ), "gen_ai.pipeline.name": AttributeMetadata( brief="Name of the AI pipeline or chain being executed.", type=AttributeType.STRING, - keys=("gen_ai.pipeline.name", "ai.pipeline.name", "langchain.chain.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.pipeline.name", + "ai.pipeline.name", + "langchain.chain.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Autofix Pipeline", - aliases=["ai.pipeline.name","langchain.chain.name"], + aliases=["ai.pipeline.name", "langchain.chain.name"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[599], description="Added langchain.chain.name as an alias"), + ChangelogEntry( + version="0.22.0", + prs=[599], + description="Added langchain.chain.name as an alias", + ), ChangelogEntry(version="0.1.0", prs=[76, 127]), ], ), "gen_ai.prompt": AttributeMetadata( brief="The input messages sent to the model", type=AttributeType.STRING, - keys=("gen_ai.input.messages", "ai.input_messages", "ai.prompt", "ai.prompt.messages", "ai.texts", "gen_ai.prompt",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.input.messages", + "ai.input_messages", + "ai.prompt", + "ai.prompt.messages", + "ai.texts", + "gen_ai.prompt", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example="[{\"role\": \"user\", \"message\": \"hello\"}]", + example='[{"role": "user", "message": "hello"}]', deprecation=DeprecationInfo( replacement="gen_ai.input.messages", reason="Deprecated from OTEL, use gen_ai.input.messages with the new format instead.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["gen_ai.input.messages","ai.texts","ai.prompt.messages","ai.prompt"], + aliases=[ + "gen_ai.input.messages", + "ai.texts", + "ai.prompt.messages", + "ai.prompt", + ], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.prompt as an alias"), + ChangelogEntry( + version="0.21.0", prs=[583], description="Added ai.prompt as an alias" + ), ChangelogEntry(version="0.1.0", prs=[74, 108, 119]), ChangelogEntry(version="0.0.0"), ], @@ -17196,17 +18835,24 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.prompt.name": AttributeMetadata( brief="The name of the prompt that uniquely identifies it.", type=AttributeType.STRING, - keys=("gen_ai.prompt.name", "mcp.prompt.name",), + keys=( + "gen_ai.prompt.name", + "mcp.prompt.name", + ), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Prompt names may reveal user behavior patterns or sensitive operations" + reason="Prompt names may reveal user behavior patterns or sensitive operations", ), is_in_otel=True, visibility=Visibility.PUBLIC, example="summarize_text", aliases=["mcp.prompt.name"], changelog=[ - ChangelogEntry(version="0.12.0", prs=[420], description="Added gen_ai.prompt.name attribute"), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Added gen_ai.prompt.name attribute", + ), ], ), "gen_ai.prompt.variable.": AttributeMetadata( @@ -17215,29 +18861,40 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("gen_ai.prompt.variable.",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Prompt variables contain user input and may include sensitive information" + reason="Prompt variables contain user input and may include sensitive information", ), is_in_otel=True, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="gen_ai.prompt.variable.language='French'", - examples=["gen_ai.prompt.variable.language='French'", "gen_ai.prompt.variable.topic='weather'"], + examples=[ + "gen_ai.prompt.variable.language='French'", + "gen_ai.prompt.variable.topic='weather'", + ], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Added the OpenTelemetry convention for prompt variables"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Added the OpenTelemetry convention for prompt variables", + ), + ], + additional_context=[ + "Capture only when the user explicitly opts in to recording prompt inputs. In MCP, these values are the arguments supplied in prompts/get requests." ], - additional_context=["Capture only when the user explicitly opts in to recording prompt inputs. In MCP, these values are the arguments supplied in prompts/get requests."], ), "gen_ai.provider.name": AttributeMetadata( brief="The Generative AI provider as identified by the client or server instrumentation.", type=AttributeType.STRING, - keys=("gen_ai.provider.name", "ai.model.provider", "gen_ai.system",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.provider.name", + "ai.model.provider", + "gen_ai.system", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="openai", - aliases=["ai.model.provider","gen_ai.system"], + aliases=["ai.model.provider", "gen_ai.system"], changelog=[ ChangelogEntry(version="0.4.0", prs=[253]), ], @@ -17245,20 +18902,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.request.available_tools": AttributeMetadata( brief="The available tools for the model. It has to be a stringified version of an array of objects.", type=AttributeType.STRING, - keys=("gen_ai.tool.definitions", "ai.prompt.tools", "ai.tools", "gen_ai.request.available_tools",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.tool.definitions", + "ai.prompt.tools", + "ai.tools", + "gen_ai.request.available_tools", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="[{\"name\": \"get_weather\", \"description\": \"Get the weather for a given location\"}, {\"name\": \"get_news\", \"description\": \"Get the news for a given topic\"}]", + example='[{"name": "get_weather", "description": "Get the weather for a given location"}, {"name": "get_news", "description": "Get the news for a given topic"}]', deprecation=DeprecationInfo( - replacement="gen_ai.tool.definitions", - status=DeprecationStatus.NORMALIZE + replacement="gen_ai.tool.definitions", status=DeprecationStatus.NORMALIZE ), aliases=["gen_ai.tool.definitions"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[595], description="Added gen_ai.tool.definitions as an alias"), + ChangelogEntry( + version="0.22.0", + prs=[595], + description="Added gen_ai.tool.definitions as an alias", + ), ChangelogEntry(version="0.4.0", prs=[221]), ChangelogEntry(version="0.1.0", prs=[63, 127]), ], @@ -17266,10 +18929,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.request.frequency_penalty": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=("gen_ai.request.frequency_penalty", "ai.frequency_penalty",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.frequency_penalty", + "ai.frequency_penalty", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=0.5, @@ -17283,9 +18947,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The maximum number of tokens to generate in the response.", type=AttributeType.INTEGER, keys=("gen_ai.request.max_tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=2048, @@ -17295,19 +18957,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ], ), "gen_ai.request.messages": AttributeMetadata( - brief="The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `\"user\"`, `\"assistant\"`, `\"tool\"`, or `\"system\"`. For messages of the role `\"tool\"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: \"text\", text:\"...\"}`.", + brief='The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `"user"`, `"assistant"`, `"tool"`, or `"system"`. For messages of the role `"tool"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: "text", text:"..."}`.', type=AttributeType.STRING, keys=("gen_ai.request.messages",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="[{\"role\": \"system\", \"content\": \"Generate a random number.\"}, {\"role\": \"user\", \"content\": [{\"text\": \"Generate a random number between 0 and 10.\", \"type\": \"text\"}]}, {\"role\": \"tool\", \"content\": {\"toolCallId\": \"1\", \"toolName\": \"Weather\", \"output\": \"rainy\"}}]", + example='[{"role": "system", "content": "Generate a random number."}, {"role": "user", "content": [{"text": "Generate a random number between 0 and 10.", "type": "text"}]}, {"role": "tool", "content": {"toolCallId": "1", "toolName": "Weather", "output": "rainy"}}]', deprecation=DeprecationInfo( replacement="gen_ai.input.messages", status=DeprecationStatus.TRANSFORM, - transformation="gen_ai_request_messages_to_input_messages" + transformation="gen_ai_request_messages_to_input_messages", ), aliases=["ai.input_messages"], changelog=[ @@ -17318,26 +18978,31 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.request.model": AttributeMetadata( brief="The model identifier being used for the request.", type=AttributeType.STRING, - keys=("gen_ai.request.model", "ai.model.id", "ai.model_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.model", + "ai.model.id", + "ai.model_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="gpt-4-turbo-preview", - aliases=["ai.model_id","ai.model.id"], + aliases=["ai.model_id", "ai.model.id"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.model.id as an alias"), + ChangelogEntry( + version="0.21.0", prs=[583], description="Added ai.model.id as an alias" + ), ChangelogEntry(version="0.1.0", prs=[62, 127]), ], ), "gen_ai.request.presence_penalty": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=("gen_ai.request.presence_penalty", "ai.presence_penalty",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.presence_penalty", + "ai.presence_penalty", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=0.5, @@ -17351,41 +19016,46 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The reasoning or thinking effort level requested for a GenAI model.", type=AttributeType.STRING, keys=("gen_ai.request.reasoning.level",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="high", changelog=[ - ChangelogEntry(version="0.17.0", prs=[502], description="Added gen_ai.request.reasoning.level attribute"), + ChangelogEntry( + version="0.17.0", + prs=[502], + description="Added gen_ai.request.reasoning.level attribute", + ), ], ), "gen_ai.request.schema": AttributeMetadata( brief="The stringified JSON schema the model output must conform to.", type=AttributeType.STRING, keys=("gen_ai.request.schema",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}}}", - examples=["{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}}}"], + example='{"type":"object","properties":{"city":{"type":"string"}}}', + examples=['{"type":"object","properties":{"city":{"type":"string"}}}'], deprecation=DeprecationInfo( reason="This attribute is deprecated. The Sentry conventions have no replacement for the requested output schema." ), changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added gen_ai.request.schema attribute"), + ChangelogEntry( + version="0.21.0", + prs=[583], + description="Added gen_ai.request.schema attribute", + ), ], ), "gen_ai.request.seed": AttributeMetadata( brief="The seed, ideally models given the same seed and same other parameters will produce the exact same output.", type=AttributeType.STRING, - keys=("gen_ai.request.seed", "ai.seed",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.seed", + "ai.seed", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="1234567890", @@ -17398,23 +19068,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="List of sequences that the model will use to stop generating further tokens.", type=AttributeType.STRING_ARRAY, keys=("gen_ai.request.stop_sequences",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=["forest", "lived"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[482], description="Added gen_ai.request.stop_sequences attribute"), + ChangelogEntry( + version="0.16.0", + prs=[482], + description="Added gen_ai.request.stop_sequences attribute", + ), ], ), "gen_ai.request.temperature": AttributeMetadata( brief="For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.", type=AttributeType.DOUBLE, - keys=("gen_ai.request.temperature", "ai.temperature",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.temperature", + "ai.temperature", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=0.1, @@ -17427,10 +19100,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.request.top_k": AttributeMetadata( 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=AttributeType.INTEGER, - keys=("gen_ai.request.top_k", "ai.top_k",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.top_k", + "ai.top_k", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=35, @@ -17443,10 +19117,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.request.top_p": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=("gen_ai.request.top_p", "ai.top_p",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.request.top_p", + "ai.top_p", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=0.7, @@ -17459,33 +19134,41 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.response.finish_reason": AttributeMetadata( brief="The reason why the model stopped generating (singular form).", type=AttributeType.STRING, - keys=("gen_ai.response.finish_reasons", "ai.finish_reason", "gen_ai.response.finish_reason",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.response.finish_reasons", + "ai.finish_reason", + "gen_ai.response.finish_reason", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="COMPLETE", deprecation=DeprecationInfo( replacement="gen_ai.response.finish_reasons", - status=DeprecationStatus.NORMALIZE + status=DeprecationStatus.NORMALIZE, ), aliases=["gen_ai.response.finish_reasons"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[498], description="Added gen_ai.response.finish_reason attribute"), + ChangelogEntry( + version="0.19.0", + prs=[498], + description="Added gen_ai.response.finish_reason attribute", + ), ], ), "gen_ai.response.finish_reasons": AttributeMetadata( brief="The reason why the model stopped generating.", type=AttributeType.STRING, - keys=("gen_ai.response.finish_reasons", "ai.finish_reason", "gen_ai.response.finish_reason",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.response.finish_reasons", + "ai.finish_reason", + "gen_ai.response.finish_reason", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="COMPLETE", - aliases=["ai.finish_reason","gen_ai.response.finish_reason"], + aliases=["ai.finish_reason", "gen_ai.response.finish_reason"], changelog=[ ChangelogEntry(version="0.1.0", prs=[57, 127]), ], @@ -17493,32 +19176,43 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.response.id": AttributeMetadata( brief="Unique identifier for the completion.", type=AttributeType.STRING, - keys=("gen_ai.response.id", "ai.generation_id", "ai.response.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.response.id", + "ai.generation_id", + "ai.response.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="gen_123abc", - aliases=["ai.generation_id","ai.response.id"], + aliases=["ai.generation_id", "ai.response.id"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.id as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[583], + description="Added ai.response.id as an alias", + ), ChangelogEntry(version="0.1.0", prs=[57, 127]), ], ), "gen_ai.response.model": AttributeMetadata( brief="The vendor-specific ID of the model used.", type=AttributeType.STRING, - keys=("gen_ai.response.model", "ai.response.model",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.response.model", + "ai.response.model", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="gpt-4", aliases=["ai.response.model"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.response.model as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[583], + description="Added ai.response.model as an alias", + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -17527,9 +19221,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The type of the object returned by the model.", type=AttributeType.STRING, keys=("gen_ai.response.object",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="chat.completion", @@ -17538,16 +19230,21 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is deprecated. The Sentry conventions have no replacement for the raw response object type." ), changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added gen_ai.response.object attribute"), + ChangelogEntry( + version="0.21.0", + prs=[583], + description="Added gen_ai.response.object attribute", + ), ], ), "gen_ai.response.streaming": AttributeMetadata( brief="Whether or not the AI model call's response was streamed back asynchronously", type=AttributeType.BOOLEAN, - keys=("gen_ai.response.streaming", "ai.streaming",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.response.streaming", + "ai.streaming", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -17560,16 +19257,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The model's response text messages. It has to be a stringified version of an array of response text messages.", type=AttributeType.STRING, keys=("gen_ai.response.text",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="[\"The weather in Paris is rainy and overcast, with temperatures around 57°F\", \"The weather in London is sunny and warm, with temperatures around 65°F\"]", + example='["The weather in Paris is rainy and overcast, with temperatures around 57°F", "The weather in London is sunny and warm, with temperatures around 65°F"]', deprecation=DeprecationInfo( replacement="gen_ai.output.messages", status=DeprecationStatus.TRANSFORM, - transformation="gen_ai_response_to_output_messages" + transformation="gen_ai_response_to_output_messages", ), changelog=[ ChangelogEntry(version="0.4.0", prs=[221]), @@ -17579,35 +19274,45 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.response.time_to_first_chunk": AttributeMetadata( brief="Time in seconds when the first response content chunk arrived in streaming responses.", type=AttributeType.DOUBLE, - keys=("gen_ai.response.time_to_first_chunk", "gen_ai.response.time_to_first_token",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.response.time_to_first_chunk", + "gen_ai.response.time_to_first_token", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=0.6853435, aliases=["gen_ai.response.time_to_first_token"], changelog=[ - ChangelogEntry(version="0.11.0", prs=[418], description="Added gen_ai.response.time_to_first_chunk attribute"), + ChangelogEntry( + version="0.11.0", + prs=[418], + description="Added gen_ai.response.time_to_first_chunk attribute", + ), ], ), "gen_ai.response.time_to_first_token": AttributeMetadata( brief="Time in seconds when the first response content chunk arrived in streaming responses.", type=AttributeType.DOUBLE, - keys=("gen_ai.response.time_to_first_chunk", "gen_ai.response.time_to_first_token",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.response.time_to_first_chunk", + "gen_ai.response.time_to_first_token", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.6853435, deprecation=DeprecationInfo( replacement="gen_ai.response.time_to_first_chunk", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["gen_ai.response.time_to_first_chunk"], changelog=[ - ChangelogEntry(version="0.11.0", prs=[418], description="Deprecate in favor of gen_ai.response.time_to_first_chunk"), + ChangelogEntry( + version="0.11.0", + prs=[418], + description="Deprecate in favor of gen_ai.response.time_to_first_chunk", + ), ChangelogEntry(version="0.4.0", prs=[227]), ], ), @@ -17615,9 +19320,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The total output tokens per seconds throughput", type=AttributeType.DOUBLE, keys=("gen_ai.response.tokens_per_second",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=12345.67, @@ -17630,16 +19333,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The tool calls in the model's response. It has to be a stringified version of an array of objects.", type=AttributeType.STRING, keys=("gen_ai.response.tool_calls",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="[{\"name\": \"get_weather\", \"arguments\": {\"location\": \"Paris\"}}]", + example='[{"name": "get_weather", "arguments": {"location": "Paris"}}]', deprecation=DeprecationInfo( replacement="gen_ai.output.messages", status=DeprecationStatus.TRANSFORM, - transformation="gen_ai_response_to_output_messages" + transformation="gen_ai_response_to_output_messages", ), changelog=[ ChangelogEntry(version="0.4.0", prs=[221]), @@ -17649,18 +19350,19 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.system": AttributeMetadata( brief="The provider of the model.", type=AttributeType.STRING, - keys=("gen_ai.provider.name", "ai.model.provider", "gen_ai.system",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.provider.name", + "ai.model.provider", + "gen_ai.system", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="openai", deprecation=DeprecationInfo( - replacement="gen_ai.provider.name", - status=DeprecationStatus.NORMALIZE + replacement="gen_ai.provider.name", status=DeprecationStatus.NORMALIZE ), - aliases=["ai.model.provider","gen_ai.provider.name"], + aliases=["ai.model.provider", "gen_ai.provider.name"], changelog=[ ChangelogEntry(version="0.4.0", prs=[253]), ChangelogEntry(version="0.1.0", prs=[57, 127]), @@ -17669,16 +19371,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.system.message": AttributeMetadata( brief="The system instructions passed to the model.", type=AttributeType.STRING, - keys=("gen_ai.system_instructions", "ai.preamble", "gen_ai.system.message",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "gen_ai.system_instructions", + "ai.preamble", + "gen_ai.system.message", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="You are a helpful assistant", deprecation=DeprecationInfo( - replacement="gen_ai.system_instructions", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.system_instructions", status=DeprecationStatus.BACKFILL ), changelog=[ ChangelogEntry(version="0.4.0", prs=[221]), @@ -17688,10 +19391,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.system_instructions": AttributeMetadata( brief="The system instructions passed to the model.", type=AttributeType.STRING, - keys=("gen_ai.system_instructions", "ai.preamble", "gen_ai.system.message",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.system_instructions", + "ai.preamble", + "gen_ai.system.message", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="You are a helpful assistant", @@ -17704,14 +19409,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.call.arguments": AttributeMetadata( brief="The arguments of the tool call. It has to be a stringified version of the arguments to the tool.", type=AttributeType.STRING, - keys=("gen_ai.tool.call.arguments", "ai.toolCall.args", "gen_ai.tool.input",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.tool.call.arguments", + "ai.toolCall.args", + "gen_ai.tool.input", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example="{\"location\": \"Paris\"}", - aliases=["gen_ai.tool.input","ai.toolCall.args"], + example='{"location": "Paris"}', + aliases=["gen_ai.tool.input", "ai.toolCall.args"], changelog=[ ChangelogEntry(version="0.5.0", prs=[265]), ChangelogEntry(version="0.4.0", prs=[221]), @@ -17720,14 +19427,25 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.call.result": AttributeMetadata( brief="The result of the tool call. It has to be a stringified version of the result of the tool.", type=AttributeType.STRING, - keys=("gen_ai.tool.call.result", "ai.toolCall.result", "anthropic.tool_result.content", "gen_ai.tool.message", "gen_ai.tool.output", "mcp.tool.result.content",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.tool.call.result", + "ai.toolCall.result", + "anthropic.tool_result.content", + "gen_ai.tool.message", + "gen_ai.tool.output", + "mcp.tool.result.content", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="rainy, 57°F", - aliases=["gen_ai.tool.output","gen_ai.tool.message","mcp.tool.result.content","ai.toolCall.result","anthropic.tool_result.content"], + aliases=[ + "gen_ai.tool.output", + "gen_ai.tool.message", + "mcp.tool.result.content", + "ai.toolCall.result", + "anthropic.tool_result.content", + ], changelog=[ ChangelogEntry(version="0.5.0", prs=[265]), ChangelogEntry(version="0.4.0", prs=[221]), @@ -17736,16 +19454,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.definitions": AttributeMetadata( brief="The list of source system tool definitions available to the GenAI agent or model.", type=AttributeType.STRING, - keys=("gen_ai.tool.definitions", "ai.prompt.tools", "ai.tools", "gen_ai.request.available_tools",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.tool.definitions", + "ai.prompt.tools", + "ai.tools", + "gen_ai.request.available_tools", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, - example="[{\"type\": \"function\", \"name\": \"get_current_weather\", \"description\": \"Get the current weather in a given location\", \"parameters\": {\"type\": \"object\", \"properties\": {\"location\": {\"type\": \"string\", \"description\": \"The city and state, e.g. San Francisco, CA\"}, \"unit\": {\"type\": \"string\", \"enum\": [\"celsius\", \"fahrenheit\"]}}, \"required\": [\"location\", \"unit\"]}}]", + example='[{"type": "function", "name": "get_current_weather", "description": "Get the current weather in a given location", "parameters": {"type": "object", "properties": {"location": {"type": "string", "description": "The city and state, e.g. San Francisco, CA"}, "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}}, "required": ["location", "unit"]}}]', aliases=["gen_ai.request.available_tools"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[595], description="Added gen_ai.request.available_tools as an alias"), + ChangelogEntry( + version="0.22.0", + prs=[595], + description="Added gen_ai.request.available_tools as an alias", + ), ChangelogEntry(version="0.4.0", prs=[221]), ], ), @@ -17753,9 +19478,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The description of the tool being used.", type=AttributeType.STRING, keys=("gen_ai.tool.description",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="Searches the web for current information about a topic", @@ -17766,18 +19489,19 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.input": AttributeMetadata( brief="The input of the tool being used. It has to be a stringified version of the input to the tool.", type=AttributeType.STRING, - keys=("gen_ai.tool.call.arguments", "ai.toolCall.args", "gen_ai.tool.input",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.tool.call.arguments", + "ai.toolCall.args", + "gen_ai.tool.input", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, - example="{\"location\": \"Paris\"}", + example='{"location": "Paris"}', deprecation=DeprecationInfo( - replacement="gen_ai.tool.call.arguments", - status=DeprecationStatus.NORMALIZE + replacement="gen_ai.tool.call.arguments", status=DeprecationStatus.NORMALIZE ), - aliases=["gen_ai.tool.call.arguments","ai.toolCall.args"], + aliases=["gen_ai.tool.call.arguments", "ai.toolCall.args"], changelog=[ ChangelogEntry(version="0.5.0", prs=[265]), ChangelogEntry(version="0.1.0", prs=[63, 74]), @@ -17786,18 +19510,28 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.message": AttributeMetadata( brief="The response from a tool or function call passed to the model.", type=AttributeType.STRING, - keys=("gen_ai.tool.call.result", "ai.toolCall.result", "anthropic.tool_result.content", "gen_ai.tool.message", "gen_ai.tool.output", "mcp.tool.result.content",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "gen_ai.tool.call.result", + "ai.toolCall.result", + "anthropic.tool_result.content", + "gen_ai.tool.message", + "gen_ai.tool.output", + "mcp.tool.result.content", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="rainy, 57°F", deprecation=DeprecationInfo( - replacement="gen_ai.tool.call.result", - status=DeprecationStatus.NORMALIZE + replacement="gen_ai.tool.call.result", status=DeprecationStatus.NORMALIZE ), - aliases=["gen_ai.tool.call.result","gen_ai.tool.output","mcp.tool.result.content","ai.toolCall.result","anthropic.tool_result.content"], + aliases=[ + "gen_ai.tool.call.result", + "gen_ai.tool.output", + "mcp.tool.result.content", + "ai.toolCall.result", + "anthropic.tool_result.content", + ], changelog=[ ChangelogEntry(version="0.5.0", prs=[265]), ChangelogEntry(version="0.1.0", prs=[62]), @@ -17806,14 +19540,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.name": AttributeMetadata( brief="Name of the tool utilized by the agent.", type=AttributeType.STRING, - keys=("gen_ai.tool.name", "ai.function_call", "mcp.tool.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.tool.name", + "ai.function_call", + "mcp.tool.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="Flights", - aliases=["ai.function_call","mcp.tool.name"], + aliases=["ai.function_call", "mcp.tool.name"], changelog=[ ChangelogEntry(version="0.1.0", prs=[57, 127]), ], @@ -17821,18 +19557,28 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.tool.output": AttributeMetadata( brief="The output of the tool being used. It has to be a stringified version of the output of the tool.", type=AttributeType.STRING, - keys=("gen_ai.tool.call.result", "ai.toolCall.result", "anthropic.tool_result.content", "gen_ai.tool.message", "gen_ai.tool.output", "mcp.tool.result.content",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.tool.call.result", + "ai.toolCall.result", + "anthropic.tool_result.content", + "gen_ai.tool.message", + "gen_ai.tool.output", + "mcp.tool.result.content", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="rainy, 57°F", deprecation=DeprecationInfo( - replacement="gen_ai.tool.call.result", - status=DeprecationStatus.NORMALIZE + replacement="gen_ai.tool.call.result", status=DeprecationStatus.NORMALIZE ), - aliases=["gen_ai.tool.call.result","gen_ai.tool.message","mcp.tool.result.content","ai.toolCall.result","anthropic.tool_result.content"], + aliases=[ + "gen_ai.tool.call.result", + "gen_ai.tool.message", + "mcp.tool.result.content", + "ai.toolCall.result", + "anthropic.tool_result.content", + ], changelog=[ ChangelogEntry(version="0.5.0", prs=[265]), ChangelogEntry(version="0.1.0", prs=[63, 74]), @@ -17842,9 +19588,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The type of tool being used.", type=AttributeType.STRING, keys=("gen_ai.tool.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="function", @@ -17858,27 +19602,44 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "gen_ai.usage.cache_creation.input_tokens": AttributeMetadata( brief="The number of tokens written to the cache when processing the AI input (prompt).", type=AttributeType.INTEGER, - keys=("gen_ai.usage.cache_creation.input_tokens", "gen_ai.usage.cache_creation_input_tokens", "gen_ai.usage.input_tokens.cache_write",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.cache_creation.input_tokens", + "gen_ai.usage.cache_creation_input_tokens", + "gen_ai.usage.input_tokens.cache_write", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=100, - aliases=["gen_ai.usage.input_tokens.cache_write","gen_ai.usage.cache_creation_input_tokens"], + aliases=[ + "gen_ai.usage.input_tokens.cache_write", + "gen_ai.usage.cache_creation_input_tokens", + ], changelog=[ - ChangelogEntry(version="0.24.0", prs=[582], description="Added gen_ai.usage.cache_creation_input_tokens as an alias"), - ChangelogEntry(version="0.11.0", prs=[418], description="Added gen_ai.usage.cache_creation.input_tokens attribute"), + ChangelogEntry( + version="0.24.0", + prs=[582], + description="Added gen_ai.usage.cache_creation_input_tokens as an alias", + ), + ChangelogEntry( + version="0.11.0", + prs=[418], + description="Added gen_ai.usage.cache_creation.input_tokens attribute", + ), + ], + additional_context=[ + "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans." ], - additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans."], ), "gen_ai.usage.cache_creation_input_tokens": AttributeMetadata( brief="The number of tokens written to the cache when processing the AI input (prompt).", type=AttributeType.INTEGER, - keys=("gen_ai.usage.cache_creation.input_tokens", "gen_ai.usage.cache_creation_input_tokens", "gen_ai.usage.input_tokens.cache_write",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.cache_creation.input_tokens", + "gen_ai.usage.cache_creation_input_tokens", + "gen_ai.usage.input_tokens.cache_write", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=100, @@ -17886,37 +19647,62 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.usage.cache_creation.input_tokens", reason="This attribute is being deprecated in favor of gen_ai.usage.cache_creation.input_tokens.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["gen_ai.usage.cache_creation.input_tokens","gen_ai.usage.input_tokens.cache_write"], + aliases=[ + "gen_ai.usage.cache_creation.input_tokens", + "gen_ai.usage.input_tokens.cache_write", + ], changelog=[ - ChangelogEntry(version="0.24.0", prs=[582], description="Added gen_ai.usage.cache_creation_input_tokens attribute"), + ChangelogEntry( + version="0.24.0", + prs=[582], + description="Added gen_ai.usage.cache_creation_input_tokens attribute", + ), ], ), "gen_ai.usage.cache_read.input_tokens": AttributeMetadata( brief="The number of cached tokens used to process the AI input (prompt).", type=AttributeType.INTEGER, - keys=("gen_ai.usage.cache_read.input_tokens", "gen_ai.usage.cache_read_input_tokens", "gen_ai.usage.input_tokens.cached",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.cache_read.input_tokens", + "gen_ai.usage.cache_read_input_tokens", + "gen_ai.usage.input_tokens.cached", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=50, - aliases=["gen_ai.usage.input_tokens.cached","gen_ai.usage.cache_read_input_tokens"], + aliases=[ + "gen_ai.usage.input_tokens.cached", + "gen_ai.usage.cache_read_input_tokens", + ], changelog=[ - ChangelogEntry(version="0.24.0", prs=[582], description="Added gen_ai.usage.cache_read_input_tokens as an alias"), - ChangelogEntry(version="0.11.0", prs=[418], description="Added gen_ai.usage.cache_read.input_tokens attribute"), + ChangelogEntry( + version="0.24.0", + prs=[582], + description="Added gen_ai.usage.cache_read_input_tokens as an alias", + ), + ChangelogEntry( + version="0.11.0", + prs=[418], + description="Added gen_ai.usage.cache_read.input_tokens attribute", + ), + ], + additional_context=[ + "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", + "This is a subset of gen_ai.usage.input_tokens, not an independent count. Do not sum this with gen_ai.usage.input_tokens — it is already included.", ], - additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This is a subset of gen_ai.usage.input_tokens, not an independent count. Do not sum this with gen_ai.usage.input_tokens — it is already included."], ), "gen_ai.usage.cache_read_input_tokens": AttributeMetadata( brief="The number of cached tokens used to process the AI input (prompt).", type=AttributeType.INTEGER, - keys=("gen_ai.usage.cache_read.input_tokens", "gen_ai.usage.cache_read_input_tokens", "gen_ai.usage.input_tokens.cached",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.cache_read.input_tokens", + "gen_ai.usage.cache_read_input_tokens", + "gen_ai.usage.input_tokens.cached", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=50, @@ -17924,230 +19710,341 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.usage.cache_read.input_tokens", reason="This attribute is being deprecated in favor of gen_ai.usage.cache_read.input_tokens.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["gen_ai.usage.cache_read.input_tokens","gen_ai.usage.input_tokens.cached"], + aliases=[ + "gen_ai.usage.cache_read.input_tokens", + "gen_ai.usage.input_tokens.cached", + ], changelog=[ - ChangelogEntry(version="0.24.0", prs=[582], description="Added gen_ai.usage.cache_read_input_tokens attribute"), + ChangelogEntry( + version="0.24.0", + prs=[582], + description="Added gen_ai.usage.cache_read_input_tokens attribute", + ), ], ), "gen_ai.usage.completion_tokens": AttributeMetadata( brief="The number of tokens used in the GenAI response (completion).", type=AttributeType.INTEGER, - keys=("gen_ai.usage.output_tokens", "ai.completion_tokens.used", "gen_ai.usage.completion_tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.output_tokens", + "ai.completion_tokens.used", + "gen_ai.usage.completion_tokens", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, deprecation=DeprecationInfo( - replacement="gen_ai.usage.output_tokens", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.usage.output_tokens", status=DeprecationStatus.BACKFILL ), - aliases=["ai.completion_tokens.used","gen_ai.usage.output_tokens"], + aliases=["ai.completion_tokens.used", "gen_ai.usage.output_tokens"], changelog=[ - ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), + ChangelogEntry( + version="0.9.0", prs=[397], description="Add additional_context" + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], - additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans."], + additional_context=[ + "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans." + ], ), "gen_ai.usage.input_tokens": AttributeMetadata( brief="The number of tokens used to process the AI input (prompt) including cached input tokens.", type=AttributeType.INTEGER, - keys=("gen_ai.usage.input_tokens", "ai.prompt_tokens.used", "gen_ai.usage.prompt_tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.input_tokens", + "ai.prompt_tokens.used", + "gen_ai.usage.prompt_tokens", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, - aliases=["ai.prompt_tokens.used","gen_ai.usage.prompt_tokens"], - changelog=[ - ChangelogEntry(version="0.11.0", prs=[418], description="Update additional_context to reference gen_ai.usage.cache_read.input_tokens"), - ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), + aliases=["ai.prompt_tokens.used", "gen_ai.usage.prompt_tokens"], + changelog=[ + ChangelogEntry( + version="0.11.0", + prs=[418], + description="Update additional_context to reference gen_ai.usage.cache_read.input_tokens", + ), + ChangelogEntry( + version="0.9.0", prs=[397], description="Add additional_context" + ), ChangelogEntry(version="0.5.0", prs=[261]), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[112]), ChangelogEntry(version="0.0.0"), ], - additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This count includes cached input tokens. gen_ai.usage.cache_read.input_tokens is a subset of this value, not an independent count — do not sum them together."], + additional_context=[ + "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", + "This count includes cached input tokens. gen_ai.usage.cache_read.input_tokens is a subset of this value, not an independent count — do not sum them together.", + ], ), "gen_ai.usage.input_tokens.cache_write": AttributeMetadata( brief="The number of tokens written to the cache when processing the AI input (prompt).", type=AttributeType.INTEGER, - keys=("gen_ai.usage.cache_creation.input_tokens", "gen_ai.usage.cache_creation_input_tokens", "gen_ai.usage.input_tokens.cache_write",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.cache_creation.input_tokens", + "gen_ai.usage.cache_creation_input_tokens", + "gen_ai.usage.input_tokens.cache_write", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=100, deprecation=DeprecationInfo( replacement="gen_ai.usage.cache_creation.input_tokens", - status=DeprecationStatus.BACKFILL - ), - aliases=["gen_ai.usage.cache_creation.input_tokens","gen_ai.usage.cache_creation_input_tokens"], - changelog=[ - ChangelogEntry(version="0.24.0", prs=[582], description="Added gen_ai.usage.cache_creation_input_tokens as an alias"), - ChangelogEntry(version="0.11.0", prs=[418], description="Deprecate in favor of gen_ai.usage.cache_creation.input_tokens"), - ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), + status=DeprecationStatus.BACKFILL, + ), + aliases=[ + "gen_ai.usage.cache_creation.input_tokens", + "gen_ai.usage.cache_creation_input_tokens", + ], + changelog=[ + ChangelogEntry( + version="0.24.0", + prs=[582], + description="Added gen_ai.usage.cache_creation_input_tokens as an alias", + ), + ChangelogEntry( + version="0.11.0", + prs=[418], + description="Deprecate in favor of gen_ai.usage.cache_creation.input_tokens", + ), + ChangelogEntry( + version="0.9.0", prs=[397], description="Add additional_context" + ), ChangelogEntry(version="0.4.0", prs=[217, 228]), ], - additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans."], + additional_context=[ + "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans." + ], ), "gen_ai.usage.input_tokens.cached": AttributeMetadata( brief="The number of cached tokens used to process the AI input (prompt).", type=AttributeType.INTEGER, - keys=("gen_ai.usage.cache_read.input_tokens", "gen_ai.usage.cache_read_input_tokens", "gen_ai.usage.input_tokens.cached",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.cache_read.input_tokens", + "gen_ai.usage.cache_read_input_tokens", + "gen_ai.usage.input_tokens.cached", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=50, deprecation=DeprecationInfo( replacement="gen_ai.usage.cache_read.input_tokens", - status=DeprecationStatus.BACKFILL - ), - aliases=["gen_ai.usage.cache_read.input_tokens","gen_ai.usage.cache_read_input_tokens"], - changelog=[ - ChangelogEntry(version="0.24.0", prs=[582], description="Added gen_ai.usage.cache_read_input_tokens as an alias"), - ChangelogEntry(version="0.11.0", prs=[418], description="Deprecate in favor of gen_ai.usage.cache_read.input_tokens"), - ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), + status=DeprecationStatus.BACKFILL, + ), + aliases=[ + "gen_ai.usage.cache_read.input_tokens", + "gen_ai.usage.cache_read_input_tokens", + ], + changelog=[ + ChangelogEntry( + version="0.24.0", + prs=[582], + description="Added gen_ai.usage.cache_read_input_tokens as an alias", + ), + ChangelogEntry( + version="0.11.0", + prs=[418], + description="Deprecate in favor of gen_ai.usage.cache_read.input_tokens", + ), + ChangelogEntry( + version="0.9.0", prs=[397], description="Add additional_context" + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[62, 112]), ], - additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This is a subset of gen_ai.usage.input_tokens, not an independent count. Do not sum this with gen_ai.usage.input_tokens — it is already included."], + additional_context=[ + "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", + "This is a subset of gen_ai.usage.input_tokens, not an independent count. Do not sum this with gen_ai.usage.input_tokens — it is already included.", + ], ), "gen_ai.usage.output_tokens": AttributeMetadata( brief="The number of tokens used for creating the AI output (including reasoning tokens).", type=AttributeType.INTEGER, - keys=("gen_ai.usage.output_tokens", "ai.completion_tokens.used", "gen_ai.usage.completion_tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.output_tokens", + "ai.completion_tokens.used", + "gen_ai.usage.completion_tokens", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, - aliases=["ai.completion_tokens.used","gen_ai.usage.completion_tokens"], - changelog=[ - ChangelogEntry(version="0.11.0", prs=[418], description="Update additional_context to reference gen_ai.usage.reasoning.output_tokens"), - ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), + aliases=["ai.completion_tokens.used", "gen_ai.usage.completion_tokens"], + changelog=[ + ChangelogEntry( + version="0.11.0", + prs=[418], + description="Update additional_context to reference gen_ai.usage.reasoning.output_tokens", + ), + ChangelogEntry( + version="0.9.0", prs=[397], description="Add additional_context" + ), ChangelogEntry(version="0.5.0", prs=[261]), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[112]), ChangelogEntry(version="0.0.0"), ], - additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This count includes reasoning tokens. gen_ai.usage.reasoning.output_tokens is a subset of this value, not an independent count — do not sum them together."], + additional_context=[ + "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", + "This count includes reasoning tokens. gen_ai.usage.reasoning.output_tokens is a subset of this value, not an independent count — do not sum them together.", + ], ), "gen_ai.usage.output_tokens.reasoning": AttributeMetadata( brief="The number of tokens used for reasoning to create the AI output.", type=AttributeType.INTEGER, - keys=("gen_ai.usage.reasoning.output_tokens", "gen_ai.usage.output_tokens.reasoning",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.reasoning.output_tokens", + "gen_ai.usage.output_tokens.reasoning", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=75, deprecation=DeprecationInfo( replacement="gen_ai.usage.reasoning.output_tokens", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["gen_ai.usage.reasoning.output_tokens"], changelog=[ - ChangelogEntry(version="0.11.0", prs=[418], description="Deprecate in favor of gen_ai.usage.reasoning.output_tokens"), - ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), + ChangelogEntry( + version="0.11.0", + prs=[418], + description="Deprecate in favor of gen_ai.usage.reasoning.output_tokens", + ), + ChangelogEntry( + version="0.9.0", prs=[397], description="Add additional_context" + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[62, 112]), ], - additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This is a subset of gen_ai.usage.output_tokens, not an independent count. Do not sum this with gen_ai.usage.output_tokens — it is already included."], + additional_context=[ + "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", + "This is a subset of gen_ai.usage.output_tokens, not an independent count. Do not sum this with gen_ai.usage.output_tokens — it is already included.", + ], ), "gen_ai.usage.prompt_tokens": AttributeMetadata( brief="The number of tokens used in the GenAI input (prompt).", type=AttributeType.INTEGER, - keys=("gen_ai.usage.input_tokens", "ai.prompt_tokens.used", "gen_ai.usage.prompt_tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.input_tokens", + "ai.prompt_tokens.used", + "gen_ai.usage.prompt_tokens", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=20, deprecation=DeprecationInfo( - replacement="gen_ai.usage.input_tokens", - status=DeprecationStatus.BACKFILL + replacement="gen_ai.usage.input_tokens", status=DeprecationStatus.BACKFILL ), - aliases=["ai.prompt_tokens.used","gen_ai.usage.input_tokens"], + aliases=["ai.prompt_tokens.used", "gen_ai.usage.input_tokens"], changelog=[ - ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), + ChangelogEntry( + version="0.9.0", prs=[397], description="Add additional_context" + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], - additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans."], + additional_context=[ + "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans." + ], ), "gen_ai.usage.reasoning.output_tokens": AttributeMetadata( brief="The number of tokens used for reasoning to create the AI output.", type=AttributeType.INTEGER, - keys=("gen_ai.usage.reasoning.output_tokens", "gen_ai.usage.output_tokens.reasoning",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.reasoning.output_tokens", + "gen_ai.usage.output_tokens.reasoning", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=75, aliases=["gen_ai.usage.output_tokens.reasoning"], changelog=[ - ChangelogEntry(version="0.11.0", prs=[418], description="Added gen_ai.usage.reasoning.output_tokens attribute"), + ChangelogEntry( + version="0.11.0", + prs=[418], + description="Added gen_ai.usage.reasoning.output_tokens attribute", + ), + ], + additional_context=[ + "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", + "This is a subset of gen_ai.usage.output_tokens, not an independent count. Do not sum this with gen_ai.usage.output_tokens — it is already included.", ], - additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This is a subset of gen_ai.usage.output_tokens, not an independent count. Do not sum this with gen_ai.usage.output_tokens — it is already included."], ), "gen_ai.usage.total_tokens": AttributeMetadata( brief="The total number of tokens used to process the prompt. (input tokens plus output todkens)", type=AttributeType.INTEGER, - keys=("gen_ai.usage.total_tokens", "ai.total_tokens.used", "ai.usage.tokens",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.usage.total_tokens", + "ai.total_tokens.used", + "ai.usage.tokens", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=20, - aliases=["ai.total_tokens.used","ai.usage.tokens"], - changelog=[ - ChangelogEntry(version="0.21.0", prs=[583], description="Added ai.usage.tokens as an alias"), - ChangelogEntry(version="0.9.0", prs=[397], description="Add additional_context"), + aliases=["ai.total_tokens.used", "ai.usage.tokens"], + changelog=[ + ChangelogEntry( + version="0.21.0", + prs=[583], + description="Added ai.usage.tokens as an alias", + ), + ChangelogEntry( + version="0.9.0", prs=[397], description="Add additional_context" + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[57]), ], - additional_context=["This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.","This is the sum of gen_ai.usage.input_tokens and gen_ai.usage.output_tokens. Do not sum this with either of them — they are already included."], + additional_context=[ + "This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.", + "This is the sum of gen_ai.usage.input_tokens and gen_ai.usage.output_tokens. Do not sum this with either of them — they are already included.", + ], ), "graphql.document": AttributeMetadata( brief="The GraphQL document being executed.", type=AttributeType.STRING, - keys=("graphql.document", "graphql.source",), + keys=( + "graphql.document", + "graphql.source", + ), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="The document may contain sensitive information in arguments or variables. Instrumentation should redact sensitive information when possible." + reason="The document may contain sensitive information in arguments or variables. Instrumentation should redact sensitive information when possible.", ), is_in_otel=True, visibility=Visibility.PUBLIC, example="query findBookById { bookById(id: ?) { name } }", aliases=["graphql.source"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[584], description="Added graphql.source as an alias"), - ChangelogEntry(version="0.7.0", description="Adds the `graphql.document` attribute to track the GraphQL document being executed."), + ChangelogEntry( + version="0.21.0", + prs=[584], + description="Added graphql.source as an alias", + ), + ChangelogEntry( + version="0.7.0", + description="Adds the `graphql.document` attribute to track the GraphQL document being executed.", + ), ], ), "graphql.operation.name": AttributeMetadata( brief="The name of the operation being executed.", type=AttributeType.STRING, keys=("graphql.operation.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="findBookById", @@ -18160,9 +20057,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The type of the operation being executed.", type=AttributeType.STRING, keys=("graphql.operation.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="query", @@ -18175,25 +20070,31 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The type of processing represented by this span.", type=AttributeType.STRING, keys=("graphql.processing.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="parse", examples=["parse", "validate", "execute", "resolve"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[572], description="Added graphql.processing.type attribute"), + ChangelogEntry( + version="0.21.0", + prs=[572], + description="Added graphql.processing.type attribute", + ), + ], + additional_context=[ + "Well-known values are request, parse, validate, variable_coercion, plan, execute, subscription_event, step_execute, resolve, dataloader_dispatch, dataloader_batch and _OTHER. Use one of these if it applies, otherwise a custom value.", + "Not to be confused with graphql.operation.type, which holds the GraphQL operation type (query, mutation, subscription) and only applies to spans that run an operation.", ], - additional_context=["Well-known values are request, parse, validate, variable_coercion, plan, execute, subscription_event, step_execute, resolve, dataloader_dispatch, dataloader_batch and _OTHER. Use one of these if it applies, otherwise a custom value.","Not to be confused with graphql.operation.type, which holds the GraphQL operation type (query, mutation, subscription) and only applies to spans that run an operation."], ), "graphql.source": AttributeMetadata( brief="The GraphQL document being executed.", type=AttributeType.STRING, - keys=("graphql.document", "graphql.source",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "graphql.document", + "graphql.source", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="query findBookById { bookById(id: ?) { name } }", @@ -18201,229 +20102,273 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="graphql.document", reason="This attribute is being deprecated in favor of graphql.document, which is the OpenTelemetry name for the same value.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["graphql.document"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[584], description="Added graphql.source attribute"), + ChangelogEntry( + version="0.21.0", + prs=[584], + description="Added graphql.source attribute", + ), ], ), "grpc.error.bad_request.field_violations": AttributeMetadata( 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=AttributeType.STRING_ARRAY, keys=("grpc.error.bad_request.field_violations",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=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\"}}"], + 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=[ - ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.bad_request.field_violations attribute"), + ChangelogEntry( + version="0.17.0", + prs=[460], + description="Added grpc.error.bad_request.field_violations attribute", + ), ], ), "grpc.error.debug_info.detail": AttributeMetadata( 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=AttributeType.STRING, keys=("grpc.error.debug_info.detail",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="at com.example.Service.method(Service.java:42)", changelog=[ - ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.debug_info.detail attribute"), + ChangelogEntry( + version="0.17.0", + prs=[460], + description="Added grpc.error.debug_info.detail attribute", + ), ], ), "grpc.error.debug_info.stack_entries": AttributeMetadata( 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=AttributeType.STRING_ARRAY, keys=("grpc.error.debug_info.stack_entries",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, - example=["com.example.Service.method(Service.java:42)", "com.example.Server.handle(Server.java:100)"], + example=[ + "com.example.Service.method(Service.java:42)", + "com.example.Server.handle(Server.java:100)", + ], changelog=[ - ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.debug_info.stack_entries attribute"), + ChangelogEntry( + version="0.17.0", + prs=[460], + description="Added grpc.error.debug_info.stack_entries attribute", + ), ], ), "grpc.error.error_info.domain": AttributeMetadata( brief="The logical grouping to which the gRPC error reason belongs, from the google.rpc.ErrorInfo error detail.", type=AttributeType.STRING, keys=("grpc.error.error_info.domain",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="example.sentry.io", changelog=[ - ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.error_info.domain attribute"), + ChangelogEntry( + version="0.17.0", + prs=[460], + description="Added grpc.error.error_info.domain attribute", + ), ], ), "grpc.error.error_info.metadata.": AttributeMetadata( brief="Additional structured metadata attached to a google.rpc.ErrorInfo error detail, with being the metadata key name. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly.", type=AttributeType.STRING, keys=("grpc.error.error_info.metadata.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="grpc.error.error_info.metadata.user_id='123'", changelog=[ - ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.error_info.metadata. attribute"), + ChangelogEntry( + version="0.17.0", + prs=[460], + description="Added grpc.error.error_info.metadata. attribute", + ), ], ), "grpc.error.error_info.reason": AttributeMetadata( brief="The reason for the gRPC error, as defined by the service that generated it, from the google.rpc.ErrorInfo error detail.", type=AttributeType.STRING, keys=("grpc.error.error_info.reason",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="FIELD_INVALID", changelog=[ - ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.error_info.reason attribute"), + ChangelogEntry( + version="0.17.0", + prs=[460], + description="Added grpc.error.error_info.reason attribute", + ), ], ), "grpc.error.precondition_failure.violations": AttributeMetadata( brief="The individual precondition violations from a google.rpc.PreconditionFailure error detail. Each entry is a JSON-encoded object with type, subject, and description keys. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly, since violation subjects may identify specific resources or users.", type=AttributeType.STRING_ARRAY, keys=("grpc.error.precondition_failure.violations",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, - example=["{\"type\":\"TOS\",\"subject\":\"example.com/user/123\",\"description\":\"User must accept the terms of service\"}"], + example=[ + '{"type":"TOS","subject":"example.com/user/123","description":"User must accept the terms of service"}' + ], changelog=[ - ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.precondition_failure.violations attribute"), + ChangelogEntry( + version="0.17.0", + prs=[460], + description="Added grpc.error.precondition_failure.violations attribute", + ), ], ), "grpc.error.quota_failure.violations": AttributeMetadata( brief="The individual quota violations from a google.rpc.QuotaFailure error detail. Each entry is a JSON-encoded object with subject, description, api_service, quota_metric, quota_id, quota_dimensions, quota_value, and (optional) future_quota_value keys, mirroring google.rpc.QuotaFailure.Violation. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly, since violation subjects may identify specific resources or users.", type=AttributeType.STRING_ARRAY, keys=("grpc.error.quota_failure.violations",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, - example=["{\"subject\":\"clientip:127.0.0.1\",\"description\":\"Limit checks failed.\",\"api_service\":\"example.googleapis.com\",\"quota_metric\":\"example.googleapis.com/read_requests\",\"quota_id\":\"ReadRequestsPerMinutePerProject\",\"quota_dimensions\":{\"region\":\"us-central1\"},\"quota_value\":1000}"], + example=[ + '{"subject":"clientip:127.0.0.1","description":"Limit checks failed.","api_service":"example.googleapis.com","quota_metric":"example.googleapis.com/read_requests","quota_id":"ReadRequestsPerMinutePerProject","quota_dimensions":{"region":"us-central1"},"quota_value":1000}' + ], changelog=[ - ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.quota_failure.violations attribute"), + ChangelogEntry( + version="0.17.0", + prs=[460], + description="Added grpc.error.quota_failure.violations attribute", + ), ], ), "grpc.error.resource_info.description": AttributeMetadata( brief="A description of the error that occurred while accessing the resource, from a google.rpc.ResourceInfo error detail.", type=AttributeType.STRING, keys=("grpc.error.resource_info.description",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Instance is not ready for the request.", changelog=[ - ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.resource_info.description attribute"), + ChangelogEntry( + version="0.17.0", + prs=[460], + description="Added grpc.error.resource_info.description attribute", + ), ], ), "grpc.error.resource_info.owner": AttributeMetadata( brief="The owner of the resource being accessed (e.g. project or account owning it), from a google.rpc.ResourceInfo error detail. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly.", type=AttributeType.STRING, keys=("grpc.error.resource_info.owner",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="user@example.com", changelog=[ - ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.resource_info.owner attribute"), + ChangelogEntry( + version="0.17.0", + prs=[460], + description="Added grpc.error.resource_info.owner attribute", + ), ], ), "grpc.error.resource_info.resource_name": AttributeMetadata( brief="The name of the resource being accessed, from a google.rpc.ResourceInfo error detail. SDKs should only send this attribute when sendDefaultPii is enabled or dataCollection is configured accordingly.", type=AttributeType.STRING, keys=("grpc.error.resource_info.resource_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="projects/example/instances/example-instance", changelog=[ - ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.resource_info.resource_name attribute"), + ChangelogEntry( + version="0.17.0", + prs=[460], + description="Added grpc.error.resource_info.resource_name attribute", + ), ], ), "grpc.error.resource_info.resource_type": AttributeMetadata( brief="The type of resource being accessed, from a google.rpc.ResourceInfo error detail.", type=AttributeType.STRING, keys=("grpc.error.resource_info.resource_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="database", changelog=[ - ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.resource_info.resource_type attribute"), + ChangelogEntry( + version="0.17.0", + prs=[460], + description="Added grpc.error.resource_info.resource_type attribute", + ), ], ), "grpc.error.retry_info.retry_delay_ms": AttributeMetadata( brief="How long the client should wait before retrying the gRPC call, in milliseconds, from the google.rpc.RetryInfo error detail.", type=AttributeType.INTEGER, keys=("grpc.error.retry_info.retry_delay_ms",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=5000, changelog=[ - ChangelogEntry(version="0.17.0", prs=[460], description="Added grpc.error.retry_info.retry_delay_ms attribute"), + ChangelogEntry( + version="0.17.0", + prs=[460], + description="Added grpc.error.retry_info.retry_delay_ms attribute", + ), ], ), "hardwareConcurrency": AttributeMetadata( brief="The number of logical CPU cores available.", type=AttributeType.STRING, - keys=("device.processor_count", "hardwareConcurrency",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "device.processor_count", + "hardwareConcurrency", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="14", deprecation=DeprecationInfo( replacement="device.processor_count", reason="Old namespace-less attribute, to be replaced with device.processor_count for span-first future", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["device.processor_count"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[281, 300], description="Added and deprecated attribute to document JS SDK's current behaviour"), + ChangelogEntry( + version="0.5.0", + prs=[281, 300], + description="Added and deprecated attribute to document JS SDK's current behaviour", + ), ], ), "http.client_ip": AttributeMetadata( brief="Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=("client.address", "http.client_ip",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "client.address", + "http.client_ip", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", deprecation=DeprecationInfo( - replacement="client.address", - status=DeprecationStatus.BACKFILL + replacement="client.address", status=DeprecationStatus.BACKFILL ), aliases=["client.address"], changelog=[ @@ -18434,45 +20379,63 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.decoded_response_content_length": AttributeMetadata( brief="The decoded body size of the response (in bytes).", type=AttributeType.INTEGER, - keys=("http.response.body.decoded_size", "http.decoded_response_content_length", "http.response_content_length_uncompressed",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.response.body.decoded_size", + "http.decoded_response_content_length", + "http.response_content_length_uncompressed", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=456, deprecation=DeprecationInfo( replacement="http.response.body.decoded_size", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["http.response.body.decoded_size","http.response_content_length_uncompressed"], + aliases=[ + "http.response.body.decoded_size", + "http.response_content_length_uncompressed", + ], changelog=[ - ChangelogEntry(version="0.21.0", prs=[574], description="Deprecated in favor of http.response.body.decoded_size"), + ChangelogEntry( + version="0.21.0", + prs=[574], + description="Deprecated in favor of http.response.body.decoded_size", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], search_alias=SearchAlias( - name="http.decoded_response_content_length", - type="byte" + name="http.decoded_response_content_length", type="byte" ), ), "http.flavor": AttributeMetadata( brief="The actual version of the protocol used for network communication.", type=AttributeType.STRING, - keys=("network.protocol.version", "http.flavor", "messaging.protocol_version", "net.protocol.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.protocol.version", + "http.flavor", + "messaging.protocol_version", + "net.protocol.version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="1.1", deprecation=DeprecationInfo( - replacement="network.protocol.version", - status=DeprecationStatus.BACKFILL + replacement="network.protocol.version", status=DeprecationStatus.BACKFILL ), - aliases=["network.protocol.version","net.protocol.version","messaging.protocol_version"], + aliases=[ + "network.protocol.version", + "net.protocol.version", + "messaging.protocol_version", + ], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol_version as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.protocol_version as an alias", + ), ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), ], @@ -18481,9 +20444,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The fragments present in the URI. Note that this contains the leading # character, while the `url.fragment` attribute does not.", type=AttributeType.STRING, keys=("http.fragment",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="#details", @@ -18495,21 +20456,35 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The domain name.", type=AttributeType.STRING, keys=("http.host",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", deprecation=DeprecationInfo( replacement="server.address", - reason="Deprecated, use one of `server.address` or `client.address`, depending on the usage" - ), - aliases=["address","server.address","client.address","http.server_name","net.host.name","server_name","net.peer.name"], - changelog=[ - ChangelogEntry(version="0.24.0", prs=[647], description="Added server_name as an alias"), - ChangelogEntry(version="0.21.0", prs=[588, 602], description="Added net.peer.name as an alias"), - ChangelogEntry(version="0.19.0", prs=[534], description="Added address as an alias"), + reason="Deprecated, use one of `server.address` or `client.address`, depending on the usage", + ), + aliases=[ + "address", + "server.address", + "client.address", + "http.server_name", + "net.host.name", + "server_name", + "net.peer.name", + ], + changelog=[ + ChangelogEntry( + version="0.24.0", prs=[647], description="Added server_name as an alias" + ), + ChangelogEntry( + version="0.21.0", + prs=[588, 602], + description="Added net.peer.name as an alias", + ), + ChangelogEntry( + version="0.19.0", prs=[534], description="Added address as an alias" + ), ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), ], @@ -18517,18 +20492,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.method": AttributeMetadata( brief="The HTTP method used.", type=AttributeType.STRING, - keys=("http.request.method", "http.method", "http.request_method", "method",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.request.method", + "http.method", + "http.request_method", + "method", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="GET", deprecation=DeprecationInfo( - replacement="http.request.method", - status=DeprecationStatus.BACKFILL + replacement="http.request.method", status=DeprecationStatus.BACKFILL ), - aliases=["http.request.method","http.request_method","method"], + aliases=["http.request.method", "http.request_method", "method"], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), @@ -18540,7 +20517,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("http.query",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information." + reason="Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -18553,55 +20530,70 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="HTTP request body data. Can be given as string or structural data of any format.", type=AttributeType.STRING, keys=("http.request.body.data",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, - example="[{\"role\": \"user\", \"message\": \"hello\"}]", + example='[{"role": "user", "message": "hello"}]', changelog=[ - ChangelogEntry(version="0.6.0", prs=[336], description="Added http.request.body.data attribute"), + ChangelogEntry( + version="0.6.0", + prs=[336], + description="Added http.request.body.data attribute", + ), ], ), "http.request.body.decoded_size": AttributeMetadata( brief="The decoded body size of the request (in bytes).", type=AttributeType.INTEGER, - keys=("http.request.body.decoded_size", "http.request_content_length_uncompressed",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.request.body.decoded_size", + "http.request_content_length_uncompressed", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=456, aliases=["http.request_content_length_uncompressed"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[574], description="Added http.request.body.decoded_size attribute"), + ChangelogEntry( + version="0.21.0", + prs=[574], + description="Added http.request.body.decoded_size attribute", + ), + ], + additional_context=[ + "This is the size after content decoding. Set it only when the decoded size is actually known, for example by measuring a decompressed request stream.", + "Do not derive this from the `content-length` header, which always carries the encoded size. Use `http.request.body.size` for that.", ], - additional_context=["This is the size after content decoding. Set it only when the decoded size is actually known, for example by measuring a decompressed request stream.","Do not derive this from the `content-length` header, which always carries the encoded size. Use `http.request.body.size` for that."], ), "http.request.body.size": AttributeMetadata( brief="The encoded body size of the request (in bytes).", type=AttributeType.INTEGER, - keys=("http.request.body.size", "http.request_content_length",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.request.body.size", + "http.request_content_length", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=123, aliases=["http.request_content_length"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[574], description="Added http.request.body.size attribute"), + ChangelogEntry( + version="0.21.0", + prs=[574], + description="Added http.request.body.size attribute", + ), + ], + additional_context=[ + "This is the on-the-wire (encoded) size. The `content-length` header always carries the encoded size, so set this attribute whenever `content-length` is known, regardless of whether `content-encoding` is present." ], - additional_context=["This is the on-the-wire (encoded) size. The `content-length` header always carries the encoded size, so set this attribute whenever `content-length` is known, regardless of whether `content-encoding` is present."], ), "http.request.connect_start": AttributeMetadata( brief="The UNIX timestamp representing the time immediately before the user agent starts establishing the connection to the server to retrieve the resource.", type=AttributeType.DOUBLE, keys=("http.request.connect_start",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.111, @@ -18615,9 +20607,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.DOUBLE, keys=("http.request.connection_end",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.15, @@ -18631,9 +20621,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the time immediately after the browser finishes the domain-name lookup for the resource.", type=AttributeType.DOUBLE, keys=("http.request.domain_lookup_end",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.201, @@ -18647,9 +20635,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the time immediately before the browser starts the domain name lookup for the resource.", type=AttributeType.DOUBLE, keys=("http.request.domain_lookup_start",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.322, @@ -18663,15 +20649,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The duration of a HTTP request, in milliseconds.", type=AttributeType.INTEGER, keys=("http.request.duration",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=5000, examples=[5000], changelog=[ - ChangelogEntry(version="next", prs=[697], description="Added http.request.duration attribute"), + ChangelogEntry( + version="next", + prs=[697], + description="Added http.request.duration attribute", + ), ], additional_context=["This attribute is set by Relay."], ), @@ -18679,9 +20667,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the time immediately before the browser starts to fetch the resource.", type=AttributeType.DOUBLE, keys=("http.request.fetch_start",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.389, @@ -18695,14 +20681,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="HTTP request headers, being the lower-cased, but otherwise unchanged HTTP Header name, the value being the header values.", type=AttributeType.STRING_ARRAY, keys=("http.request.header.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="http.request.header.custom-header=['foo', 'bar']", - examples=["http.request.header.custom-header=['foo', 'bar']", "http.request.header.content-length=['123']"], + examples=[ + "http.request.header.custom-header=['foo', 'bar']", + "http.request.header.content-length=['123']", + ], changelog=[ ChangelogEntry(version="0.4.0", prs=[201, 204]), ChangelogEntry(version="0.1.0", prs=[103]), @@ -18711,14 +20698,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.request.method": AttributeMetadata( brief="The HTTP method used.", type=AttributeType.STRING, - keys=("http.request.method", "http.method", "http.request_method", "method",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.request.method", + "http.method", + "http.request_method", + "method", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="GET", - aliases=["method","http.method","http.request_method"], + aliases=["method", "http.method", "http.request_method"], changelog=[ ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), @@ -18728,9 +20718,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the timestamp immediately after receiving the last byte of the response of the last redirect", type=AttributeType.DOUBLE, keys=("http.request.redirect_end",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829558.502, @@ -18743,9 +20731,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the start time of the fetch which that initiates the redirect.", type=AttributeType.DOUBLE, keys=("http.request.redirect_start",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.495, @@ -18759,9 +20745,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.", type=AttributeType.DOUBLE, keys=("http.request.request_start",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.51, @@ -18775,9 +20759,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The ordinal number of request resending attempt (for any reason, including redirects).", type=AttributeType.INTEGER, keys=("http.request.resend_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, @@ -18790,9 +20772,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the time immediately after the browser receives the last byte of the resource or immediately before the transport connection is closed, whichever comes first.", type=AttributeType.DOUBLE, keys=("http.request.response_end",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.89, @@ -18806,9 +20786,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.", type=AttributeType.DOUBLE, keys=("http.request.response_start",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.7, @@ -18821,25 +20799,28 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.request.same_origin": AttributeMetadata( brief="Indicates that a URL has the same origin as the current page's origin in the browser.", type=AttributeType.BOOLEAN, - keys=("http.request.same_origin", "url.same_origin",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.request.same_origin", + "url.same_origin", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, aliases=["url.same_origin"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[456], description="Added http.request.same_origin attribute"), + ChangelogEntry( + version="0.16.0", + prs=[456], + description="Added http.request.same_origin attribute", + ), ], ), "http.request.secure_connection_start": AttributeMetadata( brief="The UNIX timestamp representing the time immediately before the browser starts the handshake process to secure the current connection. If a secure connection is not used, the property returns zero.", type=AttributeType.DOUBLE, keys=("http.request.secure_connection_start",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829555.73, @@ -18853,9 +20834,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The time in seconds from the browser's timeorigin to when the first byte of the request's response was received. See https://web.dev/articles/ttfb#measure-resource-requests", type=AttributeType.DOUBLE, keys=("http.request.time_to_first_byte",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1.032, @@ -18868,9 +20847,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The UNIX timestamp representing the timestamp immediately before dispatching the FetchEvent if a Service Worker thread is already running, or immediately before starting the Service Worker thread if it is not already running.", type=AttributeType.DOUBLE, keys=("http.request.worker_start",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732829553.68, @@ -18882,87 +20859,116 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.request_content_length": AttributeMetadata( brief="The encoded body size of the request (in bytes).", type=AttributeType.INTEGER, - keys=("http.request.body.size", "http.request_content_length",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.request.body.size", + "http.request_content_length", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=123, deprecation=DeprecationInfo( - replacement="http.request.body.size", - status=DeprecationStatus.BACKFILL + replacement="http.request.body.size", status=DeprecationStatus.BACKFILL ), aliases=["http.request.body.size"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[574], description="Added http.request_content_length attribute, deprecated in favor of http.request.body.size"), + ChangelogEntry( + version="0.21.0", + prs=[574], + description="Added http.request_content_length attribute, deprecated in favor of http.request.body.size", + ), ], ), "http.request_content_length_uncompressed": AttributeMetadata( brief="The decoded body size of the request (in bytes).", type=AttributeType.INTEGER, - keys=("http.request.body.decoded_size", "http.request_content_length_uncompressed",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.request.body.decoded_size", + "http.request_content_length_uncompressed", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=456, deprecation=DeprecationInfo( replacement="http.request.body.decoded_size", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["http.request.body.decoded_size"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[574], description="Added http.request_content_length_uncompressed attribute, deprecated in favor of http.request.body.decoded_size"), + ChangelogEntry( + version="0.21.0", + prs=[574], + description="Added http.request_content_length_uncompressed attribute, deprecated in favor of http.request.body.decoded_size", + ), ], ), "http.request_method": AttributeMetadata( brief="The HTTP method used.", type=AttributeType.STRING, - keys=("http.request.method", "http.method", "http.request_method", "method",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.request.method", + "http.method", + "http.request_method", + "method", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="GET", deprecation=DeprecationInfo( - replacement="http.request.method", - status=DeprecationStatus.BACKFILL + replacement="http.request.method", status=DeprecationStatus.BACKFILL ), - aliases=["method","http.method","http.request.method"], + aliases=["method", "http.method", "http.request.method"], changelog=[ - ChangelogEntry(version="0.6.0", prs=[343], description="Added http.request_method attribute"), + ChangelogEntry( + version="0.6.0", + prs=[343], + description="Added http.request_method attribute", + ), ], ), "http.response.body.decoded_size": AttributeMetadata( brief="The decoded body size of the response (in bytes).", type=AttributeType.INTEGER, - keys=("http.response.body.decoded_size", "http.decoded_response_content_length", "http.response_content_length_uncompressed",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.response.body.decoded_size", + "http.decoded_response_content_length", + "http.response_content_length_uncompressed", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=456, - aliases=["http.decoded_response_content_length","http.response_content_length_uncompressed"], + aliases=[ + "http.decoded_response_content_length", + "http.response_content_length_uncompressed", + ], changelog=[ - ChangelogEntry(version="0.21.0", prs=[574], description="Added http.response.body.decoded_size attribute"), + ChangelogEntry( + version="0.21.0", + prs=[574], + description="Added http.response.body.decoded_size attribute", + ), + ], + additional_context=[ + "This is the size after content decoding. Set it only when the decoded size is actually known, for example from the browser Resource Timing `decodedBodySize` or by measuring a decompressed response stream.", + "Do not derive this from the `content-length` header, which always carries the encoded size. Use `http.response.body.size` for that.", ], - additional_context=["This is the size after content decoding. Set it only when the decoded size is actually known, for example from the browser Resource Timing `decodedBodySize` or by measuring a decompressed response stream.","Do not derive this from the `content-length` header, which always carries the encoded size. Use `http.response.body.size` for that."], ), "http.response.body.size": AttributeMetadata( brief="The encoded body size of the response (in bytes).", type=AttributeType.INTEGER, - keys=("http.response.body.size", "http.response.header.content-length", "http.response_content_length",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.response.body.size", + "http.response.header.content-length", + "http.response_content_length", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=123, - aliases=["http.response_content_length","http.response.header.content-length"], + aliases=["http.response_content_length", "http.response.header.content-length"], changelog=[ ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[106]), @@ -18973,14 +20979,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="HTTP response headers, being the lower-cased, but otherwise unchanged HTTP Header name, the value being the header values.", type=AttributeType.STRING_ARRAY, keys=("http.response.header.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="http.response.header.custom-header=['foo', 'bar']", - examples=["http.response.header.custom-header=['foo', 'bar']", "http.response.header.content-length=['123']"], + examples=[ + "http.response.header.custom-header=['foo', 'bar']", + "http.response.header.content-length=['123']", + ], changelog=[ ChangelogEntry(version="0.4.0", prs=[201, 204]), ChangelogEntry(version="0.1.0", prs=[103]), @@ -18989,14 +20996,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.response.header.content-length": AttributeMetadata( brief="The size of the message body sent to the recipient (in bytes)", type=AttributeType.STRING, - keys=("http.response.header.content-length", "http.response.body.size", "http.response_content_length",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.response.header.content-length", + "http.response.body.size", + "http.response_content_length", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="http.response.header.custom-header=['foo', 'bar']", - aliases=["http.response_content_length","http.response.body.size"], + aliases=["http.response_content_length", "http.response.body.size"], changelog=[ ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), @@ -19005,10 +21014,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.response.size": AttributeMetadata( brief="The transfer size of the response (in bytes).", type=AttributeType.INTEGER, - keys=("http.response.size", "http.response_transfer_size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.response.size", + "http.response_transfer_size", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=456, @@ -19021,10 +21031,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.response.status_code": AttributeMetadata( brief="The status code of the HTTP response.", type=AttributeType.INTEGER, - keys=("http.response.status_code", "http.response_status_code", "http.status_code",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.response.status_code", + "http.response_status_code", + "http.status_code", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=404, @@ -19033,83 +21045,95 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="http.response_status_code" - ), + search_alias=SearchAlias(name="http.response_status_code"), ), "http.response.status_text": AttributeMetadata( brief="The reason phrase of the HTTP response.", type=AttributeType.STRING, - keys=("http.response.status_text", "http.status_text",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.response.status_text", + "http.status_text", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="NOT FOUND", aliases=["http.status_text"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[574], description="Added http.response.status_text attribute"), + ChangelogEntry( + version="0.21.0", + prs=[574], + description="Added http.response.status_text attribute", + ), + ], + additional_context=[ + "HTTP/2 and HTTP/3 do not carry a reason phrase. Do not set this attribute when the protocol provides none; use `http.response.status_code` instead." ], - additional_context=["HTTP/2 and HTTP/3 do not carry a reason phrase. Do not set this attribute when the protocol provides none; use `http.response.status_code` instead."], ), "http.response_content_length": AttributeMetadata( brief="The encoded body size of the response (in bytes).", type=AttributeType.INTEGER, - keys=("http.response.body.size", "http.response.header.content-length", "http.response_content_length",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.response.body.size", + "http.response.header.content-length", + "http.response_content_length", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=123, deprecation=DeprecationInfo( - replacement="http.response.body.size", - status=DeprecationStatus.BACKFILL + replacement="http.response.body.size", status=DeprecationStatus.BACKFILL ), - aliases=["http.response.body.size","http.response.header.content-length"], + aliases=["http.response.body.size", "http.response.header.content-length"], changelog=[ ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[61, 106]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="http.response_content_length", - type="byte" - ), + search_alias=SearchAlias(name="http.response_content_length", type="byte"), ), "http.response_content_length_uncompressed": AttributeMetadata( brief="The decoded body size of the response (in bytes).", type=AttributeType.INTEGER, - keys=("http.response.body.decoded_size", "http.decoded_response_content_length", "http.response_content_length_uncompressed",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.response.body.decoded_size", + "http.decoded_response_content_length", + "http.response_content_length_uncompressed", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=456, deprecation=DeprecationInfo( replacement="http.response.body.decoded_size", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["http.response.body.decoded_size","http.decoded_response_content_length"], + aliases=[ + "http.response.body.decoded_size", + "http.decoded_response_content_length", + ], changelog=[ - ChangelogEntry(version="0.21.0", prs=[574], description="Added http.response_content_length_uncompressed attribute, deprecated in favor of http.response.body.decoded_size"), + ChangelogEntry( + version="0.21.0", + prs=[574], + description="Added http.response_content_length_uncompressed attribute, deprecated in favor of http.response.body.decoded_size", + ), ], ), "http.response_transfer_size": AttributeMetadata( brief="The transfer size of the response (in bytes).", type=AttributeType.INTEGER, - keys=("http.response.size", "http.response_transfer_size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.response.size", + "http.response_transfer_size", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=456, deprecation=DeprecationInfo( - replacement="http.response.size", - status=DeprecationStatus.BACKFILL + replacement="http.response.size", status=DeprecationStatus.BACKFILL ), aliases=["http.response.size"], changelog=[ @@ -19117,43 +21141,45 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="http.response_transfer_size", - type="byte" - ), + search_alias=SearchAlias(name="http.response_transfer_size", type="byte"), ), "http.route": AttributeMetadata( brief="The matched route, that is, the path template in the format used by the respective server framework.", type=AttributeType.STRING, keys=("http.route",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="/users/:id", examples=["/users/:id", "my-controller/my-action/{id}", "/posts"], aliases=["route"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[505, 521], description="Added multiple examples, removed alias to `url.template`, added additional context"), + ChangelogEntry( + version="0.19.0", + prs=[505, 521], + description="Added multiple examples, removed alias to `url.template`, added additional context", + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], - additional_context=["This attribute should primarily be set by server-side instrumentation that captures the framework route of an incoming request.","For `http.client` spans and client-side routing, use `url.template` instead."], + additional_context=[ + "This attribute should primarily be set by server-side instrumentation that captures the framework route of an incoming request.", + "For `http.client` spans and client-side routing, use `url.template` instead.", + ], ), "http.scheme": AttributeMetadata( brief="The URI scheme component identifying the used protocol.", type=AttributeType.STRING, - keys=("url.scheme", "http.scheme",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "url.scheme", + "http.scheme", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="https", deprecation=DeprecationInfo( - replacement="url.scheme", - status=DeprecationStatus.BACKFILL + replacement="url.scheme", status=DeprecationStatus.BACKFILL ), aliases=["url.scheme"], changelog=[ @@ -19165,9 +21191,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The time in milliseconds the request spent in the server queue before processing began. Measured from the X-Request-Start header set by reverse proxies (e.g., Nginx, HAProxy, Heroku) to when the application started handling the request.", type=AttributeType.DOUBLE, keys=("http.server.request.time_in_queue",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=50, @@ -19178,22 +21202,40 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.server_name": AttributeMetadata( brief="The server domain name", type=AttributeType.STRING, - keys=("server.address", "address", "http.server_name", "net.host.name", "server_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "server.address", + "address", + "http.server_name", + "net.host.name", + "server_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", deprecation=DeprecationInfo( - replacement="server.address", - status=DeprecationStatus.BACKFILL - ), - aliases=["address","server.address","net.host.name","http.host","server_name","net.peer.name"], - changelog=[ - ChangelogEntry(version="0.24.0", prs=[647], description="Added server_name as an alias"), - ChangelogEntry(version="0.21.0", prs=[588, 602], description="Added net.peer.name as an alias"), - ChangelogEntry(version="0.19.0", prs=[534], description="Added address as an alias"), + replacement="server.address", status=DeprecationStatus.BACKFILL + ), + aliases=[ + "address", + "server.address", + "net.host.name", + "http.host", + "server_name", + "net.peer.name", + ], + changelog=[ + ChangelogEntry( + version="0.24.0", prs=[647], description="Added server_name as an alias" + ), + ChangelogEntry( + version="0.21.0", + prs=[588, 602], + description="Added net.peer.name as an alias", + ), + ChangelogEntry( + version="0.19.0", prs=[534], description="Added address as an alias" + ), ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), ], @@ -19201,16 +21243,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.status_code": AttributeMetadata( brief="The status code of the HTTP response.", type=AttributeType.INTEGER, - keys=("http.response.status_code", "http.response_status_code", "http.status_code",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.response.status_code", + "http.response_status_code", + "http.status_code", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=404, deprecation=DeprecationInfo( - replacement="http.response.status_code", - status=DeprecationStatus.BACKFILL + replacement="http.response.status_code", status=DeprecationStatus.BACKFILL ), aliases=["http.response.status_code"], changelog=[ @@ -19222,30 +21265,32 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.status_text": AttributeMetadata( brief="The reason phrase of the HTTP response", type=AttributeType.STRING, - keys=("http.response.status_text", "http.status_text",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.response.status_text", + "http.status_text", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="NOT FOUND", examples=["NOT FOUND"], deprecation=DeprecationInfo( - replacement="http.response.status_text", - status=DeprecationStatus.BACKFILL + replacement="http.response.status_text", status=DeprecationStatus.BACKFILL ), aliases=["http.response.status_text"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[574], description="Added http.status_text attribute, deprecated in favor of http.response.status_text"), + ChangelogEntry( + version="0.21.0", + prs=[574], + description="Added http.status_text attribute, deprecated in favor of http.response.status_text", + ), ], ), "http.target": AttributeMetadata( brief="The pathname and query string of the URL.", type=AttributeType.STRING, keys=("http.target",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="/test?foo=bar#buzz", @@ -19253,7 +21298,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is being deprecated in favor of url.path, url.query and url.fragment. The value holds all three parts at once, so it has no single replacement." ), changelog=[ - ChangelogEntry(version="0.21.0", prs=[587], description="Documented url.path, url.query and url.fragment as the replacements for http.target"), + ChangelogEntry( + version="0.21.0", + prs=[587], + description="Documented url.path, url.query and url.fragment as the replacements for http.target", + ), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], @@ -19261,20 +21310,27 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.url": AttributeMetadata( brief="The URL of the resource that was fetched.", type=AttributeType.STRING, - keys=("url.full", "aws.request.url", "http.url", "messaging.url", "url",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "url.full", + "aws.request.url", + "http.url", + "messaging.url", + "url", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="https://example.com/test?foo=bar#buzz", deprecation=DeprecationInfo( - replacement="url.full", - status=DeprecationStatus.BACKFILL + replacement="url.full", status=DeprecationStatus.BACKFILL ), - aliases=["url.full","url","aws.request.url","messaging.url"], + aliases=["url.full", "url", "aws.request.url", "messaging.url"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.url as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.url as an alias", + ), ChangelogEntry(version="0.1.0", prs=[61, 108]), ChangelogEntry(version="0.0.0"), ], @@ -19282,16 +21338,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "http.user_agent": AttributeMetadata( brief="Value of the HTTP User-Agent header sent by the client.", type=AttributeType.STRING, - keys=("user_agent.original", "http.user_agent",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "user_agent.original", + "http.user_agent", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=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", deprecation=DeprecationInfo( - replacement="user_agent.original", - status=DeprecationStatus.BACKFILL + replacement="user_agent.original", status=DeprecationStatus.BACKFILL ), aliases=["user_agent.original"], changelog=[ @@ -19303,9 +21359,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A unique identifier for the span.", type=AttributeType.STRING, keys=("id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="f47ac10b58cc4372a5670e02b2c3d479", @@ -19316,30 +21370,33 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "inp": AttributeMetadata( brief="The value of the recorded Interaction to Next Paint (INP) web vital", type=AttributeType.DOUBLE, - keys=("browser.web_vital.inp.value", "inp",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.inp.value", + "inp", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=200, deprecation=DeprecationInfo( replacement="browser.web_vital.inp.value", reason="The INP web vital is now recorded as a browser.web_vital.inp.value attribute.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.inp.value"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[229], description="Added and deprecated attribute to document JS SDK's current behaviour"), + ChangelogEntry( + version="0.5.0", + prs=[229], + description="Added and deprecated attribute to document JS SDK's current behaviour", + ), ], ), "integrity.blocked_url": AttributeMetadata( brief="The URL of the resource blocked by the integrity policy.", type=AttributeType.STRING, keys=("integrity.blocked_url",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://example.com/app.js", @@ -19351,9 +21408,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The destination type of the resource affected by the integrity policy.", type=AttributeType.STRING, keys=("integrity.destination",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="script", @@ -19365,9 +21420,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The URL of the document where the integrity violation occurred.", type=AttributeType.STRING, keys=("integrity.document_url",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://example.com/index.html", @@ -19379,9 +21432,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the integrity violation was generated by a report-only policy.", type=AttributeType.BOOLEAN, keys=("integrity.report_only",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -19393,40 +21444,49 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The version of the JSON-RPC protocol used.", type=AttributeType.STRING, keys=("jsonrpc.protocol.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="2.0", changelog=[ - ChangelogEntry(version="0.12.0", prs=[420], description="Added jsonrpc.protocol.version attribute"), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Added jsonrpc.protocol.version attribute", + ), ], ), "jsonrpc.request.id": AttributeMetadata( brief="The JSON-RPC request identifier, used to correlate a request with its response.", type=AttributeType.STRING, - keys=("jsonrpc.request.id", "mcp.request.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "jsonrpc.request.id", + "mcp.request.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="1", examples=["1"], aliases=["mcp.request.id"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Removed the session-scoped uniqueness requirement from the request identifier"), - ChangelogEntry(version="0.12.0", prs=[420], description="Added jsonrpc.request.id attribute"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Removed the session-scoped uniqueness requirement from the request identifier", + ), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Added jsonrpc.request.id attribute", + ), ], ), "jvm.gc.action": AttributeMetadata( brief="Name of the garbage collector action.", type=AttributeType.STRING, keys=("jvm.gc.action",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="end of minor GC", @@ -19439,9 +21499,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the garbage collector.", type=AttributeType.STRING, keys=("jvm.gc.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="G1 Young Generation", @@ -19454,9 +21512,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the memory pool.", type=AttributeType.STRING, keys=("jvm.memory.pool.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="G1 Old Gen", @@ -19469,9 +21525,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the memory pool.", type=AttributeType.STRING, keys=("jvm.memory.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="G1 Old Gen", @@ -19484,9 +21538,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the thread is daemon or not.", type=AttributeType.BOOLEAN, keys=("jvm.thread.daemon",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=True, @@ -19498,9 +21550,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="State of the thread.", type=AttributeType.STRING, keys=("jvm.thread.state",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="blocked", @@ -19513,9 +21563,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name of the Koa middleware or matched route that handled the request.", type=AttributeType.STRING, keys=("koa.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="/users/:id", @@ -19523,30 +21571,36 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="No single replacement. SDKs should use http.route for router layers and code.function.name for middleware layers instead." ), changelog=[ - ChangelogEntry(version="0.16.0", prs=[490], description="Added koa.name attribute as deprecated"), + ChangelogEntry( + version="0.16.0", + prs=[490], + description="Added koa.name attribute as deprecated", + ), ], ), "koa.type": AttributeMetadata( brief="The type of the Koa layer that handled the request.", type=AttributeType.STRING, keys=("koa.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="router", changelog=[ - ChangelogEntry(version="0.16.0", prs=[471], description="Added koa.type attribute"), + ChangelogEntry( + version="0.16.0", prs=[471], description="Added koa.type attribute" + ), ], ), "langchain.chain.name": AttributeMetadata( brief="The name of the LangChain chain being executed.", type=AttributeType.STRING, - keys=("gen_ai.pipeline.name", "ai.pipeline.name", "langchain.chain.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.pipeline.name", + "ai.pipeline.name", + "langchain.chain.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="format_prompt", @@ -19554,27 +21608,32 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.pipeline.name", reason="This attribute is being deprecated in favor of gen_ai.pipeline.name, which is the SDK-agnostic replacement for the name of the AI pipeline or chain being executed.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["gen_ai.pipeline.name","ai.pipeline.name"], + aliases=["gen_ai.pipeline.name", "ai.pipeline.name"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[599], description="Added langchain.chain.name attribute"), + ChangelogEntry( + version="0.22.0", + prs=[599], + description="Added langchain.chain.name attribute", + ), ], ), "lcp.element": AttributeMetadata( brief="The dom element responsible for the largest contentful paint.", type=AttributeType.STRING, - keys=("browser.web_vital.lcp.element", "lcp.element",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.lcp.element", + "lcp.element", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="img", deprecation=DeprecationInfo( replacement="browser.web_vital.lcp.element", reason="The LCP element is now recorded as a browser.web_vital.lcp.element attribute.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.lcp.element"], changelog=[ @@ -19586,17 +21645,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "lcp.id": AttributeMetadata( brief="The id of the dom element responsible for the largest contentful paint.", type=AttributeType.STRING, - keys=("browser.web_vital.lcp.id", "lcp.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.lcp.id", + "lcp.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="#hero", deprecation=DeprecationInfo( replacement="browser.web_vital.lcp.id", reason="The LCP id is now recorded as a browser.web_vital.lcp.id attribute.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.lcp.id"], changelog=[ @@ -19608,17 +21668,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "lcp.loadTime": AttributeMetadata( brief="The time it took for the LCP element to be loaded", type=AttributeType.INTEGER, - keys=("browser.web_vital.lcp.load_time", "lcp.loadTime",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.lcp.load_time", + "lcp.loadTime", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1402, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.lcp.load_time"], changelog=[ @@ -19628,17 +21689,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "lcp.renderTime": AttributeMetadata( brief="The time it took for the LCP element to be rendered", type=AttributeType.INTEGER, - keys=("browser.web_vital.lcp.render_time", "lcp.renderTime",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.lcp.render_time", + "lcp.renderTime", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1685, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.lcp.render_time"], changelog=[ @@ -19648,17 +21710,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "lcp.size": AttributeMetadata( brief="The size of the largest contentful paint element.", type=AttributeType.INTEGER, - keys=("browser.web_vital.lcp.size", "lcp.size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.lcp.size", + "lcp.size", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234, deprecation=DeprecationInfo( replacement="browser.web_vital.lcp.size", reason="The LCP size is now recorded as a browser.web_vital.lcp.size attribute.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.lcp.size"], changelog=[ @@ -19670,17 +21733,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "lcp.url": AttributeMetadata( brief="The url of the dom element responsible for the largest contentful paint.", type=AttributeType.STRING, - keys=("browser.web_vital.lcp.url", "lcp.url",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "browser.web_vital.lcp.url", + "lcp.url", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://example.com", deprecation=DeprecationInfo( replacement="browser.web_vital.lcp.url", reason="The LCP url is now recorded as a browser.web_vital.lcp.url attribute.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.lcp.url"], changelog=[ @@ -19692,50 +21756,61 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "lcp": AttributeMetadata( brief="The value of the recorded Largest Contentful Paint (LCP) web vital", type=AttributeType.DOUBLE, - keys=("browser.web_vital.lcp.value", "lcp",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.lcp.value", + "lcp", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2500, deprecation=DeprecationInfo( replacement="browser.web_vital.lcp.value", reason="The LCP web vital is now recorded as a browser.web_vital.lcp.value attribute.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.lcp.value"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[229], description="Added and deprecated attribute to document JS SDK's current behaviour"), + ChangelogEntry( + version="0.5.0", + prs=[229], + description="Added and deprecated attribute to document JS SDK's current behaviour", + ), ], ), "litestar.middleware_name": AttributeMetadata( brief="The name of the Litestar middleware.", type=AttributeType.STRING, - keys=("middleware.name", "django.middleware_name", "litestar.middleware_name", "starlette.middleware_name", "starlite.middleware_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "middleware.name", + "django.middleware_name", + "litestar.middleware_name", + "starlette.middleware_name", + "starlite.middleware_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="AuthenticationMiddleware", deprecation=DeprecationInfo( replacement="middleware.name", reason="This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["middleware.name"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[486], description="Added litestar.middleware_name attribute, deprecated in favor of middleware.name"), + ChangelogEntry( + version="0.19.0", + prs=[486], + description="Added litestar.middleware_name attribute, deprecated in favor of middleware.name", + ), ], ), "logger.name": AttributeMetadata( brief="The name of the logger that generated this event.", type=AttributeType.STRING, keys=("logger.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="myLogger", @@ -19748,15 +21823,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Registered OAuth client application name associated with the authenticated MCP request. Taken from OAuth client registration metadata (client_name) made available by the authentication layer. This is distinct from the MCP implementation name in mcp.client.name; omit it when the OAuth client name is unavailable.", type=AttributeType.STRING, keys=("mcp.auth.client.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Example Desktop", examples=["Example Desktop", "Example CLI"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Added mcp.auth.client.name attribute"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Added mcp.auth.client.name attribute", + ), ], ), "mcp.cancelled.reason": AttributeMetadata( @@ -19765,7 +21842,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.cancelled.reason",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Cancellation reasons may contain user-specific or sensitive information" + reason="Cancellation reasons may contain user-specific or sensitive information", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -19778,9 +21855,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Request ID of the cancelled MCP operation.", type=AttributeType.STRING, keys=("mcp.cancelled.request_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="123", @@ -19792,15 +21867,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the MCP client implementation, as declared in clientInfo. This is distinct from the registered OAuth application name in mcp.auth.client.name.", type=AttributeType.STRING, keys=("mcp.client.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="example-mcp-client", examples=["example-mcp-client"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the attribute describes declared MCP implementation metadata"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Clarified that the attribute describes declared MCP implementation metadata", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -19810,14 +21887,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.client.title",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Client titles may reveal user-specific application configurations or custom setups" + reason="Client titles may reveal user-specific application configurations or custom setups", ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Example MCP Client", examples=["Example MCP Client"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the attribute describes declared MCP implementation metadata"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Clarified that the attribute describes declared MCP implementation metadata", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -19825,15 +21906,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Version of the MCP client implementation, as declared in clientInfo.", type=AttributeType.STRING, keys=("mcp.client.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1.0.0", examples=["1.0.0"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the attribute describes declared MCP implementation metadata"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Clarified that the attribute describes declared MCP implementation metadata", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -19841,9 +21924,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Lifecycle phase indicator for MCP operations.", type=AttributeType.STRING, keys=("mcp.lifecycle.phase",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="initialization_complete", @@ -19855,9 +21936,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Data type of the logged message content.", type=AttributeType.STRING, keys=("mcp.logging.data_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="string", @@ -19869,9 +21948,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Log level for MCP logging operations.", type=AttributeType.STRING, keys=("mcp.logging.level",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="info", @@ -19885,7 +21962,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.logging.logger",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Logger names may be user-defined and could contain sensitive information" + reason="Logger names may be user-defined and could contain sensitive information", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -19899,8 +21976,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): type=AttributeType.STRING, keys=("mcp.logging.message",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO, - reason="Log messages can contain user data" + key=ApplyScrubbing.AUTO, reason="Log messages can contain user data" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -19913,14 +21989,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name of the MCP request or notification method being called.", type=AttributeType.STRING, keys=("mcp.method.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="tools/call", changelog=[ - ChangelogEntry(version="0.12.0", prs=[420], description="Set is_in_otel=true, attribute exists in OTel MCP registry"), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Set is_in_otel=true, attribute exists in OTel MCP registry", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -19928,15 +22006,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Current progress value of an MCP operation.", type=AttributeType.DOUBLE, keys=("mcp.progress.current",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.2, examples=[0.2, 50], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Changed the type to double to support fractional MCP progress values"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Changed the type to double to support fractional MCP progress values", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.3.0", prs=[171]), ], @@ -19947,7 +22027,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.progress.message",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Progress messages may contain user-specific or sensitive information" + reason="Progress messages may contain user-specific or sensitive information", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -19960,9 +22040,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Calculated progress percentage of an MCP operation. Computed from current/total * 100.", type=AttributeType.DOUBLE, keys=("mcp.progress.percentage",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=50, @@ -19975,9 +22053,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Token for tracking progress of an MCP operation.", type=AttributeType.STRING, keys=("mcp.progress.token",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="progress-token-123", @@ -19989,15 +22065,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Total progress target value of an MCP operation.", type=AttributeType.DOUBLE, keys=("mcp.progress.total",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, examples=[1, 100], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Changed the type to double to support fractional MCP progress values"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Changed the type to double to support fractional MCP progress values", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.3.0", prs=[171]), ], @@ -20005,10 +22083,13 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "mcp.prompt.name": AttributeMetadata( brief="Name of the MCP prompt template being used.", type=AttributeType.STRING, - keys=("gen_ai.prompt.name", "mcp.prompt.name",), + keys=( + "gen_ai.prompt.name", + "mcp.prompt.name", + ), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Prompt names may reveal user behavior patterns or sensitive operations" + reason="Prompt names may reveal user behavior patterns or sensitive operations", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20016,11 +22097,15 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="gen_ai.prompt.name", reason="OTel uses gen_ai.prompt.name for MCP prompt names", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["gen_ai.prompt.name"], changelog=[ - ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of gen_ai.prompt.name"), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Deprecated in favor of gen_ai.prompt.name", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -20030,16 +22115,24 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.prompt.result..content",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Summarize the document.", examples=["Summarize the document."], changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted for results with multiple messages. is the zero-based position in the original messages array; absent fields do not renumber later messages.", + "Recorded only when output capture is enabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple messages. is the zero-based position in the original messages array; absent fields do not renumber later messages.","Recorded only when output capture is enabled."], ), "mcp.prompt.result..role": AttributeMetadata( brief="Legacy role of an indexed message in a multi-message MCP prompt result.", @@ -20047,24 +22140,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.prompt.result..role",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, example="user", examples=["user", "assistant"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted for results with multiple messages. is the zero-based position in the original messages array; absent fields do not renumber later messages.", + "Recorded only when output capture is enabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple messages. is the zero-based position in the original messages array; absent fields do not renumber later messages.","Recorded only when output capture is enabled."], ), "mcp.prompt.result.description": AttributeMetadata( brief="Description of the prompt result.", type=AttributeType.STRING, keys=("mcp.prompt.result.description",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="A summary of the requested information", @@ -20076,9 +22175,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Content of the message in the prompt result. Used for single message results only.", type=AttributeType.STRING, keys=("mcp.prompt.result.message_content",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="Please provide a summary of the document", @@ -20090,9 +22187,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Number of messages in the prompt result.", type=AttributeType.INTEGER, keys=("mcp.prompt.result.message_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=3, @@ -20105,9 +22200,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Role of the message in the prompt result. Used for single message results only.", type=AttributeType.STRING, keys=("mcp.prompt.result.message_role",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="user", @@ -20119,15 +22212,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Readiness indicator for the legacy MCP initialization handshake. A non-zero value indicates that notifications/initialized has completed initialization. Omit for protocol versions without this handshake.", type=AttributeType.INTEGER, keys=("mcp.protocol.ready",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, examples=[1], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that readiness describes the legacy MCP initialization handshake"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Clarified that readiness describes the legacy MCP initialization handshake", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.3.0", prs=[171]), ], @@ -20136,16 +22231,22 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Version of the Model Context Protocol used for the operation.", type=AttributeType.STRING, keys=("mcp.protocol.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="2024-11-05", examples=["2024-11-05"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the protocol version applies to an operation without requiring a session"), - ChangelogEntry(version="0.12.0", prs=[420], description="Set is_in_otel=true, attribute exists in OTel MCP registry"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Clarified that the protocol version applies to an operation without requiring a session", + ), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Set is_in_otel=true, attribute exists in OTel MCP registry", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -20154,8 +22255,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): type=AttributeType.STRING, keys=("mcp.request.argument.",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO, - reason="Arguments contain user input" + key=ApplyScrubbing.AUTO, reason="Arguments contain user input" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20170,8 +22270,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): type=AttributeType.STRING, keys=("mcp.request.argument.name",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO, - reason="Prompt names can contain user input" + key=ApplyScrubbing.AUTO, reason="Prompt names can contain user input" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20185,8 +22284,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): type=AttributeType.STRING, keys=("mcp.request.argument.uri",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO, - reason="URIs can contain user file paths" + key=ApplyScrubbing.AUTO, reason="URIs can contain user file paths" ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20198,10 +22296,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "mcp.request.id": AttributeMetadata( brief="JSON-RPC request identifier for the MCP request, used to correlate the request with its response.", type=AttributeType.STRING, - keys=("jsonrpc.request.id", "mcp.request.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "jsonrpc.request.id", + "mcp.request.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1", @@ -20209,12 +22308,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="jsonrpc.request.id", reason="OTel models MCP as JSON-RPC, uses jsonrpc.request.id", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["jsonrpc.request.id"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Removed the session-scoped uniqueness requirement from the request identifier"), - ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of jsonrpc.request.id"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Removed the session-scoped uniqueness requirement from the request identifier", + ), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Deprecated in favor of jsonrpc.request.id", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -20222,17 +22329,27 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="URI scheme of the MCP resource being accessed, extracted from its URI. This is distinct from the network protocol used to communicate with the MCP server.", type=AttributeType.STRING, keys=("mcp.resource.protocol",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="file", examples=["file", "postgres"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Clarified Sentry-specific semantics and removed the incorrect network attribute alias and deprecation"), - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol as an alias"), - ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of network.protocol.name"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Clarified Sentry-specific semantics and removed the incorrect network attribute alias and deprecation", + ), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.protocol as an alias", + ), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Deprecated in favor of network.protocol.name", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -20241,14 +22358,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): type=AttributeType.STRING, keys=("mcp.resource.uri",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO, - reason="URIs can contain sensitive file paths" + key=ApplyScrubbing.AUTO, reason="URIs can contain sensitive file paths" ), is_in_otel=True, visibility=Visibility.PUBLIC, example="file:///path/to/file.txt", changelog=[ - ChangelogEntry(version="0.12.0", prs=[420], description="Set is_in_otel=true, attribute exists in OTel MCP registry"), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Set is_in_otel=true, attribute exists in OTel MCP registry", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -20256,15 +22376,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the MCP server implementation, as declared in serverInfo.", type=AttributeType.STRING, keys=("mcp.server.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="example-mcp-server", examples=["example-mcp-server"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the attribute describes declared MCP implementation metadata"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Clarified that the attribute describes declared MCP implementation metadata", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -20274,14 +22396,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.server.title",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Server titles may reveal user-specific application configurations or custom setups" + reason="Server titles may reveal user-specific application configurations or custom setups", ), is_in_otel=False, visibility=Visibility.PUBLIC, example="Example MCP Server", examples=["Example MCP Server"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the attribute describes declared MCP implementation metadata"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Clarified that the attribute describes declared MCP implementation metadata", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -20289,15 +22415,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Version of the MCP server implementation, as declared in serverInfo.", type=AttributeType.STRING, keys=("mcp.server.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="0.1.0", examples=["0.1.0"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the attribute describes declared MCP implementation metadata"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Clarified that the attribute describes declared MCP implementation metadata", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -20305,38 +22433,52 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Identifier for an MCP protocol session, when the operation belongs to a session.", type=AttributeType.STRING, keys=("mcp.session.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="550e8400-e29b-41d4-a716-446655440000", examples=["550e8400-e29b-41d4-a716-446655440000"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Clarified that the identifier requires a real MCP protocol session"), - ChangelogEntry(version="0.12.0", prs=[420], description="Set is_in_otel=true, attribute exists in OTel MCP registry"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Clarified that the identifier requires a real MCP protocol session", + ), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Set is_in_otel=true, attribute exists in OTel MCP registry", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], - additional_context=["Applies to protocol versions and transports that provide MCP session management, including legacy Streamable HTTP sessions. Omit for operations without a protocol session; do not synthesize a session identifier from a request, connection, or conversation."], + additional_context=[ + "Applies to protocol versions and transports that provide MCP session management, including legacy Streamable HTTP sessions. Omit for operations without a protocol session; do not synthesize a session identifier from a request, connection, or conversation." + ], ), "mcp.tool.name": AttributeMetadata( brief="Name of the MCP tool being called.", type=AttributeType.STRING, - keys=("gen_ai.tool.name", "ai.function_call", "mcp.tool.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "gen_ai.tool.name", + "ai.function_call", + "mcp.tool.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="calculator", deprecation=DeprecationInfo( replacement="gen_ai.tool.name", reason="OTel uses gen_ai.tool.name for MCP tool names", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["gen_ai.tool.name","ai.function_call"], + aliases=["gen_ai.tool.name", "ai.function_call"], changelog=[ - ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of gen_ai.tool.name"), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Deprecated in favor of gen_ai.tool.name", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -20346,7 +22488,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..content",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20356,9 +22498,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", + "Recorded only when output capture is enabled.", + "This is one item's text, not the complete tool result. It must not be aliased or directly backfilled to gen_ai.tool.call.result; reconstructing the complete result requires aggregation.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled.","This is one item's text, not the complete tool result. It must not be aliased or directly backfilled to gen_ai.tool.call.result; reconstructing the complete result requires aggregation."], ), "mcp.tool.result..content_type": AttributeMetadata( brief="Legacy content type of an indexed content item in a multi-item MCP tool result.", @@ -20366,7 +22517,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..content_type",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20376,17 +22527,24 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", + "Recorded even when output capture is disabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded even when output capture is disabled."], ), "mcp.tool.result..data_size": AttributeMetadata( brief="Legacy length of the data string in UTF-16 code units of an indexed content item in a multi-item MCP tool result.", type=AttributeType.INTEGER, keys=("mcp.tool.result..data_size",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL, - reason="The length contains no result content." + key=ApplyScrubbing.MANUAL, reason="The length contains no result content." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20396,9 +22554,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", + "Recorded only when output capture is enabled.", + "The JavaScript SDK records data.length. For base64-encoded image or audio data, this counts encoded characters, not decoded bytes.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled.","The JavaScript SDK records data.length. For base64-encoded image or audio data, this counts encoded characters, not decoded bytes."], ), "mcp.tool.result..mime_type": AttributeMetadata( brief="Legacy MIME type of an indexed content item in a multi-item MCP tool result.", @@ -20406,7 +22573,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..mime_type",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20416,9 +22583,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", + "Recorded only when output capture is enabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled."], ), "mcp.tool.result..name": AttributeMetadata( brief="Legacy resource link name of an indexed content item in a multi-item MCP tool result.", @@ -20426,7 +22601,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..name",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20436,9 +22611,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", + "Recorded only when output capture is enabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled."], ), "mcp.tool.result..resource_mime_type": AttributeMetadata( brief="Legacy embedded resource MIME type of an indexed content item in a multi-item MCP tool result.", @@ -20446,7 +22629,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..resource_mime_type",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20456,9 +22639,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", + "Recorded only when output capture is enabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled."], ), "mcp.tool.result..resource_uri": AttributeMetadata( brief="Legacy embedded resource URI of an indexed content item in a multi-item MCP tool result.", @@ -20466,7 +22657,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..resource_uri",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20476,9 +22667,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", + "Recorded only when output capture is enabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled."], ), "mcp.tool.result..uri": AttributeMetadata( brief="Legacy resource link URI of an indexed content item in a multi-item MCP tool result.", @@ -20486,7 +22685,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result..uri",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20496,29 +22695,53 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.", + "Recorded only when output capture is enabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted for results with multiple content items. is the zero-based position in the original content array; absent fields do not renumber later items.","Recorded only when output capture is enabled."], ), "mcp.tool.result.content": AttributeMetadata( brief="The content of the tool result.", type=AttributeType.STRING, - keys=("gen_ai.tool.call.result", "ai.toolCall.result", "anthropic.tool_result.content", "gen_ai.tool.message", "gen_ai.tool.output", "mcp.tool.result.content",), + keys=( + "gen_ai.tool.call.result", + "ai.toolCall.result", + "anthropic.tool_result.content", + "gen_ai.tool.message", + "gen_ai.tool.output", + "mcp.tool.result.content", + ), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO, - reason="Tool results can contain user data" + key=ApplyScrubbing.AUTO, reason="Tool results can contain user data" ), is_in_otel=False, visibility=Visibility.PUBLIC, - example="{\"output\": \"rainy\", \"toolCallId\": \"1\"}", + example='{"output": "rainy", "toolCallId": "1"}', deprecation=DeprecationInfo( replacement="gen_ai.tool.call.result", reason="OTel uses gen_ai.tool.call.result for MCP tool results", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["gen_ai.tool.call.result","gen_ai.tool.message","gen_ai.tool.output","ai.toolCall.result","anthropic.tool_result.content"], + aliases=[ + "gen_ai.tool.call.result", + "gen_ai.tool.message", + "gen_ai.tool.output", + "ai.toolCall.result", + "anthropic.tool_result.content", + ], changelog=[ - ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of gen_ai.tool.call.result"), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Deprecated in favor of gen_ai.tool.call.result", + ), ChangelogEntry(version="0.3.0", prs=[171]), ChangelogEntry(version="0.2.0", prs=[164]), ], @@ -20527,9 +22750,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Number of content items in the tool result.", type=AttributeType.INTEGER, keys=("mcp.tool.result.content_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, @@ -20537,7 +22758,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="A count can be calculcated from the value of the gen_ai.tool.call.result attribute." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[669], description="Deprecate the attribute since it is redundant given gen_ai.tool.call.result."), + ChangelogEntry( + version="0.27.0", + prs=[669], + description="Deprecate the attribute since it is redundant given gen_ai.tool.call.result.", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.3.0", prs=[171]), ], @@ -20548,7 +22773,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result.content_type",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20558,17 +22783,24 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted only when the result contains exactly one content item.", + "Recorded even when output capture is disabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded even when output capture is disabled."], ), "mcp.tool.result.data_size": AttributeMetadata( brief="Legacy length of the data string in UTF-16 code units of the content item in a single-item MCP tool result.", type=AttributeType.INTEGER, keys=("mcp.tool.result.data_size",), apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL, - reason="The length contains no result content." + key=ApplyScrubbing.MANUAL, reason="The length contains no result content." ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20578,26 +22810,37 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted only when the result contains exactly one content item.", + "Recorded only when output capture is enabled.", + "The JavaScript SDK records data.length. For base64-encoded image or audio data, this counts encoded characters, not decoded bytes.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded only when output capture is enabled.","The JavaScript SDK records data.length. For base64-encoded image or audio data, this counts encoded characters, not decoded bytes."], ), "mcp.tool.result.is_error": AttributeMetadata( brief="Whether a tool execution resulted in an error.", type=AttributeType.BOOLEAN, keys=("mcp.tool.result.is_error",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=False, deprecation=DeprecationInfo( replacement="error.type", - reason="OTel uses error.type set to 'tool_error' when isError is true. Cannot be automatically backfilled due to type mismatch (boolean vs string)." + reason="OTel uses error.type set to 'tool_error' when isError is true. Cannot be automatically backfilled due to type mismatch (boolean vs string).", ), changelog=[ - ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of error.type"), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Deprecated in favor of error.type", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -20607,7 +22850,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result.mime_type",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20617,9 +22860,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted only when the result contains exactly one content item.", + "Recorded only when output capture is enabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded only when output capture is enabled."], ), "mcp.tool.result.name": AttributeMetadata( brief="Legacy resource link name of the content item in a single-item MCP tool result.", @@ -20627,7 +22878,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result.name",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20637,9 +22888,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted only when the result contains exactly one content item.", + "Recorded only when output capture is enabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded only when output capture is enabled."], ), "mcp.tool.result.resource_mime_type": AttributeMetadata( brief="Legacy embedded resource MIME type of the content item in a single-item MCP tool result.", @@ -20647,7 +22906,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result.resource_mime_type",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20657,9 +22916,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted only when the result contains exactly one content item.", + "Recorded only when output capture is enabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded only when output capture is enabled."], ), "mcp.tool.result.resource_uri": AttributeMetadata( brief="Legacy embedded resource URI of the content item in a single-item MCP tool result.", @@ -20667,7 +22934,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result.resource_uri",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20677,9 +22944,17 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted only when the result contains exactly one content item.", + "Recorded only when output capture is enabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded only when output capture is enabled."], ), "mcp.tool.result.uri": AttributeMetadata( brief="Legacy resource link URI of the content item in a single-item MCP tool result.", @@ -20687,7 +22962,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("mcp.tool.result.uri",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Preserve automatic scrubbing of server-provided result fields." + reason="Preserve automatic scrubbing of server-provided result fields.", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -20697,24 +22972,38 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Capture the complete tool result in gen_ai.tool.call.result instead. This attribute describes only part of the result and cannot be directly backfilled." ), changelog=[ - ChangelogEntry(version="0.27.0", prs=[689], description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill."), + ChangelogEntry( + version="0.27.0", + prs=[689], + description="Register an existing JavaScript SDK MCP result attribute as deprecated in favor of gen_ai.tool.call.result, without backfill.", + ), + ], + additional_context=[ + "Registers an existing Sentry JavaScript SDK attribute for compatibility.", + "Emitted only when the result contains exactly one content item.", + "Recorded only when output capture is enabled.", ], - additional_context=["Registers an existing Sentry JavaScript SDK attribute for compatibility.","Emitted only when the result contains exactly one content item.","Recorded only when output capture is enabled."], ), "mcp.transport": AttributeMetadata( brief="MCP transport implementation name, such as the transport class name. This identifies the implementation, not the network transport or application protocol.", type=AttributeType.STRING, keys=("mcp.transport",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="StdioServerTransport", examples=["StdioServerTransport", "CustomHTTPTransport"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Clarified Sentry-specific semantics and removed the incorrect network attribute alias and deprecation"), - ChangelogEntry(version="0.12.0", prs=[420], description="Deprecated in favor of network.transport"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Clarified Sentry-specific semantics and removed the incorrect network attribute alias and deprecation", + ), + ChangelogEntry( + version="0.12.0", + prs=[420], + description="Deprecated in favor of network.transport", + ), ChangelogEntry(version="0.3.0", prs=[171]), ], ), @@ -20722,9 +23011,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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.", type=AttributeType.STRING, keys=("mdc.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -20737,23 +23024,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The number of messages sent, received, or processed in the scope of the batching operation.", type=AttributeType.INTEGER, keys=("messaging.batch.message_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=10, changelog=[ - ChangelogEntry(version="0.6.0", prs=[341], description="Added messaging.batch.message_count attribute"), + ChangelogEntry( + version="0.6.0", + prs=[341], + description="Added messaging.batch.message_count attribute", + ), ], ), "messaging.conversation_id": AttributeMetadata( - brief="The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called \"Correlation ID\".", + brief='The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".', type=AttributeType.STRING, - keys=("messaging.message.conversation_id", "messaging.conversation_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "messaging.message.conversation_id", + "messaging.conversation_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="MyConversationId", @@ -20761,40 +23051,47 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="messaging.message.conversation_id", reason="This attribute is being deprecated in favor of messaging.message.conversation_id.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["messaging.message.conversation_id"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.conversation_id attribute"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.conversation_id attribute", + ), ], ), "messaging.destination": AttributeMetadata( brief="The message destination name.", type=AttributeType.STRING, - keys=("messaging.destination.name", "messaging.destination",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "messaging.destination.name", + "messaging.destination", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="BestTopic", deprecation=DeprecationInfo( replacement="messaging.destination.name", reason="This attribute is being deprecated in favor of messaging.destination.name, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["messaging.destination.name"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[482], description="Added messaging.destination attribute, deprecated in favor of messaging.destination.name"), + ChangelogEntry( + version="0.16.0", + prs=[482], + description="Added messaging.destination attribute, deprecated in favor of messaging.destination.name", + ), ], ), "messaging.destination.connection": AttributeMetadata( brief="The message destination connection.", type=AttributeType.STRING, keys=("messaging.destination.connection",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="BestTopic", @@ -20806,16 +23103,21 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "messaging.destination.name": AttributeMetadata( brief="The message destination name.", type=AttributeType.STRING, - keys=("messaging.destination.name", "messaging.destination",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "messaging.destination.name", + "messaging.destination", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="BestTopic", aliases=["messaging.destination"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[482], description="Added messaging.destination as an alias"), + ChangelogEntry( + version="0.16.0", + prs=[482], + description="Added messaging.destination as an alias", + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -20824,23 +23126,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The identifier of the partition messages are sent to or received from, unique within the messaging.destination.name.", type=AttributeType.STRING, keys=("messaging.destination.partition.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="1", changelog=[ - ChangelogEntry(version="0.19.0", prs=[474], description="Added messaging.destination.partition.id attribute"), + ChangelogEntry( + version="0.19.0", + prs=[474], + description="Added messaging.destination.partition.id attribute", + ), ], ), "messaging.destination_kind": AttributeMetadata( brief="The kind of message destination.", type=AttributeType.STRING, keys=("messaging.destination_kind",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="topic", @@ -20848,58 +23150,66 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="Deprecated from OTEL, which now models the destination kind via messaging.operation.type and messaging.destination.name." ), changelog=[ - ChangelogEntry(version="0.19.0", prs=[509], description="Added deprecated messaging.destination_kind attribute for parity with legacy OTel instrumentations."), + ChangelogEntry( + version="0.19.0", + prs=[509], + description="Added deprecated messaging.destination_kind attribute for parity with legacy OTel instrumentations.", + ), ], ), "messaging.kafka.message.key": AttributeMetadata( 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=AttributeType.STRING, keys=("messaging.kafka.message.key",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="myKey", changelog=[ - ChangelogEntry(version="0.19.0", prs=[474], description="Added messaging.kafka.message.key attribute"), + ChangelogEntry( + version="0.19.0", + prs=[474], + description="Added messaging.kafka.message.key attribute", + ), ], ), "messaging.kafka.message.tombstone": AttributeMetadata( brief="A boolean that is true if the message is a tombstone.", type=AttributeType.BOOLEAN, keys=("messaging.kafka.message.tombstone",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry(version="0.19.0", prs=[474], description="Added messaging.kafka.message.tombstone attribute"), + ChangelogEntry( + version="0.19.0", + prs=[474], + description="Added messaging.kafka.message.tombstone attribute", + ), ], ), "messaging.kafka.offset": AttributeMetadata( brief="The offset of a record in the corresponding Kafka partition.", type=AttributeType.INTEGER, keys=("messaging.kafka.offset",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=42, changelog=[ - ChangelogEntry(version="0.19.0", prs=[474], description="Added messaging.kafka.offset attribute"), + ChangelogEntry( + version="0.19.0", + prs=[474], + description="Added messaging.kafka.offset attribute", + ), ], ), "messaging.message.body.size": AttributeMetadata( brief="The size of the message body in bytes.", type=AttributeType.INTEGER, keys=("messaging.message.body.size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=839, @@ -20907,34 +23217,38 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="messaging.message.body.size", - type="byte" - ), + search_alias=SearchAlias(name="messaging.message.body.size", type="byte"), ), "messaging.message.conversation_id": AttributeMetadata( - brief="The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called \"Correlation ID\".", + brief='The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called "Correlation ID".', type=AttributeType.STRING, - keys=("messaging.message.conversation_id", "messaging.conversation_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "messaging.message.conversation_id", + "messaging.conversation_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="MyConversationId", aliases=["messaging.conversation_id"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.conversation_id as an alias"), - ChangelogEntry(version="0.16.0", prs=[468], description="Added messaging.message.conversation_id attribute"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.conversation_id as an alias", + ), + ChangelogEntry( + version="0.16.0", + prs=[468], + description="Added messaging.message.conversation_id attribute", + ), ], ), "messaging.message.envelope.size": AttributeMetadata( brief="The size of the message body and metadata in bytes.", type=AttributeType.INTEGER, keys=("messaging.message.envelope.size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=1045, @@ -20946,16 +23260,21 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "messaging.message.id": AttributeMetadata( brief="A value used by the messaging system as an identifier for the message, represented as a string.", type=AttributeType.STRING, - keys=("messaging.message.id", "messaging.message_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "messaging.message.id", + "messaging.message_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="f47ac10b58cc4372a5670e02b2c3d479", aliases=["messaging.message_id"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.message_id as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.message_id as an alias", + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -20964,9 +23283,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The latency between when the message was published and received.", type=AttributeType.INTEGER, keys=("messaging.message.receive.latency",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1732847252, @@ -20975,17 +23292,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.0.0"), ], search_alias=SearchAlias( - name="messaging.message.receive.latency", - type="millisecond" + name="messaging.message.receive.latency", type="millisecond" ), ), "messaging.message.retry.count": AttributeMetadata( brief="The amount of attempts to send the message.", type=AttributeType.INTEGER, keys=("messaging.message.retry.count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, @@ -20997,10 +23311,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "messaging.message_id": AttributeMetadata( brief="A value used by the messaging system as an identifier for the message, represented as a string.", type=AttributeType.STRING, - keys=("messaging.message.id", "messaging.message_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "messaging.message.id", + "messaging.message_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="452a7c7c7c7048c2f887f0e7", @@ -21008,20 +23323,25 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="messaging.message.id", reason="This attribute is being deprecated in favor of messaging.message.id.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["messaging.message.id"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.message_id attribute"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.message_id attribute", + ), ], ), "messaging.operation": AttributeMetadata( brief="The name of the messaging operation being performed.", type=AttributeType.STRING, - keys=("messaging.operation.name", "messaging.operation",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "messaging.operation.name", + "messaging.operation", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="publish", @@ -21029,36 +23349,47 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="messaging.operation.name", reason="This attribute is being deprecated in favor of messaging.operation.name.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["messaging.operation.name"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.operation attribute"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.operation attribute", + ), ], ), "messaging.operation.name": AttributeMetadata( brief="The name of the messaging operation being performed", type=AttributeType.STRING, - keys=("messaging.operation.name", "messaging.operation",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "messaging.operation.name", + "messaging.operation", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="send", aliases=["messaging.operation"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.operation as an alias"), - ChangelogEntry(version="0.11.0", prs=[392], description="Added messaging.operation.name attribute"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.operation as an alias", + ), + ChangelogEntry( + version="0.11.0", + prs=[392], + description="Added messaging.operation.name attribute", + ), ], ), "messaging.operation.type": AttributeMetadata( brief="A string identifying the type of the messaging operation", type=AttributeType.STRING, keys=("messaging.operation.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="create", @@ -21069,10 +23400,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "messaging.protocol": AttributeMetadata( brief="OSI application layer or non-OSI equivalent.", type=AttributeType.STRING, - keys=("network.protocol.name", "messaging.protocol", "net.protocol.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.protocol.name", + "messaging.protocol", + "net.protocol.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="AMQP", @@ -21080,21 +23413,32 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="network.protocol.name", reason="This attribute is being deprecated in favor of network.protocol.name.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["network.protocol.name","net.protocol.name"], + aliases=["network.protocol.name", "net.protocol.name"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Removed the semantically distinct mcp.resource.protocol alias"), - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol attribute"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Removed the semantically distinct mcp.resource.protocol alias", + ), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.protocol attribute", + ), ], ), "messaging.protocol_version": AttributeMetadata( brief="The actual version of the protocol used for network communication.", type=AttributeType.STRING, - keys=("network.protocol.version", "http.flavor", "messaging.protocol_version", "net.protocol.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.protocol.version", + "http.flavor", + "messaging.protocol_version", + "net.protocol.version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="0.9.1", @@ -21102,36 +23446,50 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="network.protocol.version", reason="This attribute is being deprecated in favor of network.protocol.version.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["network.protocol.version","http.flavor","net.protocol.version"], + aliases=["network.protocol.version", "http.flavor", "net.protocol.version"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol_version attribute"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.protocol_version attribute", + ), ], ), "messaging.rabbitmq.destination.routing_key": AttributeMetadata( brief="RabbitMQ message routing key.", type=AttributeType.STRING, - keys=("messaging.rabbitmq.destination.routing_key", "messaging.rabbitmq.routing_key",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "messaging.rabbitmq.destination.routing_key", + "messaging.rabbitmq.routing_key", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="myKey", aliases=["messaging.rabbitmq.routing_key"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.rabbitmq.routing_key as an alias"), - ChangelogEntry(version="0.16.0", prs=[468], description="Added messaging.rabbitmq.destination.routing_key attribute"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.rabbitmq.routing_key as an alias", + ), + ChangelogEntry( + version="0.16.0", + prs=[468], + description="Added messaging.rabbitmq.destination.routing_key attribute", + ), ], ), "messaging.rabbitmq.routing_key": AttributeMetadata( brief="RabbitMQ message routing key.", type=AttributeType.STRING, - keys=("messaging.rabbitmq.destination.routing_key", "messaging.rabbitmq.routing_key",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "messaging.rabbitmq.destination.routing_key", + "messaging.rabbitmq.routing_key", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="myKey", @@ -21139,20 +23497,22 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="messaging.rabbitmq.destination.routing_key", reason="This attribute is being deprecated in favor of messaging.rabbitmq.destination.routing_key.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["messaging.rabbitmq.destination.routing_key"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.rabbitmq.routing_key attribute"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.rabbitmq.routing_key attribute", + ), ], ), "messaging.system": AttributeMetadata( brief="The messaging system as identified by the client instrumentation.", type=AttributeType.STRING, keys=("messaging.system",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="activemq", @@ -21164,10 +23524,14 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "messaging.url": AttributeMetadata( brief="The connection string of the messaging broker.", type=AttributeType.STRING, - keys=("url.full", "aws.request.url", "http.url", "messaging.url", "url",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "url.full", + "aws.request.url", + "http.url", + "messaging.url", + "url", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="amqp://guest:guest@localhost:5672", @@ -21175,30 +23539,36 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="url.full", reason="This attribute is being deprecated in favor of url.full.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["url.full","http.url","url","aws.request.url"], + aliases=["url.full", "http.url", "url", "aws.request.url"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.url attribute"), + ChangelogEntry( + version="0.21.0", prs=[581], description="Added messaging.url attribute" + ), ], ), "method": AttributeMetadata( brief="The HTTP method used.", type=AttributeType.STRING, - keys=("http.request.method", "http.method", "http.request_method", "method",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.request.method", + "http.method", + "http.request_method", + "method", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="GET", deprecation=DeprecationInfo( - replacement="http.request.method", - status=DeprecationStatus.NORMALIZE + replacement="http.request.method", status=DeprecationStatus.NORMALIZE ), - aliases=["http.request.method","http.request_method","http.method"], + aliases=["http.request.method", "http.request_method", "http.method"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[497], description="Configured normalization"), + ChangelogEntry( + version="0.19.0", prs=[497], description="Configured normalization" + ), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -21206,80 +23576,124 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "middleware.name": AttributeMetadata( brief="The name of the middleware.", type=AttributeType.STRING, - keys=("middleware.name", "django.middleware_name", "litestar.middleware_name", "starlette.middleware_name", "starlite.middleware_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "middleware.name", + "django.middleware_name", + "litestar.middleware_name", + "starlette.middleware_name", + "starlite.middleware_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="AuthenticationMiddleware", - aliases=["django.middleware_name","starlite.middleware_name","litestar.middleware_name","starlette.middleware_name"], + aliases=[ + "django.middleware_name", + "starlite.middleware_name", + "litestar.middleware_name", + "starlette.middleware_name", + ], changelog=[ - ChangelogEntry(version="0.19.0", prs=[485, 486, 519, 520], description="Added django.middleware_name, starlite.middleware_name, litestar.middleware_name and starlette.middleware_name as aliases"), - ChangelogEntry(version="0.6.0", prs=[336], description="Added middleware.name attribute"), + ChangelogEntry( + version="0.19.0", + prs=[485, 486, 519, 520], + description="Added django.middleware_name, starlite.middleware_name, litestar.middleware_name and starlette.middleware_name as aliases", + ), + ChangelogEntry( + version="0.6.0", + prs=[336], + description="Added middleware.name attribute", + ), ], ), "navigation.origin": AttributeMetadata( brief="The origin of the navigation (usually client side router navigations). Should preferrably parameterized template (like url.template) or a URL path otherwise.", type=AttributeType.STRING, - keys=("router.navigation.origin", "navigation.origin", "sentry.sveltekit.navigation.from",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "router.navigation.origin", + "navigation.origin", + "sentry.sveltekit.navigation.from", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="/users/:id", deprecation=DeprecationInfo( replacement="router.navigation.origin", reason="Moved to the router.* namespace to separate client-side router navigations from browser navigations.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["router.navigation.origin","sentry.sveltekit.navigation.from"], + aliases=["router.navigation.origin", "sentry.sveltekit.navigation.from"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[600], description="Deprecated in favor of router.navigation.origin"), - ChangelogEntry(version="0.16.0", prs=[467], description="Added navigation.origin attribute"), + ChangelogEntry( + version="0.22.0", + prs=[600], + description="Deprecated in favor of router.navigation.origin", + ), + ChangelogEntry( + version="0.16.0", + prs=[467], + description="Added navigation.origin attribute", + ), ], ), "navigation.route.id": AttributeMetadata( brief="The identifier of the matched client-side route, as assigned by the routing framework (e.g., vue-router name, react-router id).", type=AttributeType.STRING, - keys=("router.navigation.route.id", "navigation.route.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "router.navigation.route.id", + "navigation.route.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="AboutView", deprecation=DeprecationInfo( replacement="router.navigation.route.id", reason="Moved to the router.* namespace to separate client-side router navigations from browser navigations.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["router.navigation.route.id"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[600], description="Deprecated in favor of router.navigation.route.id"), - ChangelogEntry(version="0.16.0", prs=[468], description="Added navigation.route.id attribute"), + ChangelogEntry( + version="0.22.0", + prs=[600], + description="Deprecated in favor of router.navigation.route.id", + ), + ChangelogEntry( + version="0.16.0", + prs=[468], + description="Added navigation.route.id attribute", + ), ], ), "navigation.type": AttributeMetadata( brief="The type of navigation done by a client-side router.", type=AttributeType.STRING, - keys=("router.navigation.type", "navigation.type", "sentry.sveltekit.navigation.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "router.navigation.type", + "navigation.type", + "sentry.sveltekit.navigation.type", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="router.push", deprecation=DeprecationInfo( replacement="router.navigation.type", reason="Moved to the router.* namespace to separate client-side router navigations from browser navigations.", - status=DeprecationStatus.BACKFILL - ), - aliases=["router.navigation.type","sentry.sveltekit.navigation.type"], - changelog=[ - ChangelogEntry(version="0.22.0", prs=[600], description="Deprecated in favor of router.navigation.type"), - ChangelogEntry(version="0.16.0", prs=[467], description="Added new deprecated alias"), + status=DeprecationStatus.BACKFILL, + ), + aliases=["router.navigation.type", "sentry.sveltekit.navigation.type"], + changelog=[ + ChangelogEntry( + version="0.22.0", + prs=[600], + description="Deprecated in favor of router.navigation.type", + ), + ChangelogEntry( + version="0.16.0", prs=[467], description="Added new deprecated alias" + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -21288,9 +23702,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.INTEGER, keys=("nel.elapsed_time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=100, @@ -21300,12 +23712,10 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ], ), "nel.phase": AttributeMetadata( - brief="If request failed, the phase of its network error. If request succeeded, \"application\".", + brief='If request failed, the phase of its network error. If request succeeded, "application".', type=AttributeType.STRING, keys=("nel.phase",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="application", @@ -21317,9 +23727,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="request's referrer, as determined by the referrer policy associated with its client.", type=AttributeType.STRING, keys=("nel.referrer",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://example.com/foo?bar=baz", @@ -21330,48 +23738,56 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "nel.sampling_fraction": AttributeMetadata( brief="The sampling fraction used to determine if the request should be sampled.", type=AttributeType.DOUBLE, - keys=("nel.sampling_fraction", "nel.sampling_function",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "nel.sampling_fraction", + "nel.sampling_function", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, examples=[0.5], aliases=["nel.sampling_function"], changelog=[ - ChangelogEntry(version="0.26.0", prs=[668], description="Added nel.sampling_fraction attribute"), + ChangelogEntry( + version="0.26.0", + prs=[668], + description="Added nel.sampling_fraction attribute", + ), ], ), "nel.sampling_function": AttributeMetadata( brief="The sampling function used to determine if the request should be sampled.", type=AttributeType.DOUBLE, - keys=("nel.sampling_fraction", "nel.sampling_function",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "nel.sampling_fraction", + "nel.sampling_function", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, deprecation=DeprecationInfo( replacement="nel.sampling_fraction", reason="The correct name of this attribute is nel.sampling_fraction", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["nel.sampling_fraction"], changelog=[ - ChangelogEntry(version="0.26.0", prs=[668], description="Deprecated in favor of nel.sampling_fraction"), + ChangelogEntry( + version="0.26.0", + prs=[668], + description="Deprecated in favor of nel.sampling_fraction", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[68]), ], ), "nel.type": AttributeMetadata( - brief="If request failed, the type of its network error. If request succeeded, \"ok\".", + brief='If request failed, the type of its network error. If request succeeded, "ok".', type=AttributeType.STRING, keys=("nel.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="dns.unreachable", @@ -21382,18 +23798,19 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.host.ip": AttributeMetadata( brief="Local address of the network connection - IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=("network.local.address", "net.host.ip", "net.sock.host.addr",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.local.address", + "net.host.ip", + "net.sock.host.addr", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="192.168.0.1", deprecation=DeprecationInfo( - replacement="network.local.address", - status=DeprecationStatus.BACKFILL + replacement="network.local.address", status=DeprecationStatus.BACKFILL ), - aliases=["network.local.address","net.sock.host.addr"], + aliases=["network.local.address", "net.sock.host.addr"], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), @@ -21402,22 +23819,40 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.host.name": AttributeMetadata( brief="Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=("server.address", "address", "http.server_name", "net.host.name", "server_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "server.address", + "address", + "http.server_name", + "net.host.name", + "server_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", deprecation=DeprecationInfo( - replacement="server.address", - status=DeprecationStatus.BACKFILL - ), - aliases=["address","server.address","http.server_name","http.host","server_name","net.peer.name"], - changelog=[ - ChangelogEntry(version="0.24.0", prs=[647], description="Added server_name as an alias"), - ChangelogEntry(version="0.21.0", prs=[588, 602], description="Added net.peer.name as an alias"), - ChangelogEntry(version="0.19.0", prs=[534], description="Added address as an alias"), + replacement="server.address", status=DeprecationStatus.BACKFILL + ), + aliases=[ + "address", + "server.address", + "http.server_name", + "http.host", + "server_name", + "net.peer.name", + ], + changelog=[ + ChangelogEntry( + version="0.24.0", prs=[647], description="Added server_name as an alias" + ), + ChangelogEntry( + version="0.21.0", + prs=[588, 602], + description="Added net.peer.name as an alias", + ), + ChangelogEntry( + version="0.19.0", prs=[534], description="Added address as an alias" + ), ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), ], @@ -21425,20 +23860,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.host.port": AttributeMetadata( brief="Server port number.", type=AttributeType.INTEGER, - keys=("server.port", "net.host.port", "port",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "server.port", + "net.host.port", + "port", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=1337, deprecation=DeprecationInfo( - replacement="server.port", - status=DeprecationStatus.BACKFILL + replacement="server.port", status=DeprecationStatus.BACKFILL ), - aliases=["server.port","port"], + aliases=["server.port", "port"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[532], description="Added port as an alias"), + ChangelogEntry( + version="0.19.0", prs=[532], description="Added port as an alias" + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), @@ -21447,18 +23885,19 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.peer.ip": AttributeMetadata( brief="Peer address of the network connection - IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=("network.peer.address", "net.peer.ip", "net.sock.peer.addr",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "network.peer.address", + "net.peer.ip", + "net.sock.peer.addr", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="192.168.0.1", deprecation=DeprecationInfo( - replacement="network.peer.address", - status=DeprecationStatus.BACKFILL + replacement="network.peer.address", status=DeprecationStatus.BACKFILL ), - aliases=["network.peer.address","net.sock.peer.addr"], + aliases=["network.peer.address", "net.sock.peer.addr"], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), @@ -21468,20 +23907,31 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.", type=AttributeType.STRING, keys=("net.peer.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", deprecation=DeprecationInfo( replacement="server.address", - reason="Deprecated, use server.address on client spans and client.address on server spans." - ), - aliases=["address","server.address","http.server_name","net.host.name","http.host","server_name"], - changelog=[ - ChangelogEntry(version="0.24.0", prs=[647], description="Added server_name as an alias"), - ChangelogEntry(version="0.21.0", prs=[588, 602], description="Added the server.address alias group to net.peer.name"), + reason="Deprecated, use server.address on client spans and client.address on server spans.", + ), + aliases=[ + "address", + "server.address", + "http.server_name", + "net.host.name", + "http.host", + "server_name", + ], + changelog=[ + ChangelogEntry( + version="0.24.0", prs=[647], description="Added server_name as an alias" + ), + ChangelogEntry( + version="0.21.0", + prs=[588, 602], + description="Added the server.address alias group to net.peer.name", + ), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -21490,15 +23940,13 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Peer port number.", type=AttributeType.INTEGER, keys=("net.peer.port",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=1337, deprecation=DeprecationInfo( replacement="server.port", - reason="Deprecated, use server.port on client spans and client.port on server spans." + reason="Deprecated, use server.port on client spans and client.port on server spans.", ), changelog=[ ChangelogEntry(version="0.4.0", prs=[228]), @@ -21509,22 +23957,31 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.protocol.name": AttributeMetadata( brief="OSI application layer or non-OSI equivalent.", type=AttributeType.STRING, - keys=("network.protocol.name", "messaging.protocol", "net.protocol.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.protocol.name", + "messaging.protocol", + "net.protocol.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="http", examples=["http"], deprecation=DeprecationInfo( - replacement="network.protocol.name", - status=DeprecationStatus.BACKFILL + replacement="network.protocol.name", status=DeprecationStatus.BACKFILL ), - aliases=["network.protocol.name","messaging.protocol"], + aliases=["network.protocol.name", "messaging.protocol"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Removed the semantically distinct mcp.resource.protocol alias"), - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol as an alias"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Removed the semantically distinct mcp.resource.protocol alias", + ), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.protocol as an alias", + ), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -21532,20 +23989,30 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.protocol.version": AttributeMetadata( brief="The actual version of the protocol used for network communication.", type=AttributeType.STRING, - keys=("network.protocol.version", "http.flavor", "messaging.protocol_version", "net.protocol.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.protocol.version", + "http.flavor", + "messaging.protocol_version", + "net.protocol.version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="1.1", deprecation=DeprecationInfo( - replacement="network.protocol.version", - status=DeprecationStatus.BACKFILL + replacement="network.protocol.version", status=DeprecationStatus.BACKFILL ), - aliases=["network.protocol.version","http.flavor","messaging.protocol_version"], + aliases=[ + "network.protocol.version", + "http.flavor", + "messaging.protocol_version", + ], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol_version as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.protocol_version as an alias", + ), ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), ], @@ -21554,15 +24021,13 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="OSI transport and network layer", type=AttributeType.STRING, keys=("net.sock.family",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="inet", deprecation=DeprecationInfo( replacement="network.transport", - reason="Deprecated, use network.transport and network.type." + reason="Deprecated, use network.transport and network.type.", ), changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 127]), @@ -21572,18 +24037,19 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.sock.host.addr": AttributeMetadata( brief="Local address of the network connection mapping to Unix domain socket name.", type=AttributeType.STRING, - keys=("network.local.address", "net.host.ip", "net.sock.host.addr",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.local.address", + "net.host.ip", + "net.sock.host.addr", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="/var/my.sock", deprecation=DeprecationInfo( - replacement="network.local.address", - status=DeprecationStatus.BACKFILL + replacement="network.local.address", status=DeprecationStatus.BACKFILL ), - aliases=["network.local.address","net.host.ip"], + aliases=["network.local.address", "net.host.ip"], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), @@ -21592,16 +24058,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.sock.host.port": AttributeMetadata( brief="Local port number of the network connection.", type=AttributeType.INTEGER, - keys=("network.local.port", "net.sock.host.port",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.local.port", + "net.sock.host.port", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=8080, deprecation=DeprecationInfo( - replacement="network.local.port", - status=DeprecationStatus.BACKFILL + replacement="network.local.port", status=DeprecationStatus.BACKFILL ), aliases=["network.local.port"], changelog=[ @@ -21613,18 +24079,19 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.sock.peer.addr": AttributeMetadata( brief="Peer address of the network connection - IP address", type=AttributeType.STRING, - keys=("network.peer.address", "net.peer.ip", "net.sock.peer.addr",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "network.peer.address", + "net.peer.ip", + "net.sock.peer.addr", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="192.168.0.1", deprecation=DeprecationInfo( - replacement="network.peer.address", - status=DeprecationStatus.BACKFILL + replacement="network.peer.address", status=DeprecationStatus.BACKFILL ), - aliases=["network.peer.address","net.peer.ip"], + aliases=["network.peer.address", "net.peer.ip"], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 108, 127]), ChangelogEntry(version="0.0.0"), @@ -21634,9 +24101,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Peer address of the network connection - Unix domain socket name", type=AttributeType.STRING, keys=("net.sock.peer.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="/var/my.sock", @@ -21651,20 +24116,24 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "net.sock.peer.port": AttributeMetadata( brief="Peer port number of the network connection.", type=AttributeType.INTEGER, - keys=("network.peer.port", "net.sock.peer.port",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.peer.port", + "net.sock.peer.port", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=8080, deprecation=DeprecationInfo( - replacement="network.peer.port", - status=DeprecationStatus.BACKFILL + replacement="network.peer.port", status=DeprecationStatus.BACKFILL ), aliases=["network.peer.port"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[588], description="Added network.peer.port as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[588], + description="Added network.peer.port as an alias", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), @@ -21674,21 +24143,27 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="OSI transport layer or inter-process communication method.", type=AttributeType.STRING, keys=("net.transport",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="tcp", examples=["tcp"], deprecation=DeprecationInfo( replacement="network.transport", - reason="This attribute is being deprecated in favor of network.transport. The values change from ip_tcp and ip_udp to tcp and udp, so the old value cannot be copied over." + reason="This attribute is being deprecated in favor of network.transport. The values change from ip_tcp and ip_udp to tcp and udp, so the old value cannot be copied over.", ), aliases=["network.transport"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Removed the semantically distinct mcp.transport alias"), - ChangelogEntry(version="0.21.0", prs=[588], description="Set net.transport to _status null, because its values change on the replacement"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Removed the semantically distinct mcp.transport alias", + ), + ChangelogEntry( + version="0.21.0", + prs=[588], + description="Set net.transport to _status null, because its values change on the replacement", + ), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -21696,60 +24171,78 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "network.connection.effective_type": AttributeMetadata( brief="Specifies the effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g).", type=AttributeType.STRING, - keys=("network.connection.effective_type", "effectiveConnectionType",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.connection.effective_type", + "effectiveConnectionType", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="4g", aliases=["effectiveConnectionType"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[279], description="Added attribute network.connection.effective_type to be used instead of effectiveConnectionType"), + ChangelogEntry( + version="0.5.0", + prs=[279], + description="Added attribute network.connection.effective_type to be used instead of effectiveConnectionType", + ), ], ), "network.connection.rtt": AttributeMetadata( brief="Specifies the estimated effective round-trip time of the current connection, in milliseconds.", type=AttributeType.INTEGER, - keys=("network.connection.rtt", "connection.rtt",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.connection.rtt", + "connection.rtt", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=100, aliases=["connection.rtt"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[279], description="Added attribute network.connection.rtt to be used instead of connection.rtt"), + ChangelogEntry( + version="0.5.0", + prs=[279], + description="Added attribute network.connection.rtt to be used instead of connection.rtt", + ), ], ), "network.connection.type": AttributeMetadata( brief="Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc).", type=AttributeType.STRING, - keys=("network.connection.type", "connectionType", "device.connection_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.connection.type", + "connectionType", + "device.connection_type", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="wifi", - aliases=["device.connection_type","connectionType"], + aliases=["device.connection_type", "connectionType"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[279], description="Added attribute network.connection.type to be used instead of connectionType"), + ChangelogEntry( + version="0.5.0", + prs=[279], + description="Added attribute network.connection.type to be used instead of connectionType", + ), ], ), "network.local.address": AttributeMetadata( brief="Local address of the network connection - IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=("network.local.address", "net.host.ip", "net.sock.host.addr",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.local.address", + "net.host.ip", + "net.sock.host.addr", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="10.1.2.80", examples=["10.1.2.80", "/var/run/my.sock"], - aliases=["net.host.ip","net.sock.host.addr"], + aliases=["net.host.ip", "net.sock.host.addr"], changelog=[ ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), @@ -21758,10 +24251,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "network.local.port": AttributeMetadata( brief="Local port number of the network connection.", type=AttributeType.INTEGER, - keys=("network.local.port", "net.sock.host.port",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.local.port", + "net.sock.host.port", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=65400, @@ -21774,14 +24268,16 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "network.peer.address": AttributeMetadata( brief="Peer address of the network connection - IP address or Unix domain socket name.", type=AttributeType.STRING, - keys=("network.peer.address", "net.peer.ip", "net.sock.peer.addr",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "network.peer.address", + "net.peer.ip", + "net.sock.peer.addr", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="10.1.2.80", - aliases=["net.peer.ip","net.sock.peer.addr"], + aliases=["net.peer.ip", "net.sock.peer.addr"], changelog=[ ChangelogEntry(version="0.1.0", prs=[108, 127]), ChangelogEntry(version="0.0.0"), @@ -21790,16 +24286,21 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "network.peer.port": AttributeMetadata( brief="Peer port number of the network connection.", type=AttributeType.INTEGER, - keys=("network.peer.port", "net.sock.peer.port",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.peer.port", + "net.sock.peer.port", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=65400, aliases=["net.sock.peer.port"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[588], description="Added net.sock.peer.port as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[588], + description="Added net.sock.peer.port as an alias", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], @@ -21807,18 +24308,28 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "network.protocol.name": AttributeMetadata( brief="OSI application layer or non-OSI equivalent.", type=AttributeType.STRING, - keys=("network.protocol.name", "messaging.protocol", "net.protocol.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.protocol.name", + "messaging.protocol", + "net.protocol.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="http", examples=["http"], - aliases=["net.protocol.name","messaging.protocol"], - changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Removed the semantically distinct mcp.resource.protocol alias"), - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol as an alias"), + aliases=["net.protocol.name", "messaging.protocol"], + changelog=[ + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Removed the semantically distinct mcp.resource.protocol alias", + ), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.protocol as an alias", + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -21826,16 +24337,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "network.protocol.version": AttributeMetadata( brief="The actual version of the protocol used for network communication.", type=AttributeType.STRING, - keys=("network.protocol.version", "http.flavor", "messaging.protocol_version", "net.protocol.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "network.protocol.version", + "http.flavor", + "messaging.protocol_version", + "net.protocol.version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="1.1", - aliases=["http.flavor","net.protocol.version","messaging.protocol_version"], + aliases=["http.flavor", "net.protocol.version", "messaging.protocol_version"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.protocol_version as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.protocol_version as an alias", + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -21844,16 +24362,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="OSI transport layer or inter-process communication method.", type=AttributeType.STRING, keys=("network.transport",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="tcp", examples=["tcp"], aliases=["net.transport"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[671], description="Removed the semantically distinct mcp.transport alias"), + ChangelogEntry( + version="0.27.0", + prs=[671], + description="Removed the semantically distinct mcp.transport alias", + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -21862,9 +24382,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="OSI network layer or non-OSI equivalent.", type=AttributeType.STRING, keys=("network.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="ipv4", @@ -21876,35 +24394,42 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "os.build": AttributeMetadata( brief="The build ID of the operating system.", type=AttributeType.STRING, - keys=("os.build_id", "os.build",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "os.build_id", + "os.build", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1234567890", deprecation=DeprecationInfo( - replacement="os.build_id", - status=DeprecationStatus.BACKFILL + replacement="os.build_id", status=DeprecationStatus.BACKFILL ), aliases=["os.build_id"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[301], description="Added os.build attribute, deprecated in favor of os.build_id"), + ChangelogEntry( + version="0.5.0", + prs=[301], + description="Added os.build attribute, deprecated in favor of os.build_id", + ), ], ), "os.build_id": AttributeMetadata( brief="The build ID of the operating system.", type=AttributeType.STRING, - keys=("os.build_id", "os.build",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "os.build_id", + "os.build", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="1234567890", aliases=["os.build"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[301], description="Added os.build as alias"), + ChangelogEntry( + version="0.5.0", prs=[301], description="Added os.build as alias" + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], @@ -21913,9 +24438,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.", type=AttributeType.STRING, keys=("os.description",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="Ubuntu 18.04.1 LTS", @@ -21928,23 +24451,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="An independent kernel version string. Typically the entire output of the `uname` syscall.", type=AttributeType.STRING, keys=("os.kernel_version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="20.2.0", changelog=[ - ChangelogEntry(version="0.5.0", prs=[301], description="Added os.kernel_version attribute"), + ChangelogEntry( + version="0.5.0", + prs=[301], + description="Added os.kernel_version attribute", + ), ], ), "os.name": AttributeMetadata( brief="Human readable operating system name.", type=AttributeType.STRING, keys=("os.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="Ubuntu", @@ -21957,51 +24480,51 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.STRING, keys=("os.raw_description",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Ubuntu 22.04.4 LTS (Jammy Jellyfish)", changelog=[ - ChangelogEntry(version="0.5.0", prs=[301], description="Added os.raw_description attribute"), + ChangelogEntry( + version="0.5.0", + prs=[301], + description="Added os.raw_description attribute", + ), ], ), "os.rooted": AttributeMetadata( brief="Whether the operating system has been jailbroken or rooted.", type=AttributeType.BOOLEAN, keys=("os.rooted",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, changelog=[ - ChangelogEntry(version="0.5.0", prs=[301], description="Added os.rooted attribute"), + ChangelogEntry( + version="0.5.0", prs=[301], description="Added os.rooted attribute" + ), ], ), "os.theme": AttributeMetadata( brief="Whether the OS runs in dark mode or light mode.", type=AttributeType.STRING, keys=("os.theme",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="dark", changelog=[ - ChangelogEntry(version="0.5.0", prs=[301], description="Added os.theme attribute"), + ChangelogEntry( + version="0.5.0", prs=[301], description="Added os.theme attribute" + ), ], ), "os.type": AttributeMetadata( brief="The operating system type.", type=AttributeType.STRING, keys=("os.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="linux", @@ -22014,9 +24537,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The version of the operating system.", type=AttributeType.STRING, keys=("os.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="18.04.2", @@ -22028,30 +24549,32 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "otel.kind": AttributeMetadata( brief="The span kind (https://opentelemetry.io/docs/concepts/signals/traces/#span-kind). Deprecated, use `sentry.kind` instead.", type=AttributeType.STRING, - keys=("sentry.kind", "span.kind", "otel.kind",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sentry.kind", + "span.kind", + "otel.kind", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="SERVER", deprecation=DeprecationInfo( replacement="sentry.kind", reason="Deprecated in favor of sentry.kind", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["sentry.kind"], changelog=[ - ChangelogEntry(version="0.13.0", prs=[440], description="Added otel.kind attribute"), + ChangelogEntry( + version="0.13.0", prs=[440], description="Added otel.kind attribute" + ), ], ), "otel.scope.name": AttributeMetadata( brief="The name of the instrumentation scope - (InstrumentationScope.Name in OTLP).", type=AttributeType.STRING, keys=("otel.scope.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="io.opentelemetry.contrib.mongodb", @@ -22064,9 +24587,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The version of the instrumentation scope - (InstrumentationScope.Version in OTLP).", type=AttributeType.STRING, keys=("otel.scope.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="2.4.5", @@ -22079,9 +24600,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the code, either “OK” or “ERROR”. MUST NOT be set if the status code is UNSET.", type=AttributeType.STRING, keys=("otel.status_code",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="OK", @@ -22094,9 +24613,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Description of the Status if it has a value, otherwise not set.", type=AttributeType.STRING, keys=("otel.status_description",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="resource not found", @@ -22108,67 +24625,85 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "params.": AttributeMetadata( brief="Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.", type=AttributeType.STRING, - keys=("params.", "url.path.parameter.", "url.path.params.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "params.", + "url.path.parameter.", + "url.path.params.", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="params.id='123'", - aliases=["url.path.parameter.","url.path.params."], + aliases=["url.path.parameter.", "url.path.params."], changelog=[ - ChangelogEntry(version="0.21.0", prs=[586], description="Added url.path.params. as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[586], + description="Added url.path.params. as an alias", + ), ChangelogEntry(version="0.1.0", prs=[103]), ], ), "performance.activationStart": AttributeMetadata( brief="The time between initiating a navigation to a page and the browser activating the page", type=AttributeType.DOUBLE, - keys=("browser.performance.navigation.activation_start", "performance.activationStart",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.performance.navigation.activation_start", + "performance.activationStart", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1.983, deprecation=DeprecationInfo( replacement="browser.performance.navigation.activation_start", reason="The activationStart is now recorded as the browser.performance.navigation.activation_start attribute.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.performance.navigation.activation_start"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[321], description="Added performance.activationStart attribute"), + ChangelogEntry( + version="0.5.0", + prs=[321], + description="Added performance.activationStart attribute", + ), ], ), "performance.timeOrigin": AttributeMetadata( brief="The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated", type=AttributeType.DOUBLE, - keys=("browser.performance.time_origin", "performance.timeOrigin",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.performance.time_origin", + "performance.timeOrigin", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1776185678.886, deprecation=DeprecationInfo( replacement="browser.performance.time_origin", reason="The timeOrigin is now recorded as the browser.performance.time_origin attribute.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.performance.time_origin"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[321], description="Added performance.timeOrigin attribute"), + ChangelogEntry( + version="0.5.0", + prs=[321], + description="Added performance.timeOrigin attribute", + ), ], ), "port": AttributeMetadata( brief="The destination port for a TCP connection.", type=AttributeType.INTEGER, - keys=("server.port", "net.host.port", "port",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "server.port", + "net.host.port", + "port", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1337, @@ -22176,20 +24711,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="server.port", reason="Old namespace-less attribute, to be replaced with server.port for span-first future", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["server.port","net.host.port"], + aliases=["server.port", "net.host.port"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[532], description="Added port attribute"), + ChangelogEntry( + version="0.19.0", prs=[532], description="Added port attribute" + ), ], ), "previous_route": AttributeMetadata( brief="Also used by mobile SDKs to indicate the previous route in the application.", type=AttributeType.STRING, keys=("previous_route",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="HomeScreen", @@ -22202,23 +24737,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="All the command arguments (including the command/executable itself) as received by the process.", type=AttributeType.STRING_ARRAY, keys=("process.command_args",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example=["cmd/otecol", "--config=config.yaml"], changelog=[ - ChangelogEntry(version="0.6.0", prs=[327], description="Added process.command_args attribute"), + ChangelogEntry( + version="0.6.0", + prs=[327], + description="Added process.command_args attribute", + ), ], ), "process.executable.name": AttributeMetadata( brief="The name of the executable that started the process.", type=AttributeType.STRING, keys=("process.executable.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="getsentry", @@ -22230,16 +24765,21 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "process.pid": AttributeMetadata( brief="The process ID of the running process.", type=AttributeType.INTEGER, - keys=("process.pid", "subprocess.pid",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "process.pid", + "subprocess.pid", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=12345, aliases=["subprocess.pid"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[487], description="Added subprocess.pid as an alias"), + ChangelogEntry( + version="0.19.0", + prs=[487], + description="Added subprocess.pid as an alias", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], @@ -22247,10 +24787,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "process.runtime.description": AttributeMetadata( 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=AttributeType.STRING, - keys=("process.runtime.description", "runtime.raw_description",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "process.runtime.description", + "runtime.raw_description", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="Eclipse OpenJ9 VM openj9-0.21.0", @@ -22264,9 +24805,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name of the runtime engine.", type=AttributeType.STRING, keys=("process.runtime.engine.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="v8", @@ -22278,9 +24817,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The version of the runtime engine.", type=AttributeType.STRING, keys=("process.runtime.engine.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="12.9.202.13-rusty", @@ -22291,10 +24828,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "process.runtime.name": AttributeMetadata( brief="The name of the runtime. Equivalent to `name` in the Sentry runtime context.", type=AttributeType.STRING, - keys=("process.runtime.name", "runtime.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "process.runtime.name", + "runtime.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="node", @@ -22307,10 +24845,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "process.runtime.version": AttributeMetadata( brief="The version of the runtime of this process, as returned by the runtime without modification. Equivalent to `version` in the Sentry runtime context.", type=AttributeType.STRING, - keys=("process.runtime.version", "runtime.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "process.runtime.version", + "runtime.version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="18.04.2", @@ -22323,36 +24862,37 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "profile_id": AttributeMetadata( brief="The ID of the Sentry profile the span is associated with. This is only meaningful for transaction-based profiling.", type=AttributeType.STRING, - keys=("sentry.profile_id", "profile.id", "profile_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.profile_id", + "profile.id", + "profile_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="123e4567e89b12d3a456426614174000", deprecation=DeprecationInfo( - replacement="sentry.profile_id", - status=DeprecationStatus.NORMALIZE + replacement="sentry.profile_id", status=DeprecationStatus.NORMALIZE ), aliases=["sentry.profile_id"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[497], description="Added profile_id attribute"), + ChangelogEntry( + version="0.19.0", prs=[497], description="Added profile_id attribute" + ), ], ), "query.": AttributeMetadata( brief="An item in a query string. Usually added by client-side routing frameworks like vue-router.", type=AttributeType.STRING, keys=("query.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="query.id='123'", deprecation=DeprecationInfo( replacement="url.query", - reason="Instead of sending items individually in query., they should be sent all together with url.query." + reason="Instead of sending items individually in query., they should be sent all together with url.query.", ), changelog=[ ChangelogEntry(version="0.1.0", prs=[103]), @@ -22361,10 +24901,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "query": AttributeMetadata( brief="The database query being executed.", type=AttributeType.STRING, - keys=("db.query.text", "db.statement", "query",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "db.query.text", + "db.statement", + "query", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="SELECT * FROM users WHERE id = $1", @@ -22372,144 +24914,182 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="db.query.text", reason="While this attribute never specifically required parameterization, the replacement, db.query.text, does.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["db.query.text","db.statement"], + aliases=["db.query.text", "db.statement"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[530], description="Added query attribute"), + ChangelogEntry( + version="0.19.0", prs=[530], description="Added query attribute" + ), ], ), "react.version": AttributeMetadata( brief="The version of the React framework", type=AttributeType.STRING, keys=("react.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="18.2.0", changelog=[ - ChangelogEntry(version="0.7.0", prs=[368], description="Added react.version attribute"), + ChangelogEntry( + version="0.7.0", prs=[368], description="Added react.version attribute" + ), ], ), "react_native.architecture": AttributeMetadata( brief="The React Native architecture the app is running on. `new` for the New Architecture, where native modules are resolved as TurboModules through `TurboModuleRegistry`, `legacy` for the Old Architecture bridge.", type=AttributeType.STRING, - keys=("react_native.architecture", "turbo_module.arch",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.architecture", + "turbo_module.arch", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="new", examples=["new", "legacy"], aliases=["turbo_module.arch"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.architecture attribute"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added react_native.architecture attribute", + ), ], ), "react_native.module.call.count": AttributeMetadata( brief="The number of native module calls observed during the lifetime of the span.", type=AttributeType.INTEGER, - keys=("react_native.module.call.count", "turbo_module.total_call_count", "turbo_modules.total_call_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.call.count", + "turbo_module.total_call_count", + "turbo_modules.total_call_count", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=42, examples=[42], - aliases=["turbo_module.total_call_count","turbo_modules.total_call_count"], + aliases=["turbo_module.total_call_count", "turbo_modules.total_call_count"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.call.count attribute"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added react_native.module.call.count attribute", + ), ], ), "react_native.module.call.distinct_count": AttributeMetadata( brief="The number of distinct native module and method pairs called during the lifetime of the span. Useful as a cardinality signal when the per-method breakdown has been truncated.", type=AttributeType.INTEGER, - keys=("react_native.module.call.distinct_count", "turbo_module.unique_methods", "turbo_modules.unique_methods",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.call.distinct_count", + "turbo_module.unique_methods", + "turbo_modules.unique_methods", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=7, examples=[7], - aliases=["turbo_module.unique_methods","turbo_modules.unique_methods"], + aliases=["turbo_module.unique_methods", "turbo_modules.unique_methods"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.call.distinct_count attribute"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added react_native.module.call.distinct_count attribute", + ), ], ), "react_native.module.duration.max": AttributeMetadata( brief="The duration of the slowest single native module call observed during the lifetime of the span, in milliseconds.", type=AttributeType.DOUBLE, keys=("react_native.module.duration.max",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=512.5, examples=[512.5], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.duration.max attribute"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added react_native.module.duration.max attribute", + ), ], ), "react_native.module.duration.total": AttributeMetadata( brief="The combined wall-clock duration of all native module calls observed during the lifetime of the span, in milliseconds. Calls overlap, so this can exceed the span duration.", type=AttributeType.DOUBLE, - keys=("react_native.module.duration.total", "turbo_module.total_duration_ms", "turbo_modules.total_duration_ms",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.duration.total", + "turbo_module.total_duration_ms", + "turbo_modules.total_duration_ms", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=128.45, examples=[128.45], - aliases=["turbo_module.total_duration_ms","turbo_modules.total_duration_ms"], + aliases=["turbo_module.total_duration_ms", "turbo_modules.total_duration_ms"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.duration.total attribute"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added react_native.module.duration.total attribute", + ), ], ), "react_native.module.error.count": AttributeMetadata( brief="The number of native module calls that failed during the lifetime of the span. A call counts as failed when it threw, rejected, or — on the Old Architecture bridge only — invoked its failure callback.", type=AttributeType.INTEGER, - keys=("react_native.module.error.count", "turbo_module.total_error_count", "turbo_modules.total_error_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.error.count", + "turbo_module.total_error_count", + "turbo_modules.total_error_count", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, examples=[2], - aliases=["turbo_module.total_error_count","turbo_modules.total_error_count"], + aliases=["turbo_module.total_error_count", "turbo_modules.total_error_count"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.error.count attribute"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added react_native.module.error.count attribute", + ), ], ), "react_native.module.kind": AttributeMetadata( brief="Whether the native module call completed synchronously or reported completion later through a Promise or a callback. One of `sync` or `async`.", type=AttributeType.STRING, keys=("react_native.module.kind",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="sync", examples=["sync", "async"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.kind attribute"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added react_native.module.kind attribute", + ), ], ), "react_native.module.method": AttributeMetadata( brief="The name of the native module method that was called.", type=AttributeType.STRING, - keys=("react_native.module.method", "turbo_module.method",), + keys=( + "react_native.module.method", + "turbo_module.method", + ), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable" + reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22517,16 +25097,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): examples=["getUniqueId"], aliases=["turbo_module.method"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.method attribute"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added react_native.module.method attribute", + ), ], ), "react_native.module.name": AttributeMetadata( brief="The name of the native module the call was dispatched to. On the New Architecture this is the TurboModule name, on the Old Architecture the `NativeModules` key.", type=AttributeType.STRING, - keys=("react_native.module.name", "turbo_module.name",), + keys=( + "react_native.module.name", + "turbo_module.name", + ), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable" + reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22534,32 +25121,44 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): examples=["RNDeviceInfo"], aliases=["turbo_module.name"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.name attribute"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added react_native.module.name attribute", + ), ], ), "react_native.module.top.duration": AttributeMetadata( brief="The total duration attributed to `react_native.module.top.name`, in milliseconds.", type=AttributeType.DOUBLE, - keys=("react_native.module.top.duration", "turbo_module.top_module_duration_ms",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.top.duration", + "turbo_module.top_module_duration_ms", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=87.25, examples=[87.25], aliases=["turbo_module.top_module_duration_ms"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.top.duration attribute"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added react_native.module.top.duration attribute", + ), ], ), "react_native.module.top.name": AttributeMetadata( brief="The native module and method that accounted for the most total duration during the lifetime of the span, formatted as `.`.", type=AttributeType.STRING, - keys=("react_native.module.top.name", "turbo_module.top_module",), + keys=( + "react_native.module.top.name", + "turbo_module.top_module", + ), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable" + reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -22567,66 +25166,82 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): examples=["RNDeviceInfo.getUniqueId"], aliases=["turbo_module.top_module"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added react_native.module.top.name attribute"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added react_native.module.top.name attribute", + ), ], ), "redis.command": AttributeMetadata( brief="The name of the Redis operation being executed.", type=AttributeType.STRING, - keys=("db.operation.name", "cloudflare.d1.query_type", "db.operation", "redis.command",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "db.operation.name", + "cloudflare.d1.query_type", + "db.operation", + "redis.command", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="SELECT", examples=["SELECT"], deprecation=DeprecationInfo( - replacement="db.operation.name", - status=DeprecationStatus.BACKFILL + replacement="db.operation.name", status=DeprecationStatus.BACKFILL ), - aliases=["cloudflare.d1.query_type","db.operation.name","db.operation"], + aliases=["cloudflare.d1.query_type", "db.operation.name", "db.operation"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[531], description="Added redis.command attribute"), + ChangelogEntry( + version="0.19.0", prs=[531], description="Added redis.command attribute" + ), ], ), "redis.key": AttributeMetadata( brief="The key the Redis command is operating on.", type=AttributeType.STRING, - keys=("db.redis.key", "redis.key",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "db.redis.key", + "redis.key", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="user:2047:city", deprecation=DeprecationInfo( replacement="db.redis.key", reason="This attribute is being deprecated in favor of db.redis.key, which is the preferred replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["db.redis.key"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[484], description="Added redis.key attribute, deprecated in favor of db.redis.key"), + ChangelogEntry( + version="0.19.0", + prs=[484], + description="Added redis.key attribute, deprecated in favor of db.redis.key", + ), ], ), "release": AttributeMetadata( brief="The sentry release.", type=AttributeType.STRING, - keys=("sentry.release", "release", "service.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.release", + "release", + "service.version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="production", deprecation=DeprecationInfo( - replacement="sentry.release", - status=DeprecationStatus.NORMALIZE + replacement="sentry.release", status=DeprecationStatus.NORMALIZE ), aliases=["sentry.release"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[497], description="Configured normalization"), + ChangelogEntry( + version="0.19.0", prs=[497], description="Configured normalization" + ), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -22635,9 +25250,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Remix form data, being the form data key, the value being the form data value.", type=AttributeType.STRING, keys=("remix.action_form_data.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -22650,15 +25263,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The id of the sentry replay.", type=AttributeType.STRING, keys=("replayId",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="123e4567e89b12d3a456426614174000", - deprecation=DeprecationInfo( - replacement="sentry.replay_id" - ), + deprecation=DeprecationInfo(replacement="sentry.replay_id"), aliases=["sentry.replay_id"], changelog=[ ChangelogEntry(version="0.24.0", prs=[401]), @@ -22667,20 +25276,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "replay_id": AttributeMetadata( brief="The id of the sentry replay.", type=AttributeType.STRING, - keys=("sentry.replay_id", "replay.id", "replay_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.replay_id", + "replay.id", + "replay_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="123e4567e89b12d3a456426614174000", deprecation=DeprecationInfo( - replacement="sentry.replay_id", - status=DeprecationStatus.NORMALIZE + replacement="sentry.replay_id", status=DeprecationStatus.NORMALIZE ), aliases=["sentry.replay_id"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[497], description="Configured normalization"), + ChangelogEntry( + version="0.19.0", prs=[497], description="Configured normalization" + ), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], @@ -22688,16 +25300,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "resource.deployment.environment": AttributeMetadata( brief="The software deployment environment name.", type=AttributeType.STRING, - keys=("sentry.environment", "environment", "resource.deployment.environment", "resource.deployment.environment.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sentry.environment", + "environment", + "resource.deployment.environment", + "resource.deployment.environment.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="production", deprecation=DeprecationInfo( - replacement="sentry.environment", - status=DeprecationStatus.BACKFILL + replacement="sentry.environment", status=DeprecationStatus.BACKFILL ), changelog=[ ChangelogEntry(version="0.5.0", prs=[266]), @@ -22706,16 +25320,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "resource.deployment.environment.name": AttributeMetadata( brief="The software deployment environment name.", type=AttributeType.STRING, - keys=("sentry.environment", "environment", "resource.deployment.environment", "resource.deployment.environment.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sentry.environment", + "environment", + "resource.deployment.environment", + "resource.deployment.environment.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="production", deprecation=DeprecationInfo( - replacement="sentry.environment", - status=DeprecationStatus.BACKFILL + replacement="sentry.environment", status=DeprecationStatus.BACKFILL ), changelog=[ ChangelogEntry(version="0.3.1", prs=[196]), @@ -22725,9 +25341,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The render blocking status of the resource.", type=AttributeType.STRING, keys=("resource.render_blocking_status",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="non-blocking", @@ -22740,15 +25354,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): 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=AttributeType.STRING, keys=("route",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="App\\Controller::indexAction", - deprecation=DeprecationInfo( - replacement="http.route" - ), + deprecation=DeprecationInfo(replacement="http.route"), aliases=["http.route"], changelog=[ ChangelogEntry(version="0.1.0", prs=[61, 74]), @@ -22758,65 +25368,84 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "router.navigation.origin": AttributeMetadata( brief="The origin of the navigation (usually client side router navigations). Should preferably be a parameterized template (like url.template) or a URL path otherwise.", type=AttributeType.STRING, - keys=("router.navigation.origin", "navigation.origin", "sentry.sveltekit.navigation.from",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "router.navigation.origin", + "navigation.origin", + "sentry.sveltekit.navigation.from", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="/users/:id", - aliases=["navigation.origin","sentry.sveltekit.navigation.from"], + aliases=["navigation.origin", "sentry.sveltekit.navigation.from"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[600], description="Added router.navigation.origin attribute, replacing navigation.origin"), + ChangelogEntry( + version="0.22.0", + prs=[600], + description="Added router.navigation.origin attribute, replacing navigation.origin", + ), ], ), "router.navigation.route.id": AttributeMetadata( brief="The identifier of the matched client-side route, as assigned by the routing framework (e.g., vue-router name, react-router id).", type=AttributeType.STRING, - keys=("router.navigation.route.id", "navigation.route.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "router.navigation.route.id", + "navigation.route.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="AboutView", aliases=["navigation.route.id"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[600], description="Added router.navigation.route.id attribute, replacing navigation.route.id"), + ChangelogEntry( + version="0.22.0", + prs=[600], + description="Added router.navigation.route.id attribute, replacing navigation.route.id", + ), ], ), "router.navigation.type": AttributeMetadata( brief="The type of navigation done by a client-side router.", type=AttributeType.STRING, - keys=("router.navigation.type", "navigation.type", "sentry.sveltekit.navigation.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "router.navigation.type", + "navigation.type", + "sentry.sveltekit.navigation.type", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="router.push", - aliases=["navigation.type","sentry.sveltekit.navigation.type"], + aliases=["navigation.type", "sentry.sveltekit.navigation.type"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[600], description="Added router.navigation.type attribute, replacing navigation.type"), + ChangelogEntry( + version="0.22.0", + prs=[600], + description="Added router.navigation.type attribute, replacing navigation.type", + ), ], ), "rpc.grpc.status_code": AttributeMetadata( brief="The numeric status code of the gRPC request.", type=AttributeType.INTEGER, keys=("rpc.grpc.status_code",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=2, deprecation=DeprecationInfo( 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." + 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.", ), - aliases=["code","rpc.response.status_code"], + aliases=["code", "rpc.response.status_code"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[494, 533], description="Deprecated rpc.grpc.status_code in favor of rpc.response.status_code"), + ChangelogEntry( + version="0.19.0", + prs=[494, 533], + description="Deprecated rpc.grpc.status_code in favor of rpc.response.status_code", + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], @@ -22824,42 +25453,56 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "rpc.method": AttributeMetadata( brief="The fully-qualified logical name of the method from the RPC interface perspective.", type=AttributeType.STRING, - keys=("rpc.method", "aws.operation_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "rpc.method", + "aws.operation_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="com.example.ExampleService/exampleMethod", aliases=["aws.operation_name"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[536], description="Added aws.operation_name as an alias"), - ChangelogEntry(version="0.7.0", prs=[351], description="Added rpc.method attribute"), + ChangelogEntry( + version="0.19.0", + prs=[536], + description="Added aws.operation_name as an alias", + ), + ChangelogEntry( + version="0.7.0", prs=[351], description="Added rpc.method attribute" + ), ], ), "rpc.response.status_code": AttributeMetadata( brief="Status code of the RPC returned by the RPC server or generated by the client.", type=AttributeType.STRING, - keys=("rpc.response.status_code", "code",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "rpc.response.status_code", + "code", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="DEADLINE_EXCEEDED", - aliases=["code","rpc.grpc.status_code"], + aliases=["code", "rpc.grpc.status_code"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[494, 533], description="Added code and rpc.grpc.status_code as aliases"), - ChangelogEntry(version="0.7.0", prs=[352], description="Added rpc.response.status_code attribute"), + ChangelogEntry( + version="0.19.0", + prs=[494, 533], + description="Added code and rpc.grpc.status_code as aliases", + ), + ChangelogEntry( + version="0.7.0", + prs=[352], + description="Added rpc.response.status_code attribute", + ), ], ), "rpc.service": AttributeMetadata( brief="The full (logical) name of the service being called, including its package name, if applicable.", type=AttributeType.STRING, keys=("rpc.service",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="myService.BestService", @@ -22871,45 +25514,53 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "rpc.system": AttributeMetadata( brief="A string identifying the remoting system.", type=AttributeType.STRING, - keys=("rpc.system.name", "rpc.system",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "rpc.system.name", + "rpc.system", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="aws-api", deprecation=DeprecationInfo( replacement="rpc.system.name", reason="This attribute is being deprecated in favor of rpc.system.name, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["rpc.system.name"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[482], description="Added rpc.system attribute, deprecated in favor of rpc.system.name"), + ChangelogEntry( + version="0.16.0", + prs=[482], + description="Added rpc.system attribute, deprecated in favor of rpc.system.name", + ), ], ), "rpc.system.name": AttributeMetadata( brief="A string identifying the remoting system.", type=AttributeType.STRING, - keys=("rpc.system.name", "rpc.system",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "rpc.system.name", + "rpc.system", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="aws-api", aliases=["rpc.system"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[482], description="Added rpc.system.name attribute"), + ChangelogEntry( + version="0.16.0", + prs=[482], + description="Added rpc.system.name attribute", + ), ], ), "runtime.build": AttributeMetadata( brief="The application build string, when it is separate from the version.", type=AttributeType.STRING, keys=("runtime.build",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="stable", @@ -22917,179 +25568,199 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="The runtime.* namespace is deprecated in favor of process.runtime.*. No direct OTel equivalent exists for this attribute." ), changelog=[ - ChangelogEntry(version="0.11.0", prs=[383], description="Added and deprecated runtime.build attribute"), + ChangelogEntry( + version="0.11.0", + prs=[383], + description="Added and deprecated runtime.build attribute", + ), ], ), "runtime.name": AttributeMetadata( brief="The name of the runtime. For example node, CPython, or rustc.", type=AttributeType.STRING, - keys=("process.runtime.name", "runtime.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "process.runtime.name", + "runtime.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="node", deprecation=DeprecationInfo( replacement="process.runtime.name", reason="Prefer OTel-aligned process.runtime.name", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["process.runtime.name"], changelog=[ - ChangelogEntry(version="0.11.0", prs=[383], description="Added and deprecated runtime.name attribute in favor of process.runtime.name"), + ChangelogEntry( + version="0.11.0", + prs=[383], + description="Added and deprecated runtime.name attribute in favor of process.runtime.name", + ), ], ), "runtime.raw_description": AttributeMetadata( brief="Unprocessed description string as obtained from the runtime. Used to extract name and version for well-known runtimes.", type=AttributeType.STRING, - keys=("process.runtime.description", "runtime.raw_description",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "process.runtime.description", + "runtime.raw_description", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Eclipse OpenJ9 VM openj9-0.21.0", deprecation=DeprecationInfo( replacement="process.runtime.description", reason="Prefer OTel-aligned process.runtime.description", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["process.runtime.description"], changelog=[ - ChangelogEntry(version="0.11.0", prs=[383], description="Added and deprecated runtime.raw_description attribute in favor of process.runtime.description"), + ChangelogEntry( + version="0.11.0", + prs=[383], + description="Added and deprecated runtime.raw_description attribute in favor of process.runtime.description", + ), ], ), "runtime.version": AttributeMetadata( brief="The version of the runtime.", type=AttributeType.STRING, - keys=("process.runtime.version", "runtime.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "process.runtime.version", + "runtime.version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="18.04.2", deprecation=DeprecationInfo( replacement="process.runtime.version", reason="Prefer OTel-aligned process.runtime.version", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["process.runtime.version"], changelog=[ - ChangelogEntry(version="0.11.0", prs=[383], description="Added and deprecated runtime.version attribute in favor of process.runtime.version"), + ChangelogEntry( + version="0.11.0", + prs=[383], + description="Added and deprecated runtime.version attribute in favor of process.runtime.version", + ), ], ), "score.": AttributeMetadata( brief="The weighted performance score for a web vital. This is defined as `score.weight.` * `score.ratio.`.", type=AttributeType.DOUBLE, keys=("score.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="score.cls=0.1723", changelog=[ - ChangelogEntry(version="0.7.0", prs=[355], description="Added score. attribute"), + ChangelogEntry( + version="0.7.0", prs=[355], description="Added score. attribute" + ), ], ), "score.ratio.": AttributeMetadata( brief="The score for a web vital, normalized to a number between 0 and 1.", type=AttributeType.DOUBLE, keys=("score.ratio.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="score.ratio.inp=0.7748", changelog=[ - ChangelogEntry(version="0.7.0", prs=[355], description="Added score.ratio. attribute"), + ChangelogEntry( + version="0.7.0", + prs=[355], + description="Added score.ratio. attribute", + ), ], ), "score.total": AttributeMetadata( brief="The total performance score of a span. This is the sum of individual weighted web vital scores (see `score.`).", type=AttributeType.DOUBLE, keys=("score.total",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, changelog=[ - ChangelogEntry(version="0.7.0", prs=[355], description="Added score.total attribute"), + ChangelogEntry( + version="0.7.0", prs=[355], description="Added score.total attribute" + ), ], ), "score.weight.": AttributeMetadata( brief="The relative weight of a web vital in a span's performance score.", type=AttributeType.DOUBLE, keys=("score.weight.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="score.weight.fcp=0.25", changelog=[ - ChangelogEntry(version="0.7.0", prs=[355], description="Added score.weight. attribute"), + ChangelogEntry( + version="0.7.0", + prs=[355], + description="Added score.weight. attribute", + ), ], ), "sentry.action": AttributeMetadata( 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=AttributeType.STRING, - keys=("sentry.action", "span.action",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sentry.action", + "span.action", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="SELECT", changelog=[ ChangelogEntry(version="0.4.0", prs=[212]), ], - search_alias=SearchAlias( - name="span.action" - ), + search_alias=SearchAlias(name="span.action"), ), "sentry.browser.name": AttributeMetadata( brief="The name of the browser.", type=AttributeType.STRING, - keys=("browser.name", "sentry.browser.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.name", + "sentry.browser.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Chrome", deprecation=DeprecationInfo( - replacement="browser.name", - status=DeprecationStatus.BACKFILL + replacement="browser.name", status=DeprecationStatus.BACKFILL ), aliases=["browser.name"], changelog=[ ChangelogEntry(version="0.1.0", prs=[139]), ], - search_alias=SearchAlias( - name="browser.name" - ), + search_alias=SearchAlias(name="browser.name"), ), "sentry.browser.version": AttributeMetadata( brief="The version of the browser.", type=AttributeType.STRING, - keys=("browser.version", "sentry.browser.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.version", + "sentry.browser.version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="120.0.6099.130", deprecation=DeprecationInfo( - replacement="browser.version", - status=DeprecationStatus.BACKFILL + replacement="browser.version", status=DeprecationStatus.BACKFILL ), aliases=["browser.version"], changelog=[ @@ -23100,9 +25771,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The reason why a span ended early.", type=AttributeType.STRING, keys=("sentry.cancellation_reason",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="document.hidden", @@ -23113,44 +25782,40 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.category": AttributeMetadata( 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).", type=AttributeType.STRING, - keys=("sentry.category", "span.category",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.category", + "span.category", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="db", changelog=[ ChangelogEntry(version="0.4.0", prs=[218]), ], - search_alias=SearchAlias( - name="span.category" - ), + search_alias=SearchAlias(name="span.category"), ), "sentry.client_sample_rate": AttributeMetadata( brief="Rate at which a span was sampled in the SDK.", type=AttributeType.DOUBLE, - keys=("sentry.client_sample_rate", "client_sample_rate",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.client_sample_rate", + "client_sample_rate", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, changelog=[ ChangelogEntry(version="0.1.0", prs=[102]), ], - search_alias=SearchAlias( - name="client_sample_rate" - ), + search_alias=SearchAlias(name="client_sample_rate"), ), "sentry.description": AttributeMetadata( brief="The human-readable description of a span.", type=AttributeType.STRING, keys=("sentry.description",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="index view query", @@ -23161,43 +25826,43 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.dist": AttributeMetadata( brief="The sentry dist.", type=AttributeType.STRING, - keys=("sentry.dist", "dist",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.dist", + "dist", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="1.0", aliases=["dist"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[489], description="Added dist as an alias"), + ChangelogEntry( + version="0.16.0", prs=[489], description="Added dist as an alias" + ), ChangelogEntry(version="0.0.0"), ], ), "sentry.domain": AttributeMetadata( brief="Used as a generic attribute representing the domain depending on the type of span. For instance, this is the collection/table name for database spans, and the server address for HTTP spans.", type=AttributeType.STRING, - keys=("sentry.domain", "span.domain",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sentry.domain", + "span.domain", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="example.com", changelog=[ ChangelogEntry(version="0.4.0", prs=[212]), ], - search_alias=SearchAlias( - name="span.domain" - ), + search_alias=SearchAlias(name="span.domain"), ), "sentry.dsc.environment": AttributeMetadata( brief="The environment from the dynamic sampling context.", type=AttributeType.STRING, keys=("sentry.dsc.environment",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.INTERNAL, example="prod", @@ -23209,23 +25874,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The ID of the project where the trace originated (i.e. the project of the SDK that started the trace). Propagated through the dynamic sampling context and set by Relay during ingestion.", type=AttributeType.STRING, keys=("sentry.dsc.project_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.INTERNAL, example="12345", changelog=[ - ChangelogEntry(version="0.7.0", prs=[358], description="Add sentry.dsc.project_id as an attribute"), + ChangelogEntry( + version="0.7.0", + prs=[358], + description="Add sentry.dsc.project_id as an attribute", + ), ], ), "sentry.dsc.public_key": AttributeMetadata( brief="The public key from the dynamic sampling context.", type=AttributeType.STRING, keys=("sentry.dsc.public_key",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.INTERNAL, example="c51734c603c4430eb57cb0a5728a479d", @@ -23237,9 +25902,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The release identifier from the dynamic sampling context.", type=AttributeType.STRING, keys=("sentry.dsc.release",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.INTERNAL, example="frontend@e8211be71b214afab5b85de4b4c54be3714952bb", @@ -23251,9 +25914,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The sample rate from the dynamic sampling context.", type=AttributeType.STRING, keys=("sentry.dsc.sample_rate",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.INTERNAL, example="1.0", @@ -23265,9 +25926,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the event was sampled according to the dynamic sampling context.", type=AttributeType.BOOLEAN, keys=("sentry.dsc.sampled",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.INTERNAL, example=True, @@ -23279,9 +25938,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The trace ID from the dynamic sampling context.", type=AttributeType.STRING, keys=("sentry.dsc.trace_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.INTERNAL, example="047372980460430cbc78d9779df33a46", @@ -23293,9 +25950,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The transaction name from the dynamic sampling context.", type=AttributeType.STRING, keys=("sentry.dsc.transaction",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.INTERNAL, example="/issues/errors-outages/", @@ -23306,10 +25961,13 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.environment": AttributeMetadata( brief="The sentry environment.", type=AttributeType.STRING, - keys=("sentry.environment", "environment", "resource.deployment.environment", "resource.deployment.environment.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.environment", + "environment", + "resource.deployment.environment", + "resource.deployment.environment.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="production", @@ -23317,17 +25975,13 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="environment" - ), + search_alias=SearchAlias(name="environment"), ), "sentry.event.serialized_breadcrumbs": AttributeMetadata( brief="JSON-serialized `breadcrumbs` property from a Sentry event.", type=AttributeType.STRING, keys=("sentry.event.serialized_breadcrumbs",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.INTERNAL, changelog=[ @@ -23338,9 +25992,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="JSON-serialized `contexts` property from a Sentry event.", type=AttributeType.STRING, keys=("sentry.event.serialized_contexts",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.INTERNAL, changelog=[ @@ -23351,9 +26003,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="JSON-serialized `extra` property from a Sentry event.", type=AttributeType.STRING, keys=("sentry.event.serialized_extra",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.INTERNAL, changelog=[ @@ -23364,9 +26014,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="JSON-serialized `_meta` for the `sentry.event.serialized_*` properties from a Sentry event.", type=AttributeType.STRING, keys=("sentry.event.serialized_meta",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.INTERNAL, changelog=[ @@ -23377,9 +26025,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The exclusive time duration of the span in milliseconds.", type=AttributeType.DOUBLE, keys=("sentry.exclusive_time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234, @@ -23392,70 +26038,89 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.frames.frozen": AttributeMetadata( brief="The number of frozen frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=("app.vitals.frames.frozen.count", "frames.frozen", "mobile.frozen_frames", "sentry.frames.frozen",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.frozen.count", + "frames.frozen", + "mobile.frozen_frames", + "sentry.frames.frozen", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=3, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["app.vitals.frames.frozen.count","frames.frozen"], + aliases=["app.vitals.frames.frozen.count", "frames.frozen"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.frozen attribute"), + ChangelogEntry( + version="0.19.0", + prs=[500], + description="Added sentry.frames.frozen attribute", + ), ], ), "sentry.frames.slow": AttributeMetadata( brief="The number of slow frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=("app.vitals.frames.slow.count", "frames.slow", "mobile.slow_frames", "sentry.frames.slow",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.slow.count", + "frames.slow", + "mobile.slow_frames", + "sentry.frames.slow", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["app.vitals.frames.slow.count","frames.slow"], + aliases=["app.vitals.frames.slow.count", "frames.slow"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.slow attribute"), + ChangelogEntry( + version="0.19.0", + prs=[500], + description="Added sentry.frames.slow attribute", + ), ], ), "sentry.frames.total": AttributeMetadata( brief="The number of total frames rendered during the lifetime of the span.", type=AttributeType.INTEGER, - keys=("app.vitals.frames.total.count", "frames.total", "mobile.total_frames", "sentry.frames.total",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.frames.total.count", + "frames.total", + "mobile.total_frames", + "sentry.frames.total", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=60, deprecation=DeprecationInfo( 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=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["app.vitals.frames.total.count","frames.total"], + aliases=["app.vitals.frames.total.count", "frames.total"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[500], description="Added sentry.frames.total attribute"), + ChangelogEntry( + version="0.19.0", + prs=[500], + description="Added sentry.frames.total attribute", + ), ], ), "sentry.graphql.operation": AttributeMetadata( brief="Indicates the type of graphql operation, emitted by the Javascript SDK.", type=AttributeType.STRING, keys=("sentry.graphql.operation",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="getUserById", @@ -23466,26 +26131,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.group": AttributeMetadata( brief="Stores the hash of `sentry.normalized_description`. This is primarily used for grouping spans in the product end.", type=AttributeType.STRING, - keys=("sentry.group", "span.group",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.group", + "span.group", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, changelog=[ ChangelogEntry(version="0.4.0", prs=[212]), ], - search_alias=SearchAlias( - name="span.group" - ), + search_alias=SearchAlias(name="span.group"), ), "sentry.http.prefetch": AttributeMetadata( brief="If an http request was a prefetch request.", type=AttributeType.BOOLEAN, keys=("sentry.http.prefetch",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -23497,9 +26159,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The reason why an idle span ended early.", type=AttributeType.STRING, keys=("sentry.idle_span_finish_reason",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="idleTimeout", @@ -23511,25 +26171,28 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Indicates whether a telemetry item was sent on a host, device or browser on a localhost URL or IP address.", type=AttributeType.BOOLEAN, keys=("sentry.is_localhost",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.INTERNAL, example=True, examples=[True, False], changelog=[ - ChangelogEntry(version="0.24.0", prs=[646], description="Added sentry.is_localhost attribute"), + ChangelogEntry( + version="0.24.0", + prs=[646], + description="Added sentry.is_localhost attribute", + ), + ], + additional_context=[ + 'This attribute is used for the Sentry "Filter telemetry from localhost" inbound filter feature.', + "SDKs must set this attribute on every span, as well as every other telemetry item supporting attribuztes.", ], - additional_context=["This attribute is used for the Sentry \"Filter telemetry from localhost\" inbound filter feature.","SDKs must set this attribute on every span, as well as every other telemetry item supporting attribuztes."], ), "sentry.is_remote": AttributeMetadata( brief="Indicates whether a span's parent is remote.", type=AttributeType.BOOLEAN, keys=("sentry.is_remote",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -23540,51 +26203,64 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.kind": AttributeMetadata( brief="Used to clarify the relationship between parents and children, or to distinguish between spans, e.g. a `server` and `client` span with the same name.", type=AttributeType.STRING, - keys=("sentry.kind", "span.kind", "otel.kind",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sentry.kind", + "span.kind", + "otel.kind", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="client", examples=["client", "server", "producer", "consumer", "internal"], aliases=["otel.kind"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[517], description="Added more examples and additional_context to the attribute"), + ChangelogEntry( + version="0.19.0", + prs=[517], + description="Added more examples and additional_context to the attribute", + ), ChangelogEntry(version="0.3.1", prs=[190]), ], - additional_context=["Valid attribute values are: \"client\", \"server\", \"producer\", \"consumer\" and \"internal\""], - search_alias=SearchAlias( - name="span.kind" - ), + additional_context=[ + 'Valid attribute values are: "client", "server", "producer", "consumer" and "internal"' + ], + search_alias=SearchAlias(name="span.kind"), ), "sentry.link.type": AttributeMetadata( brief="Set on a span link. Describes the relationship between the span and the linked span.", type=AttributeType.STRING, - keys=("sentry.link.type", "link.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sentry.link.type", + "link.type", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="previous_trace", examples=["previous_trace", "next_trace", "cache_origin"], changelog=[ - ChangelogEntry(version="0.27.0", prs=[687], description="Added search alias link.type"), - ChangelogEntry(version="0.25.0", prs=[656], description="Added sentry.link.type attribute"), + ChangelogEntry( + version="0.27.0", prs=[687], description="Added search alias link.type" + ), + ChangelogEntry( + version="0.25.0", + prs=[656], + description="Added sentry.link.type attribute", + ), ], - additional_context=["This attribute is exclusively set on span links.","Sentry instrumentation setting span links, sets it to describe the relationship between the span and the linked span.","For known values, see Examples. Add new values to Examples."], - search_alias=SearchAlias( - name="link.type" - ), + additional_context=[ + "This attribute is exclusively set on span links.", + "Sentry instrumentation setting span links, sets it to describe the relationship between the span and the linked span.", + "For known values, see Examples. Add new values to Examples.", + ], + search_alias=SearchAlias(name="link.type"), ), "sentry.main_thread": AttributeMetadata( brief="Whether the span or event occurred on the main thread. Computed by Relay and should not be set by SDKs.", type=AttributeType.BOOLEAN, keys=("sentry.main_thread",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -23596,9 +26272,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A parameter used in the message template. can either be the number that represent the parameter's position in the template string (sentry.message.parameter.0, sentry.message.parameter.1, etc) or the parameter's name (sentry.message.parameter.item_id, sentry.message.parameter.user_id, etc)", type=AttributeType.STRING, keys=("sentry.message.parameter.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="sentry.message.parameter.0='123'", @@ -23610,9 +26284,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The parameterized template string.", type=AttributeType.STRING, keys=("sentry.message.template",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Hello, {name}!", @@ -23624,23 +26296,23 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The provenance of a metric. For example, this can be set to indicate if a metric was generated by Relay from a span.", type=AttributeType.STRING, keys=("sentry.metric.source",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="span", changelog=[ - ChangelogEntry(version="0.16.0", prs=[476], description="Added sentry.metric.source attribute"), + ChangelogEntry( + version="0.16.0", + prs=[476], + description="Added sentry.metric.source attribute", + ), ], ), "sentry.mobile": AttributeMetadata( brief="Whether the application is using a mobile SDK. Computed by Relay and should not be set by SDKs.", type=AttributeType.BOOLEAN, keys=("sentry.mobile",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -23652,9 +26324,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A module that was loaded in the process. The key is the name of the module.", type=AttributeType.STRING, keys=("sentry.module.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -23667,9 +26337,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A parameterized route for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions when the file location of the function is known.", type=AttributeType.STRING, keys=("sentry.nextjs.ssr.function.route",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="/posts/[id]/layout", @@ -23681,9 +26349,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A descriptor for a for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions.", type=AttributeType.STRING, keys=("sentry.nextjs.ssr.function.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="generateMetadata", @@ -23695,9 +26361,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The normalized version of `db.query.text`.", type=AttributeType.STRING, keys=("sentry.normalized_db_query",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="SELECT .. FROM sentry_project WHERE (project_id = %s)", @@ -23709,9 +26373,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The hash of `sentry.normalized_db_query`.", type=AttributeType.STRING, keys=("sentry.normalized_db_query.hash",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, changelog=[ @@ -23722,9 +26384,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Used as a generic attribute representing the normalized `sentry.description`. This refers to the legacy use case of `sentry.description` where it holds relevant data depending on the type of span (e.g. database query, resource url, http request description, etc).", type=AttributeType.STRING, keys=("sentry.normalized_description",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="SELECT .. FROM sentry_project WHERE (project_id = %s)", @@ -23736,9 +26396,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The timestamp at which an envelope was received by Relay, in nanoseconds.", type=AttributeType.STRING, keys=("sentry.observed_timestamp_nanos",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="1544712660300000000", @@ -23750,27 +26408,27 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.op": AttributeMetadata( brief="The operation of a span.", type=AttributeType.STRING, - keys=("sentry.op", "span.op",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.op", + "span.op", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="http.client", changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="span.op" - ), + search_alias=SearchAlias(name="span.op"), ), "sentry.origin": AttributeMetadata( brief="The origin of the instrumentation (e.g. span, log, etc.)", type=AttributeType.STRING, - keys=("sentry.origin", "origin",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.origin", + "origin", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="auto.http.otel.fastify", @@ -23778,149 +26436,154 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): ChangelogEntry(version="0.1.0", prs=[68]), ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="origin" - ), + search_alias=SearchAlias(name="origin"), ), "sentry.pageload.span_id": AttributeMetadata( brief="The id of the pageload span, set by web vital spans and metrics", type=AttributeType.STRING, keys=("sentry.pageload.span_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="bf2c8d3df84524de", changelog=[ - ChangelogEntry(version="0.17.0", prs=[495], description="Added sentry.pageload.span_id attribute"), + ChangelogEntry( + version="0.17.0", + prs=[495], + description="Added sentry.pageload.span_id attribute", + ), ], ), "sentry.platform": AttributeMetadata( brief="The sdk platform that generated the event.", type=AttributeType.STRING, - keys=("sentry.platform", "platform",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.platform", + "platform", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="php", changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="platform" - ), + search_alias=SearchAlias(name="platform"), ), "sentry.profile_id": AttributeMetadata( brief="The ID of the Sentry profile the span is associated with. This is only meaningful for transaction-based profiling.", type=AttributeType.STRING, - keys=("sentry.profile_id", "profile.id", "profile_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.profile_id", + "profile.id", + "profile_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="123e4567e89b12d3a456426614174000", aliases=["profile_id"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[497], description="Added profile_id as an alias"), - ChangelogEntry(version="0.6.0", prs=[344], description="Added sentry.profile_id attribute"), + ChangelogEntry( + version="0.19.0", prs=[497], description="Added profile_id as an alias" + ), + ChangelogEntry( + version="0.6.0", + prs=[344], + description="Added sentry.profile_id attribute", + ), ], - search_alias=SearchAlias( - name="profile.id" - ), + search_alias=SearchAlias(name="profile.id"), ), "sentry.profiler_id": AttributeMetadata( brief="The id of the currently running profiler (continuous profiling)", type=AttributeType.STRING, - keys=("sentry.profiler_id", "profiler.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.profiler_id", + "profiler.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="18779b64dd35d1a538e7ce2dd2d3fad3", changelog=[ ChangelogEntry(version="0.4.0", prs=[242]), ], - search_alias=SearchAlias( - name="profiler.id" - ), + search_alias=SearchAlias(name="profiler.id"), ), "sentry.relay.ingress": AttributeMetadata( brief="How an item (span, log, &c.) entered Relay.", type=AttributeType.STRING, keys=("sentry.relay.ingress",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.INTERNAL, example="OTEL", changelog=[ - ChangelogEntry(version="0.17.0", prs=[491], description="Added sentry.relay.ingress attribute"), + ChangelogEntry( + version="0.17.0", + prs=[491], + description="Added sentry.relay.ingress attribute", + ), ], ), "sentry.relay.pipeline": AttributeMetadata( brief="An internal descriptor of which processing pipeline an item went through in Relay.", type=AttributeType.STRING, keys=("sentry.relay.pipeline",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.INTERNAL, example="span v2", changelog=[ - ChangelogEntry(version="0.17.0", prs=[491], description="Added sentry.relay.pipeline attribute"), + ChangelogEntry( + version="0.17.0", + prs=[491], + description="Added sentry.relay.pipeline attribute", + ), ], ), "sentry.release": AttributeMetadata( brief="The sentry release.", type=AttributeType.STRING, - keys=("sentry.release", "release", "service.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.release", + "release", + "service.version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="7.0.0", - aliases=["service.version","release"], + aliases=["service.version", "release"], changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="release" - ), + search_alias=SearchAlias(name="release"), ), "sentry.replay_id": AttributeMetadata( brief="The id of the sentry replay.", type=AttributeType.STRING, - keys=("sentry.replay_id", "replay.id", "replay_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.replay_id", + "replay.id", + "replay_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="123e4567e89b12d3a456426614174000", - aliases=["replay_id","replayId"], + aliases=["replay_id", "replayId"], changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="replay.id", - deprecated_aliases=["replay_id"] - ), + search_alias=SearchAlias(name="replay.id", deprecated_aliases=["replay_id"]), ), "sentry.replay_is_buffering": AttributeMetadata( brief="A sentinel attribute on log events indicating whether the current Session Replay is being buffered (onErrorSampleRate).", type=AttributeType.BOOLEAN, keys=("sentry.replay_is_buffering",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -23932,9 +26595,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="(Deprecated) The event that caused the SDK to report CLS or LCP (pagehide or navigation)", type=AttributeType.STRING, keys=("sentry.report_event",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="pagehide", @@ -23942,20 +26603,31 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="The report event moved to browser.web_vital.lcp.report_event and browser.web_vital.cls.report_event, which are themselves deprecated without a replacement. No backfill required." ), changelog=[ - ChangelogEntry(version="0.24.0", prs=[642], description="Updated the deprecation reason now that the browser.web_vital.*.report_event attributes are deprecated"), - ChangelogEntry(version="0.5.0", prs=[320], description="Added sentry.report_event attribute"), + ChangelogEntry( + version="0.24.0", + prs=[642], + description="Updated the deprecation reason now that the browser.web_vital.*.report_event attributes are deprecated", + ), + ChangelogEntry( + version="0.5.0", + prs=[320], + description="Added sentry.report_event attribute", + ), ], ), "sentry.sdk.integrations": AttributeMetadata( brief="A list of names identifying enabled integrations. The list shouldhave all enabled integrations, including default integrations. Defaultintegrations are included because different SDK releases may contain differentdefault integrations.", type=AttributeType.STRING_ARRAY, keys=("sentry.sdk.integrations",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, - example=["InboundFilters", "FunctionToString", "BrowserApiErrors", "Breadcrumbs"], + example=[ + "InboundFilters", + "FunctionToString", + "BrowserApiErrors", + "Breadcrumbs", + ], changelog=[ ChangelogEntry(version="0.0.0", prs=[42]), ], @@ -23963,44 +26635,44 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.sdk.name": AttributeMetadata( brief="The sentry sdk name.", type=AttributeType.STRING, - keys=("sentry.sdk.name", "sdk.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.sdk.name", + "sdk.name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="@sentry/react", changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="sdk.name" - ), + search_alias=SearchAlias(name="sdk.name"), ), "sentry.sdk.version": AttributeMetadata( brief="The sentry sdk version.", type=AttributeType.STRING, - keys=("sentry.sdk.version", "sdk.version",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.sdk.version", + "sdk.version", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="7.0.0", changelog=[ ChangelogEntry(version="0.0.0"), ], - search_alias=SearchAlias( - name="sdk.version" - ), + search_alias=SearchAlias(name="sdk.version"), ), "sentry.segment.id": AttributeMetadata( brief="The segment ID of a span", type=AttributeType.STRING, - keys=("sentry.segment.id", "sentry.segment_id", "transaction.span_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.segment.id", + "sentry.segment_id", + "transaction.span_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="051581bf3cb55c13", @@ -24012,84 +26684,89 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "sentry.segment.name": AttributeMetadata( brief="The segment name of a span", type=AttributeType.STRING, - keys=("sentry.segment.name", "transaction", "sentry.transaction",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sentry.segment.name", + "transaction", + "sentry.transaction", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="GET /user", - aliases=["sentry.transaction","transaction"], + aliases=["sentry.transaction", "transaction"], changelog=[ - ChangelogEntry(version="0.6.0", prs=[345], description="Added sentry.transaction and transaction aliases"), + ChangelogEntry( + version="0.6.0", + prs=[345], + description="Added sentry.transaction and transaction aliases", + ), ChangelogEntry(version="0.1.0", prs=[104]), ], - search_alias=SearchAlias( - name="transaction" - ), + search_alias=SearchAlias(name="transaction"), ), "sentry.segment.name.source": AttributeMetadata( brief="The source of the segment span name. Should only be set on segment spans.", type=AttributeType.STRING, keys=("sentry.segment.name.source",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.INTERNAL, example="route", examples=["route", "component", "view", "task", "custom", "url"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[466], description="Added sentry.segment.name.source"), + ChangelogEntry( + version="0.19.0", + prs=[466], + description="Added sentry.segment.name.source", + ), + ], + additional_context=[ + "This attribute is the replacement for `transaction_info.source` on transactions.", + "Should we bring back clustering for segment names (like we do for transaction names), this attribute will be used to determine if a segment name should be clustered.", ], - additional_context=["This attribute is the replacement for `transaction_info.source` on transactions.","Should we bring back clustering for segment names (like we do for transaction names), this attribute will be used to determine if a segment name should be clustered."], ), "sentry.segment_id": AttributeMetadata( brief="The segment ID of a span", type=AttributeType.STRING, - keys=("sentry.segment.id", "sentry.segment_id", "transaction.span_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.segment.id", + "sentry.segment_id", + "transaction.span_id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="051581bf3cb55c13", deprecation=DeprecationInfo( - replacement="sentry.segment.id", - status=DeprecationStatus.BACKFILL + replacement="sentry.segment.id", status=DeprecationStatus.BACKFILL ), aliases=["sentry.segment.id"], changelog=[ ChangelogEntry(version="0.1.0", prs=[124]), ], - search_alias=SearchAlias( - name="transaction.span_id" - ), + search_alias=SearchAlias(name="transaction.span_id"), ), "sentry.server_sample_rate": AttributeMetadata( brief="Rate at which a span was sampled in Relay.", type=AttributeType.DOUBLE, - keys=("sentry.server_sample_rate", "server_sample_rate",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.server_sample_rate", + "server_sample_rate", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example=0.5, changelog=[ ChangelogEntry(version="0.1.0", prs=[102]), ], - search_alias=SearchAlias( - name="server_sample_rate" - ), + search_alias=SearchAlias(name="server_sample_rate"), ), "sentry.source": AttributeMetadata( brief="The source of a span, also referred to as transaction source.", type=AttributeType.STRING, keys=("sentry.source",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="route", @@ -24097,7 +26774,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is superseded by sentry.segment.name.source, which only needs to be set on segment spans." ), changelog=[ - ChangelogEntry(version="0.19.0", prs=[510], description="Removed the sentry.span.source replacement"), + ChangelogEntry( + version="0.19.0", + prs=[510], + description="Removed the sentry.span.source replacement", + ), ChangelogEntry(version="0.5.0"), ], ), @@ -24105,9 +26786,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The source of a span, also referred to as transaction source.", type=AttributeType.STRING, keys=("sentry.span.source",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="route", @@ -24115,90 +26794,99 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="This attribute is superseded by sentry.segment.name.source, which only needs to be set on segment spans." ), changelog=[ - ChangelogEntry(version="0.19.0", prs=[510], description="Deprecated; superseded by sentry.segment.name.source on segment spans"), + ChangelogEntry( + version="0.19.0", + prs=[510], + description="Deprecated; superseded by sentry.segment.name.source on segment spans", + ), ChangelogEntry(version="0.4.0", prs=[214]), ChangelogEntry(version="0.0.0"), ], ), "sentry.status": AttributeMetadata( - brief="The span's status (either \"ok\" or \"error\"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.", + brief='The span\'s status (either "ok" or "error"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.', type=AttributeType.STRING, - keys=("sentry.status", "span.status",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.status", + "span.status", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="ok", changelog=[ ChangelogEntry(version="0.14.0", prs=[453]), ], - search_alias=SearchAlias( - name="span.status" - ), + search_alias=SearchAlias(name="span.status"), ), "sentry.status.message": AttributeMetadata( brief="The from OTLP extracted status message.", type=AttributeType.STRING, - keys=("sentry.status.message", "span.status.message",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sentry.status.message", + "span.status.message", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="foobar", changelog=[ ChangelogEntry(version="0.3.1", prs=[190]), ], - search_alias=SearchAlias( - name="span.status.message" - ), + search_alias=SearchAlias(name="span.status.message"), ), "sentry.status_code": AttributeMetadata( brief="The HTTP status code used in Sentry Insights. Typically set by Sentry during ingestion, rather than by clients.", type=AttributeType.INTEGER, - keys=("sentry.status_code", "span.status_code",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sentry.status_code", + "span.status_code", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=200, changelog=[ ChangelogEntry(version="0.4.0", prs=[223, 228]), ], - search_alias=SearchAlias( - name="span.status_code" - ), + search_alias=SearchAlias(name="span.status_code"), ), "sentry.sveltekit.navigation.from": AttributeMetadata( brief="the navigation origin (sveltekit router)", type=AttributeType.STRING, - keys=("router.navigation.origin", "navigation.origin", "sentry.sveltekit.navigation.from",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "router.navigation.origin", + "navigation.origin", + "sentry.sveltekit.navigation.from", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="/home", deprecation=DeprecationInfo( replacement="router.navigation.origin", reason="Use the more generic attribute instead", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["navigation.origin","router.navigation.origin"], + aliases=["navigation.origin", "router.navigation.origin"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[600], description="Re-pointed deprecation from navigation.origin to router.navigation.origin"), - ChangelogEntry(version="0.16.0", prs=[467], description="Added sentry.sveltekit.navigation.from attribute"), + ChangelogEntry( + version="0.22.0", + prs=[600], + description="Re-pointed deprecation from navigation.origin to router.navigation.origin", + ), + ChangelogEntry( + version="0.16.0", + prs=[467], + description="Added sentry.sveltekit.navigation.from attribute", + ), ], ), "sentry.sveltekit.navigation.to": AttributeMetadata( brief="the navigation destination", type=AttributeType.STRING, keys=("sentry.sveltekit.navigation.to",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="/users/:id", @@ -24206,59 +26894,70 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): reason="the navigation destination is already covered by url.* attributes" ), changelog=[ - ChangelogEntry(version="0.16.0", prs=[467], description="Added sentry.sveltekit.navigation.to attribute"), + ChangelogEntry( + version="0.16.0", + prs=[467], + description="Added sentry.sveltekit.navigation.to attribute", + ), ], ), "sentry.sveltekit.navigation.type": AttributeMetadata( brief="The type of navigation event emitted from the sveltekit client router", type=AttributeType.STRING, - keys=("router.navigation.type", "navigation.type", "sentry.sveltekit.navigation.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "router.navigation.type", + "navigation.type", + "sentry.sveltekit.navigation.type", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="link", deprecation=DeprecationInfo( replacement="router.navigation.type", reason="Use the more generic attribute instead", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["navigation.type","router.navigation.type"], + aliases=["navigation.type", "router.navigation.type"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[600], description="Re-pointed deprecation from navigation.type to router.navigation.type"), - ChangelogEntry(version="0.16.0", prs=[467], description="Added sentry.sveltekit.navigation.type attribute"), + ChangelogEntry( + version="0.22.0", + prs=[600], + description="Re-pointed deprecation from navigation.type to router.navigation.type", + ), + ChangelogEntry( + version="0.16.0", + prs=[467], + description="Added sentry.sveltekit.navigation.type attribute", + ), ], ), "sentry.thread.id": AttributeMetadata( - brief="Current \"managed\" thread ID.", + brief='Current "managed" thread ID.', type=AttributeType.INTEGER, - keys=("thread.id", "sentry.thread.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "thread.id", + "sentry.thread.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=56, deprecation=DeprecationInfo( replacement="thread.id", reason="This attribute is being deprecated in favor of the OTel-standard thread.id", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), changelog=[ ChangelogEntry(version="0.13.0", prs=[451]), ], - search_alias=SearchAlias( - name="thread.id" - ), + search_alias=SearchAlias(name="thread.id"), ), "sentry.timestamp.sequence": AttributeMetadata( brief="A sequencing counter for deterministic ordering of logs or metrics when timestamps share the same integer millisecond. Starts at 0 on SDK initialization, increments by 1 for each captured item, and resets to 0 when the integer millisecond of the current item differs from the previous one.", type=AttributeType.INTEGER, keys=("sentry.timestamp.sequence",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example=0, @@ -24270,256 +26969,273 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The span id of the span that was active when the log was collected. This should not be set if there was no active span.", type=AttributeType.STRING, keys=("sentry.trace.parent_span_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="b0e6f15b45c36b12", deprecation=DeprecationInfo(), changelog=[ - ChangelogEntry(version="0.5.0", prs=[287], description="Deprecate `sentry.trace.parent_span_id`"), + ChangelogEntry( + version="0.5.0", + prs=[287], + description="Deprecate `sentry.trace.parent_span_id`", + ), ChangelogEntry(version="0.1.0", prs=[116]), ], ), "sentry.trace.status": AttributeMetadata( - brief="The segment's status (either \"ok\" or \"error\"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.", + brief='The segment\'s status (either "ok" or "error"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.', type=AttributeType.STRING, - keys=("sentry.trace.status", "trace.status",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.trace.status", + "trace.status", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="ok", changelog=[ ChangelogEntry(version="0.14.0", prs=[453]), ], - search_alias=SearchAlias( - name="trace.status" - ), + search_alias=SearchAlias(name="trace.status"), ), "sentry.trace_lifecycle": AttributeMetadata( brief="Indicates the chosen trace lifecycle mode of the SDK (stream or static)", type=AttributeType.STRING, - keys=("sentry.trace_lifecycle", "trace_lifecycle",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sentry.trace_lifecycle", + "trace_lifecycle", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="stream", changelog=[ - ChangelogEntry(version="0.13.0", prs=[442], description="Added sentry.trace_lifecycle attribute"), + ChangelogEntry( + version="0.13.0", + prs=[442], + description="Added sentry.trace_lifecycle attribute", + ), ], - search_alias=SearchAlias( - name="trace_lifecycle" - ), + search_alias=SearchAlias(name="trace_lifecycle"), ), "sentry.transaction": AttributeMetadata( brief="The sentry transaction (segment name).", type=AttributeType.STRING, - keys=("sentry.segment.name", "transaction", "sentry.transaction",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.NEVER + keys=( + "sentry.segment.name", + "transaction", + "sentry.transaction", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.NEVER), is_in_otel=False, visibility=Visibility.PUBLIC, example="GET /", deprecation=DeprecationInfo( replacement="sentry.segment.name", reason="This attribute is being deprecated in favor of sentry.segment.name", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["sentry.segment.name","transaction"], + aliases=["sentry.segment.name", "transaction"], changelog=[ - ChangelogEntry(version="0.6.0", prs=[345], description="Deprecated sentry.transaction in favor of sentry.segment.name"), + ChangelogEntry( + version="0.6.0", + prs=[345], + description="Deprecated sentry.transaction in favor of sentry.segment.name", + ), ChangelogEntry(version="0.0.0"), ], ), "sentry.user.email": AttributeMetadata( brief="User email address.", type=AttributeType.STRING, - keys=("user.email", "sentry.user.email",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "user.email", + "sentry.user.email", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.email", - status=DeprecationStatus.BACKFILL + replacement="user.email", status=DeprecationStatus.BACKFILL ), aliases=["user.email"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias( - name="user.email" - ), + search_alias=SearchAlias(name="user.email"), ), "sentry.user.geo.city": AttributeMetadata( brief="Human readable city name.", type=AttributeType.STRING, - keys=("user.geo.city", "sentry.user.geo.city",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "user.geo.city", + "sentry.user.geo.city", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.geo.city", - status=DeprecationStatus.BACKFILL + replacement="user.geo.city", status=DeprecationStatus.BACKFILL ), aliases=["user.geo.city"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias( - name="user.geo.city" - ), + search_alias=SearchAlias(name="user.geo.city"), ), "sentry.user.geo.country_code": AttributeMetadata( brief="Two-letter country code (ISO 3166-1 alpha-2).", type=AttributeType.STRING, - keys=("user.geo.country_code", "sentry.user.geo.country_code",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "user.geo.country_code", + "sentry.user.geo.country_code", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.geo.country_code", - status=DeprecationStatus.BACKFILL + replacement="user.geo.country_code", status=DeprecationStatus.BACKFILL ), aliases=["user.geo.country_code"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias( - name="user.geo.country_code" - ), + search_alias=SearchAlias(name="user.geo.country_code"), ), "sentry.user.geo.region": AttributeMetadata( brief="Human readable region name or code.", type=AttributeType.STRING, - keys=("user.geo.region", "sentry.user.geo.region",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "user.geo.region", + "sentry.user.geo.region", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.geo.region", - status=DeprecationStatus.BACKFILL + replacement="user.geo.region", status=DeprecationStatus.BACKFILL ), aliases=["user.geo.region"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias( - name="user.geo.region" - ), + search_alias=SearchAlias(name="user.geo.region"), ), "sentry.user.geo.subdivision": AttributeMetadata( brief="Human readable subdivision name.", type=AttributeType.STRING, - keys=("user.geo.subdivision", "sentry.user.geo.subdivision",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "user.geo.subdivision", + "sentry.user.geo.subdivision", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.geo.subdivision", - status=DeprecationStatus.BACKFILL + replacement="user.geo.subdivision", status=DeprecationStatus.BACKFILL ), aliases=["user.geo.subdivision"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias( - name="user.geo.subdivision" - ), + search_alias=SearchAlias(name="user.geo.subdivision"), ), "sentry.user.id": AttributeMetadata( brief="Unique identifier of the user.", type=AttributeType.STRING, - keys=("user.id", "sentry.user.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "user.id", + "sentry.user.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.id", - status=DeprecationStatus.BACKFILL + replacement="user.id", status=DeprecationStatus.BACKFILL ), aliases=["user.id"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias( - name="user.id" - ), + search_alias=SearchAlias(name="user.id"), ), "sentry.user.ip": AttributeMetadata( brief="The IP address of the user.", type=AttributeType.STRING, - keys=("user.ip_address", "sentry.user.ip", "user.ip",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "user.ip_address", + "sentry.user.ip", + "user.ip", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.ip_address", - status=DeprecationStatus.BACKFILL + replacement="user.ip_address", status=DeprecationStatus.BACKFILL ), aliases=["user.ip_address"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias( - name="user.ip" - ), + search_alias=SearchAlias(name="user.ip"), ), "sentry.user.username": AttributeMetadata( brief="Short name or login/username of the user.", type=AttributeType.STRING, - keys=("user.name", "sentry.user.username", "user.username",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "user.name", + "sentry.user.username", + "user.username", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( - replacement="user.name", - status=DeprecationStatus.BACKFILL + replacement="user.name", status=DeprecationStatus.BACKFILL ), aliases=["user.name"], changelog=[ ChangelogEntry(version="0.10.0", prs=[406]), ], - search_alias=SearchAlias( - name="user.username" - ), + search_alias=SearchAlias(name="user.username"), ), "server.address": AttributeMetadata( brief="Preferably the server domain name if available without reverse DNS lookup, or an IP address or Unix domain socket name. For compatibility, it may contain what the hostname command returns on UNIX systems, the fully qualified hostname, or another name specified by the user.", type=AttributeType.STRING, - keys=("server.address", "address", "http.server_name", "net.host.name", "server_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "server.address", + "address", + "http.server_name", + "net.host.name", + "server_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", - aliases=["address","http.server_name","net.host.name","http.host","server_name","net.peer.name"], - changelog=[ - ChangelogEntry(version="0.24.0", prs=[645, 647], description="Broaden brief to allow hostnames"), - ChangelogEntry(version="0.21.0", prs=[588, 602], description="Added net.peer.name as an alias"), - ChangelogEntry(version="0.19.0", prs=[534], description="Added address as an alias"), + aliases=[ + "address", + "http.server_name", + "net.host.name", + "http.host", + "server_name", + "net.peer.name", + ], + changelog=[ + ChangelogEntry( + version="0.24.0", + prs=[645, 647], + description="Broaden brief to allow hostnames", + ), + ChangelogEntry( + version="0.21.0", + prs=[588, 602], + description="Added net.peer.name as an alias", + ), + ChangelogEntry( + version="0.19.0", prs=[534], description="Added address as an alias" + ), ChangelogEntry(version="0.1.0", prs=[108, 127]), ChangelogEntry(version="0.0.0"), ], @@ -24527,16 +27243,20 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "server.port": AttributeMetadata( brief="Server port number.", type=AttributeType.INTEGER, - keys=("server.port", "net.host.port", "port",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "server.port", + "net.host.port", + "port", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=1337, - aliases=["net.host.port","port"], + aliases=["net.host.port", "port"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[532], description="Added port as an alias"), + ChangelogEntry( + version="0.19.0", prs=[532], description="Added port as an alias" + ), ChangelogEntry(version="0.4.0", prs=[228]), ChangelogEntry(version="0.0.0"), ], @@ -24544,33 +27264,56 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "server_name": AttributeMetadata( brief="The name of the device. On servers and desktops, this is typically the hostname.", type=AttributeType.STRING, - keys=("server.address", "address", "http.server_name", "net.host.name", "server_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "server.address", + "address", + "http.server_name", + "net.host.name", + "server_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="example.com", deprecation=DeprecationInfo( replacement="server.address", reason="This attribute is being deprecated in favor of server.address.", - status=DeprecationStatus.BACKFILL - ), - aliases=["address","server.address","http.server_name","net.host.name","http.host","net.peer.name"], - changelog=[ - ChangelogEntry(version="0.24.0", prs=[647], description="Alias the server.address alias group"), - ChangelogEntry(version="0.21.0", prs=[588, 602], description="Alias device.name instead of the server.address alias group"), - ChangelogEntry(version="0.19.0", prs=[534], description="Added address as an alias"), - ChangelogEntry(version="0.16.0", prs=[477], description="Added server_name attribute, deprecated in favor of server.address"), + status=DeprecationStatus.BACKFILL, + ), + aliases=[ + "address", + "server.address", + "http.server_name", + "net.host.name", + "http.host", + "net.peer.name", + ], + changelog=[ + ChangelogEntry( + version="0.24.0", + prs=[647], + description="Alias the server.address alias group", + ), + ChangelogEntry( + version="0.21.0", + prs=[588, 602], + description="Alias device.name instead of the server.address alias group", + ), + ChangelogEntry( + version="0.19.0", prs=[534], description="Added address as an alias" + ), + ChangelogEntry( + version="0.16.0", + prs=[477], + description="Added server_name attribute, deprecated in favor of server.address", + ), ], ), "service.name": AttributeMetadata( brief="Logical name of the service.", type=AttributeType.STRING, keys=("service.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="omegastar", @@ -24582,10 +27325,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "service.version": AttributeMetadata( brief="The version string of the service API or implementation. The format is not defined by these conventions.", type=AttributeType.STRING, - keys=("service.version", "sentry.release", "release",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "service.version", + "sentry.release", + "release", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="5.0.0", @@ -24599,83 +27344,113 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="A unique id identifying the active session at the time of setting this attribute", type=AttributeType.STRING, keys=("session.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="00112233-4455-6677-8899-aabbccddeeff", changelog=[ - ChangelogEntry(version="0.11.0", prs=[412], description="Added session.id attribute"), + ChangelogEntry( + version="0.11.0", prs=[412], description="Added session.id attribute" + ), ], ), "stall_percentage": AttributeMetadata( brief="The fraction of time the app was stalled. Only applies to React Native. This is computed by Relay.", type=AttributeType.DOUBLE, - keys=("app.vitals.stall.percentage", "stall_percentage",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.stall.percentage", + "stall_percentage", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( replacement="app.vitals.stall.percentage", reason="Replaced by app.vitals.stall.percentage to align with the app.vitals.* namespace for mobile performance attributes", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.vitals.stall.percentage"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[493], description="Deprecated in favor of app.vitals.stall.percentage"), - ChangelogEntry(version="0.7.0", prs=[362], description="Added stall_percentage attribute"), + ChangelogEntry( + version="0.19.0", + prs=[493], + description="Deprecated in favor of app.vitals.stall.percentage", + ), + ChangelogEntry( + version="0.7.0", + prs=[362], + description="Added stall_percentage attribute", + ), ], ), "stall_total_time": AttributeMetadata( brief="The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay.", type=AttributeType.DOUBLE, - keys=("app.vitals.stall.duration", "stall_total_time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.stall.duration", + "stall_total_time", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, deprecation=DeprecationInfo( replacement="app.vitals.stall.duration", reason="Replaced by app.vitals.stall.duration to align with the app.vitals.* namespace for mobile performance attributes", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.vitals.stall.duration"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[493], description="Deprecated in favor of app.vitals.stall.duration"), - ChangelogEntry(version="0.7.0", prs=[362], description="Added stall_total_time attribute"), + ChangelogEntry( + version="0.19.0", + prs=[493], + description="Deprecated in favor of app.vitals.stall.duration", + ), + ChangelogEntry( + version="0.7.0", + prs=[362], + description="Added stall_total_time attribute", + ), ], ), "starlette.middleware_name": AttributeMetadata( brief="The name of the Starlette middleware.", type=AttributeType.STRING, - keys=("middleware.name", "django.middleware_name", "litestar.middleware_name", "starlette.middleware_name", "starlite.middleware_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "middleware.name", + "django.middleware_name", + "litestar.middleware_name", + "starlette.middleware_name", + "starlite.middleware_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="AuthenticationMiddleware", deprecation=DeprecationInfo( replacement="middleware.name", reason="This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["middleware.name"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[485], description="Added starlette.middleware_name attribute, deprecated in favor of middleware.name"), + ChangelogEntry( + version="0.19.0", + prs=[485], + description="Added starlette.middleware_name attribute, deprecated in favor of middleware.name", + ), ], ), "starlite.middleware_name": AttributeMetadata( brief="The name of the Starlite middleware.", type=AttributeType.STRING, - keys=("middleware.name", "django.middleware_name", "litestar.middleware_name", "starlette.middleware_name", "starlite.middleware_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "middleware.name", + "django.middleware_name", + "litestar.middleware_name", + "starlette.middleware_name", + "starlite.middleware_name", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="AuthenticationMiddleware", @@ -24683,119 +27458,149 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="middleware.name", reason="This attribute is being deprecated in favor of middleware.name, which is the framework-agnostic replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["middleware.name"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[519], description="Added starlite.middleware_name attribute"), + ChangelogEntry( + version="0.19.0", + prs=[519], + description="Added starlite.middleware_name attribute", + ), ], ), "state.type": AttributeMetadata( brief="The type of state management library", type=AttributeType.STRING, keys=("state.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="redux", changelog=[ - ChangelogEntry(version="0.7.0", prs=[365], description="Added state.type attribute"), + ChangelogEntry( + version="0.7.0", prs=[365], description="Added state.type attribute" + ), ], ), "subprocess.pid": AttributeMetadata( brief="The process ID of a subprocess.", type=AttributeType.INTEGER, - keys=("process.pid", "subprocess.pid",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "process.pid", + "subprocess.pid", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=12345, deprecation=DeprecationInfo( replacement="process.pid", reason="This attribute is being deprecated in favor of process.pid, which is the OTel-aligned replacement.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["process.pid"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[487], description="Added subprocess.pid attribute, deprecated in favor of process.pid"), + ChangelogEntry( + version="0.19.0", + prs=[487], + description="Added subprocess.pid attribute, deprecated in favor of process.pid", + ), ], ), "sveltekit.load.environment": AttributeMetadata( brief="The runtime environment in which the SvelteKit load function was executed. Known values are `'server'` and `'client'`.", type=AttributeType.STRING, keys=("sveltekit.load.environment",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="server", examples=["server", "client"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[611], description="Added sveltekit.load.environment attribute"), + ChangelogEntry( + version="0.22.0", + prs=[611], + description="Added sveltekit.load.environment attribute", + ), + ], + additional_context=[ + "Added by the SvelteKit framework itself. The Sentry SDK only forwards the attribute to Sentry." ], - additional_context=["Added by the SvelteKit framework itself. The Sentry SDK only forwards the attribute to Sentry."], ), "sveltekit.load.node_id": AttributeMetadata( brief="The path to the SvelteKit load function.", type=AttributeType.STRING, - keys=("sveltekit.load.node_id", "code.file.path", "code.filepath",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sveltekit.load.node_id", + "code.file.path", + "code.filepath", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="src/routes/users/:id/+page.server.ts", examples=["src/routes/users/:id/+page.server.ts"], - aliases=["code.file.path","code.filepath"], + aliases=["code.file.path", "code.filepath"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[611], description="Added sveltekit.load.node_id attribute"), + ChangelogEntry( + version="0.22.0", + prs=[611], + description="Added sveltekit.load.node_id attribute", + ), + ], + additional_context=[ + "Added by the SvelteKit framework itself. The Sentry SDK only forwards the attribute to Sentry." ], - additional_context=["Added by the SvelteKit framework itself. The Sentry SDK only forwards the attribute to Sentry."], ), "sveltekit.load.node_type": AttributeMetadata( brief="The kind of SvelteKit load function that was executed, distinguishing page from layout and universal from server load functions.", type=AttributeType.STRING, keys=("sveltekit.load.node_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="+page.server", examples=["+page.server", "+layout", "+layout.server"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[611], description="Added sveltekit.load.node_type attribute"), + ChangelogEntry( + version="0.22.0", + prs=[611], + description="Added sveltekit.load.node_type attribute", + ), + ], + additional_context=[ + "Added by the SvelteKit framework itself. The Sentry SDK only forwards the attribute to Sentry." ], - additional_context=["Added by the SvelteKit framework itself. The Sentry SDK only forwards the attribute to Sentry."], ), "sveltekit.tracing.original_name": AttributeMetadata( brief="The original span name as emitted by SvelteKit.", type=AttributeType.STRING, keys=("sveltekit.tracing.original_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="sveltekit.handle.root", examples=["sveltekit.handle.root"], changelog=[ - ChangelogEntry(version="0.22.0", prs=[611], description="Added sveltekit.tracing.original_name attribute"), + ChangelogEntry( + version="0.22.0", + prs=[611], + description="Added sveltekit.tracing.original_name attribute", + ), + ], + additional_context=[ + "The Sentry SDK renames SvelteKit-emitted spans to match Sentry's span name semantics, and preserves the name SvelteKit originally set in this attribute." ], - additional_context=["The Sentry SDK renames SvelteKit-emitted spans to match Sentry's span name semantics, and preserves the name SvelteKit originally set in this attribute."], ), "thread.id": AttributeMetadata( brief="Current “managed” thread ID.", type=AttributeType.INTEGER, - keys=("thread.id", "sentry.thread.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "thread.id", + "sentry.thread.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=56, @@ -24807,9 +27612,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Current thread name.", type=AttributeType.STRING, keys=("thread.name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="main", @@ -24822,9 +27625,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The log tag provided by the timber logging framework.", type=AttributeType.STRING, keys=("timber.tag",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="MyTag", @@ -24835,61 +27636,80 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "time_to_full_display": AttributeMetadata( brief="The duration of time to full display in milliseconds", type=AttributeType.DOUBLE, - keys=("app.vitals.ttfd.value", "time_to_full_display",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.ttfd.value", + "time_to_full_display", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, deprecation=DeprecationInfo( replacement="app.vitals.ttfd.value", reason="Replaced by app.vitals.ttfd.value to align with the app.vitals.* namespace for mobile performance attributes", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.vitals.ttfd.value"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[313], description="Added and deprecated in favor of app.vitals.ttfd.value"), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Added and deprecated in favor of app.vitals.ttfd.value", + ), ], ), "time_to_initial_display": AttributeMetadata( brief="The duration of time to initial display in milliseconds", type=AttributeType.DOUBLE, - keys=("app.vitals.ttid.value", "time_to_initial_display",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "app.vitals.ttid.value", + "time_to_initial_display", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1234.56, deprecation=DeprecationInfo( replacement="app.vitals.ttid.value", reason="Replaced by app.vitals.ttid.value to align with the app.vitals.* namespace for mobile performance attributes", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["app.vitals.ttid.value"], changelog=[ - ChangelogEntry(version="0.5.0", prs=[313], description="Added and deprecated in favor of app.vitals.ttid.value"), + ChangelogEntry( + version="0.5.0", + prs=[313], + description="Added and deprecated in favor of app.vitals.ttid.value", + ), ], ), "transaction": AttributeMetadata( brief="The sentry transaction (segment name).", type=AttributeType.STRING, - keys=("sentry.segment.name", "transaction", "sentry.transaction",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "sentry.segment.name", + "transaction", + "sentry.transaction", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="GET /", deprecation=DeprecationInfo( - replacement="sentry.segment.name", - status=DeprecationStatus.NORMALIZE + replacement="sentry.segment.name", status=DeprecationStatus.NORMALIZE ), - aliases=["sentry.segment.name","sentry.transaction"], + aliases=["sentry.segment.name", "sentry.transaction"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[497], description="Change deprecation from backfill to normalize"), - ChangelogEntry(version="0.6.0", prs=[345], description="Updated transaction deprecation replacement to sentry.segment.name"), + ChangelogEntry( + version="0.19.0", + prs=[497], + description="Change deprecation from backfill to normalize", + ), + ChangelogEntry( + version="0.6.0", + prs=[345], + description="Updated transaction deprecation replacement to sentry.segment.name", + ), ChangelogEntry(version="0.1.0", prs=[61, 127]), ChangelogEntry(version="0.0.0"), ], @@ -24898,44 +27718,49 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The path of the tRPC procedure being called", type=AttributeType.STRING, keys=("trpc.procedure_path",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="user.getById", changelog=[ - ChangelogEntry(version="0.7.0", prs=[370], description="Added trpc.procedure_path attribute"), + ChangelogEntry( + version="0.7.0", + prs=[370], + description="Added trpc.procedure_path attribute", + ), ], ), "trpc.procedure_type": AttributeMetadata( brief="The type of the tRPC procedure", type=AttributeType.STRING, keys=("trpc.procedure_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="query", changelog=[ - ChangelogEntry(version="0.7.0", prs=[370], description="Added trpc.procedure_type attribute"), + ChangelogEntry( + version="0.7.0", + prs=[370], + description="Added trpc.procedure_type attribute", + ), ], ), "ttfb.requestTime": AttributeMetadata( 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=AttributeType.DOUBLE, - keys=("browser.web_vital.ttfb.request_time", "ttfb.requestTime",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.ttfb.request_time", + "ttfb.requestTime", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1554.5814, deprecation=DeprecationInfo( replacement="browser.web_vital.ttfb.request_time", reason="This attribute is being deprecated in favor of browser.web_vital.ttfb.request_time", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.ttfb.request_time"], changelog=[ @@ -24945,17 +27770,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "ttfb": AttributeMetadata( brief="The value of the recorded Time To First Byte (TTFB) web vital in milliseconds", type=AttributeType.DOUBLE, - keys=("browser.web_vital.ttfb.value", "ttfb",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "browser.web_vital.ttfb.value", + "ttfb", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=194, deprecation=DeprecationInfo( replacement="browser.web_vital.ttfb.value", reason="This attribute is being deprecated in favor of browser.web_vital.ttfb.value", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["browser.web_vital.ttfb.value"], changelog=[ @@ -24965,10 +27791,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "turbo_module.arch": AttributeMetadata( brief="The React Native architecture the call was observed on. `new` for a TurboModule resolved through `TurboModuleRegistry`, `legacy` for a module reached over the Old Architecture bridge. Only applies to React Native.", type=AttributeType.STRING, - keys=("react_native.architecture", "turbo_module.arch",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.architecture", + "turbo_module.arch", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="new", @@ -24976,20 +27803,27 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.architecture", reason="Replaced by the `react_native.*` namespace, which also covers native module calls made over the Old Architecture bridge, which are not TurboModules", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["react_native.architecture"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.arch and deprecated it in favor of react_native.architecture"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added turbo_module.arch and deprecated it in favor of react_native.architecture", + ), ], ), "turbo_module.method": AttributeMetadata( brief="The name of the native module method that was called. Only applies to React Native.", type=AttributeType.STRING, - keys=("react_native.module.method", "turbo_module.method",), + keys=( + "react_native.module.method", + "turbo_module.method", + ), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable" + reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -24998,20 +27832,27 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.method", reason="Replaced by the `react_native.*` namespace, which also covers native module calls made over the Old Architecture bridge, which are not TurboModules", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["react_native.module.method"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.method and deprecated it in favor of react_native.module.method"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added turbo_module.method and deprecated it in favor of react_native.module.method", + ), ], ), "turbo_module.name": AttributeMetadata( brief="The name of the native module the call was dispatched to. On the New Architecture this is the TurboModule name, on the Old Architecture the `NativeModules` key. Only applies to React Native.", type=AttributeType.STRING, - keys=("react_native.module.name", "turbo_module.name",), + keys=( + "react_native.module.name", + "turbo_module.name", + ), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable" + reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -25020,20 +27861,27 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.name", reason="Replaced by the `react_native.*` namespace, which also covers native module calls made over the Old Architecture bridge, which are not TurboModules", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["react_native.module.name"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.name and deprecated it in favor of react_native.module.name"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added turbo_module.name and deprecated it in favor of react_native.module.name", + ), ], ), "turbo_module.top_module": AttributeMetadata( brief="The native module and method that accounted for the most total duration during the lifetime of the span. Only applies to React Native.", type=AttributeType.STRING, - keys=("react_native.module.top.name", "turbo_module.top_module",), + keys=( + "react_native.module.top.name", + "turbo_module.top_module", + ), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.MANUAL, - reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable" + reason="Native module and method names are app-defined identifiers, but scrubbing them would make the call attribution unusable", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -25042,20 +27890,25 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.top.name", reason="Replaced by the `react_native.module.*` namespace, which also covers native module calls made over the Old Architecture bridge, and which drops the `total_` prefix and `_ms` suffix in favor of dot-separated logical grouping", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["react_native.module.top.name"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.top_module and deprecated it in favor of react_native.module.top.name"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added turbo_module.top_module and deprecated it in favor of react_native.module.top.name", + ), ], ), "turbo_module.top_module_duration_ms": AttributeMetadata( brief="The total duration attributed to the top native module method, in milliseconds. Only applies to React Native.", type=AttributeType.DOUBLE, - keys=("react_native.module.top.duration", "turbo_module.top_module_duration_ms",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.top.duration", + "turbo_module.top_module_duration_ms", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=87.25, @@ -25063,20 +27916,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.top.duration", reason="Replaced by the `react_native.module.*` namespace, which also covers native module calls made over the Old Architecture bridge, and which drops the `total_` prefix and `_ms` suffix in favor of dot-separated logical grouping", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["react_native.module.top.duration"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.top_module_duration_ms and deprecated it in favor of react_native.module.top.duration"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added turbo_module.top_module_duration_ms and deprecated it in favor of react_native.module.top.duration", + ), ], ), "turbo_module.total_call_count": AttributeMetadata( brief="The number of native module calls observed during the lifetime of the span. Only applies to React Native.", type=AttributeType.INTEGER, - keys=("react_native.module.call.count", "turbo_module.total_call_count", "turbo_modules.total_call_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.call.count", + "turbo_module.total_call_count", + "turbo_modules.total_call_count", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=42, @@ -25084,20 +27943,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.call.count", reason="Replaced by the `react_native.module.*` namespace, which also covers native module calls made over the Old Architecture bridge, and which drops the `total_` prefix and `_ms` suffix in favor of dot-separated logical grouping", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["react_native.module.call.count","turbo_modules.total_call_count"], + aliases=["react_native.module.call.count", "turbo_modules.total_call_count"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.total_call_count and deprecated it in favor of react_native.module.call.count"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added turbo_module.total_call_count and deprecated it in favor of react_native.module.call.count", + ), ], ), "turbo_module.total_duration_ms": AttributeMetadata( brief="The combined duration of all native module calls observed during the lifetime of the span, in milliseconds. Only applies to React Native.", type=AttributeType.DOUBLE, - keys=("react_native.module.duration.total", "turbo_module.total_duration_ms", "turbo_modules.total_duration_ms",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.duration.total", + "turbo_module.total_duration_ms", + "turbo_modules.total_duration_ms", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=128.45, @@ -25105,20 +27970,29 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.duration.total", reason="Replaced by the `react_native.module.*` namespace, which also covers native module calls made over the Old Architecture bridge, and which drops the `total_` prefix and `_ms` suffix in favor of dot-separated logical grouping", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["react_native.module.duration.total","turbo_modules.total_duration_ms"], + aliases=[ + "react_native.module.duration.total", + "turbo_modules.total_duration_ms", + ], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.total_duration_ms and deprecated it in favor of react_native.module.duration.total"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added turbo_module.total_duration_ms and deprecated it in favor of react_native.module.duration.total", + ), ], ), "turbo_module.total_error_count": AttributeMetadata( brief="The number of native module calls that failed during the lifetime of the span. Only applies to React Native.", type=AttributeType.INTEGER, - keys=("react_native.module.error.count", "turbo_module.total_error_count", "turbo_modules.total_error_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.error.count", + "turbo_module.total_error_count", + "turbo_modules.total_error_count", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, @@ -25126,20 +28000,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.error.count", reason="Replaced by the `react_native.module.*` namespace, which also covers native module calls made over the Old Architecture bridge, and which drops the `total_` prefix and `_ms` suffix in favor of dot-separated logical grouping", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["react_native.module.error.count","turbo_modules.total_error_count"], + aliases=["react_native.module.error.count", "turbo_modules.total_error_count"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.total_error_count and deprecated it in favor of react_native.module.error.count"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added turbo_module.total_error_count and deprecated it in favor of react_native.module.error.count", + ), ], ), "turbo_module.unique_methods": AttributeMetadata( brief="The number of distinct native module and method pairs called during the lifetime of the span. Only applies to React Native.", type=AttributeType.INTEGER, - keys=("react_native.module.call.distinct_count", "turbo_module.unique_methods", "turbo_modules.unique_methods",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.call.distinct_count", + "turbo_module.unique_methods", + "turbo_modules.unique_methods", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=7, @@ -25147,20 +28027,29 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.call.distinct_count", reason="Replaced by the `react_native.module.*` namespace, which also covers native module calls made over the Old Architecture bridge, and which drops the `total_` prefix and `_ms` suffix in favor of dot-separated logical grouping", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["react_native.module.call.distinct_count","turbo_modules.unique_methods"], + aliases=[ + "react_native.module.call.distinct_count", + "turbo_modules.unique_methods", + ], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_module.unique_methods and deprecated it in favor of react_native.module.call.distinct_count"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added turbo_module.unique_methods and deprecated it in favor of react_native.module.call.distinct_count", + ), ], ), "turbo_modules.total_call_count": AttributeMetadata( brief="The number of native module calls in the flushed call aggregate. Only applies to React Native.", type=AttributeType.INTEGER, - keys=("react_native.module.call.count", "turbo_module.total_call_count", "turbo_modules.total_call_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.call.count", + "turbo_module.total_call_count", + "turbo_modules.total_call_count", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=42, @@ -25168,20 +28057,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.call.count", reason="Replaced by the `react_native.module.*` namespace; the SDK emitted the same values under both a singular `turbo_module.*` and a plural `turbo_modules.*` prefix", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["react_native.module.call.count","turbo_module.total_call_count"], + aliases=["react_native.module.call.count", "turbo_module.total_call_count"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_modules.total_call_count and deprecated it in favor of react_native.module.call.count"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added turbo_modules.total_call_count and deprecated it in favor of react_native.module.call.count", + ), ], ), "turbo_modules.total_duration_ms": AttributeMetadata( brief="The combined duration of all native module calls in the flushed call aggregate, in milliseconds. Only applies to React Native.", type=AttributeType.DOUBLE, - keys=("react_native.module.duration.total", "turbo_module.total_duration_ms", "turbo_modules.total_duration_ms",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.duration.total", + "turbo_module.total_duration_ms", + "turbo_modules.total_duration_ms", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=128.45, @@ -25189,20 +28084,29 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.duration.total", reason="Replaced by the `react_native.module.*` namespace; the SDK emitted the same values under both a singular `turbo_module.*` and a plural `turbo_modules.*` prefix", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["react_native.module.duration.total","turbo_module.total_duration_ms"], + aliases=[ + "react_native.module.duration.total", + "turbo_module.total_duration_ms", + ], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_modules.total_duration_ms and deprecated it in favor of react_native.module.duration.total"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added turbo_modules.total_duration_ms and deprecated it in favor of react_native.module.duration.total", + ), ], ), "turbo_modules.total_error_count": AttributeMetadata( brief="The number of failed native module calls in the flushed call aggregate. Only applies to React Native.", type=AttributeType.INTEGER, - keys=("react_native.module.error.count", "turbo_module.total_error_count", "turbo_modules.total_error_count",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.error.count", + "turbo_module.total_error_count", + "turbo_modules.total_error_count", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=2, @@ -25210,20 +28114,26 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.error.count", reason="Replaced by the `react_native.module.*` namespace; the SDK emitted the same values under both a singular `turbo_module.*` and a plural `turbo_modules.*` prefix", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["react_native.module.error.count","turbo_module.total_error_count"], + aliases=["react_native.module.error.count", "turbo_module.total_error_count"], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_modules.total_error_count and deprecated it in favor of react_native.module.error.count"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added turbo_modules.total_error_count and deprecated it in favor of react_native.module.error.count", + ), ], ), "turbo_modules.unique_methods": AttributeMetadata( brief="The number of distinct native module and method pairs in the flushed call aggregate. Only applies to React Native.", type=AttributeType.INTEGER, - keys=("react_native.module.call.distinct_count", "turbo_module.unique_methods", "turbo_modules.unique_methods",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "react_native.module.call.distinct_count", + "turbo_module.unique_methods", + "turbo_modules.unique_methods", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=7, @@ -25231,20 +28141,25 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="react_native.module.call.distinct_count", reason="Replaced by the `react_native.module.*` namespace; the SDK emitted the same values under both a singular `turbo_module.*` and a plural `turbo_modules.*` prefix", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["react_native.module.call.distinct_count","turbo_module.unique_methods"], + aliases=[ + "react_native.module.call.distinct_count", + "turbo_module.unique_methods", + ], changelog=[ - ChangelogEntry(version="0.24.0", prs=[564], description="Added turbo_modules.unique_methods and deprecated it in favor of react_native.module.call.distinct_count"), + ChangelogEntry( + version="0.24.0", + prs=[564], + description="Added turbo_modules.unique_methods and deprecated it in favor of react_native.module.call.distinct_count", + ), ], ), "type": AttributeMetadata( brief="More granular type of the operation happening.", type=AttributeType.STRING, keys=("type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="fetch", @@ -25256,9 +28171,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The name of the associated component.", type=AttributeType.STRING, keys=("ui.component_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="HomeButton", @@ -25271,9 +28184,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the span execution contributed to the TTFD (time to fully drawn) metric.", type=AttributeType.BOOLEAN, keys=("ui.contributes_to_ttfd",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -25285,9 +28196,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Whether the span execution contributed to the TTID (time to initial display) metric.", type=AttributeType.BOOLEAN, keys=("ui.contributes_to_ttid",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, @@ -25299,135 +28208,147 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The height of the UI element (for Html in pixels)", type=AttributeType.INTEGER, keys=("ui.element.height",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=256, changelog=[ - ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.height attribute"), + ChangelogEntry( + version="0.5.0", + prs=[284], + description="Added ui.element.height attribute", + ), ], ), "ui.element.id": AttributeMetadata( brief="The id of the UI element", type=AttributeType.STRING, keys=("ui.element.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="btn-login", changelog=[ - ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.id attribute"), + ChangelogEntry( + version="0.5.0", prs=[284], description="Added ui.element.id attribute" + ), ], ), "ui.element.identifier": AttributeMetadata( brief="The identifier used to measure the UI element timing", type=AttributeType.STRING, keys=("ui.element.identifier",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="heroImage", changelog=[ - ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.identifier attribute"), + ChangelogEntry( + version="0.5.0", + prs=[284], + description="Added ui.element.identifier attribute", + ), ], ), "ui.element.load_time": AttributeMetadata( brief="The loading time of a UI element (from time origin to finished loading)", type=AttributeType.DOUBLE, keys=("ui.element.load_time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=998.2234, changelog=[ - ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.load_time attribute"), + ChangelogEntry( + version="0.5.0", + prs=[284], + description="Added ui.element.load_time attribute", + ), ], ), "ui.element.paint_type": AttributeMetadata( brief="The type of element paint. Can either be 'image-paint' or 'text-paint'", type=AttributeType.STRING, keys=("ui.element.paint_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="image-paint", changelog=[ - ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.paint_type attribute"), + ChangelogEntry( + version="0.5.0", + prs=[284], + description="Added ui.element.paint_type attribute", + ), ], ), "ui.element.render_time": AttributeMetadata( brief="The rendering time of the UI element (from time origin to finished rendering)", type=AttributeType.DOUBLE, keys=("ui.element.render_time",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1023.1124, changelog=[ - ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.render_time attribute"), + ChangelogEntry( + version="0.5.0", + prs=[284], + description="Added ui.element.render_time attribute", + ), ], ), "ui.element.type": AttributeMetadata( brief="type of the UI element", type=AttributeType.STRING, keys=("ui.element.type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="img", changelog=[ - ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.type attribute"), + ChangelogEntry( + version="0.5.0", + prs=[284], + description="Added ui.element.type attribute", + ), ], ), "ui.element.url": AttributeMetadata( brief="The URL of the UI element (e.g. an img src)", type=AttributeType.STRING, keys=("ui.element.url",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://assets.myapp.com/hero.png", changelog=[ - ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.url attribute"), + ChangelogEntry( + version="0.5.0", prs=[284], description="Added ui.element.url attribute" + ), ], ), "ui.element.width": AttributeMetadata( brief="The width of the UI element (for HTML in pixels)", type=AttributeType.INTEGER, keys=("ui.element.width",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=512, changelog=[ - ChangelogEntry(version="0.5.0", prs=[284], description="Added ui.element.width attribute"), + ChangelogEntry( + version="0.5.0", + prs=[284], + description="Added ui.element.width attribute", + ), ], ), "url.domain": AttributeMetadata( brief="Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.", type=AttributeType.STRING, keys=("url.domain",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="example.com", @@ -25440,9 +28361,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The fragments present in the URI. Note that this does not contain the leading # character, while the `http.fragment` attribute does.", type=AttributeType.STRING, keys=("url.fragment",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="details", @@ -25453,17 +28372,29 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "url.full": AttributeMetadata( brief="The URL of the resource that was fetched.", type=AttributeType.STRING, - keys=("url.full", "aws.request.url", "http.url", "messaging.url", "url",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "url.full", + "aws.request.url", + "http.url", + "messaging.url", + "url", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="https://example.com/test?foo=bar#buzz", - aliases=["http.url","url","aws.request.url","messaging.url"], - changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.url as an alias"), - ChangelogEntry(version="0.19.0", prs=[488], description="Added aws.request.url as an alias"), + aliases=["http.url", "url", "aws.request.url", "messaging.url"], + changelog=[ + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.url as an alias", + ), + ChangelogEntry( + version="0.19.0", + prs=[488], + description="Added aws.request.url as an alias", + ), ChangelogEntry(version="0.1.0", prs=[108]), ChangelogEntry(version="0.0.0"), ], @@ -25472,9 +28403,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The URI path component.", type=AttributeType.STRING, keys=("url.path",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="/foo", @@ -25485,27 +28414,35 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "url.path.parameter.": AttributeMetadata( brief="Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.", type=AttributeType.STRING, - keys=("url.path.parameter.", "params.", "url.path.params.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "url.path.parameter.", + "params.", + "url.path.params.", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, example="url.path.parameter.id='123'", - aliases=["params.","url.path.params."], + aliases=["params.", "url.path.params."], changelog=[ - ChangelogEntry(version="0.21.0", prs=[586], description="Added url.path.params. as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[586], + description="Added url.path.params. as an alias", + ), ChangelogEntry(version="0.1.0", prs=[103]), ], ), "url.path.params.": AttributeMetadata( brief="Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.", type=AttributeType.STRING, - keys=("url.path.parameter.", "params.", "url.path.params.",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "url.path.parameter.", + "params.", + "url.path.params.", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, has_dynamic_suffix=True, @@ -25514,20 +28451,22 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): deprecation=DeprecationInfo( replacement="url.path.parameter.", reason="This attribute is being deprecated in favor of url.path.parameter..", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), - aliases=["url.path.parameter.","params."], + aliases=["url.path.parameter.", "params."], changelog=[ - ChangelogEntry(version="0.21.0", prs=[586], description="Added url.path.params. attribute"), + ChangelogEntry( + version="0.21.0", + prs=[586], + description="Added url.path.params. attribute", + ), ], ), "url.port": AttributeMetadata( brief="Server port number.", type=AttributeType.INTEGER, keys=("url.port",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example=1337, @@ -25542,7 +28481,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("url.query",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information." + reason="Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.", ), is_in_otel=True, visibility=Visibility.PUBLIC, @@ -25554,30 +28493,36 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "url.same_origin": AttributeMetadata( brief="Indicates that a URL has the same origin as the current page's origin in the browser.", type=AttributeType.BOOLEAN, - keys=("http.request.same_origin", "url.same_origin",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "http.request.same_origin", + "url.same_origin", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=True, deprecation=DeprecationInfo( replacement="http.request.same_origin", reason="This attribute is being deprecated in favor of http.request.same_origin.", - status=DeprecationStatus.BACKFILL + status=DeprecationStatus.BACKFILL, ), aliases=["http.request.same_origin"], changelog=[ - ChangelogEntry(version="0.16.0", prs=[456], description="Added url.same_origin attribute, deprecated in favor of http.request.same_origin"), + ChangelogEntry( + version="0.16.0", + prs=[456], + description="Added url.same_origin attribute, deprecated in favor of http.request.same_origin", + ), ], ), "url.scheme": AttributeMetadata( brief="The URI scheme component identifying the used protocol.", type=AttributeType.STRING, - keys=("url.scheme", "http.scheme",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "url.scheme", + "http.scheme", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="https", @@ -25591,37 +28536,49 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="The low-cardinality template of an absolute URL path reference.", type=AttributeType.STRING, keys=("url.template",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=Visibility.PUBLIC, example="/users/{id}", examples=["/users/{id}", "/users/:id", "/about"], changelog=[ - ChangelogEntry(version="0.19.0", prs=[505, 521], description="Added multiple examples, removed alias to `http.route`, added additional context"), + ChangelogEntry( + version="0.19.0", + prs=[505, 521], + description="Added multiple examples, removed alias to `http.route`, added additional context", + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], - additional_context=["This attribute should primarily be set by client-side routing instrumentation, or `http.client` spans (if applicable).","Use `http.route` for server-side instrumentation that captures the framework route of an incoming request."], + additional_context=[ + "This attribute should primarily be set by client-side routing instrumentation, or `http.client` spans (if applicable).", + "Use `http.route` for server-side instrumentation that captures the framework route of an incoming request.", + ], ), "url": AttributeMetadata( brief="The URL of the resource that was fetched.", type=AttributeType.STRING, - keys=("url.full", "aws.request.url", "http.url", "messaging.url", "url",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "url.full", + "aws.request.url", + "http.url", + "messaging.url", + "url", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://example.com/test?foo=bar#buzz", deprecation=DeprecationInfo( - replacement="url.full", - status=DeprecationStatus.BACKFILL + replacement="url.full", status=DeprecationStatus.BACKFILL ), - aliases=["url.full","http.url","aws.request.url","messaging.url"], + aliases=["url.full", "http.url", "aws.request.url", "messaging.url"], changelog=[ - ChangelogEntry(version="0.21.0", prs=[581], description="Added messaging.url as an alias"), + ChangelogEntry( + version="0.21.0", + prs=[581], + description="Added messaging.url as an alias", + ), ChangelogEntry(version="0.1.0", prs=[61]), ChangelogEntry(version="0.0.0"), ], @@ -25629,10 +28586,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.email": AttributeMetadata( brief="User email address.", type=AttributeType.STRING, - keys=("user.email", "sentry.user.email",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "user.email", + "sentry.user.email", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="test@example.com", @@ -25645,9 +28603,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="User's full name.", type=AttributeType.STRING, keys=("user.full_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="John Smith", @@ -25658,10 +28614,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.geo.city": AttributeMetadata( brief="Human readable city name.", type=AttributeType.STRING, - keys=("user.geo.city", "sentry.user.geo.city",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "user.geo.city", + "sentry.user.geo.city", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Toronto", @@ -25673,10 +28630,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.geo.country_code": AttributeMetadata( brief="Two-letter country code (ISO 3166-1 alpha-2).", type=AttributeType.STRING, - keys=("user.geo.country_code", "sentry.user.geo.country_code",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "user.geo.country_code", + "sentry.user.geo.country_code", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="CA", @@ -25688,10 +28646,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.geo.region": AttributeMetadata( brief="Human readable region name or code.", type=AttributeType.STRING, - keys=("user.geo.region", "sentry.user.geo.region",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "user.geo.region", + "sentry.user.geo.region", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Canada", @@ -25703,10 +28662,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.geo.subdivision": AttributeMetadata( brief="Human readable subdivision name.", type=AttributeType.STRING, - keys=("user.geo.subdivision", "sentry.user.geo.subdivision",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "user.geo.subdivision", + "sentry.user.geo.subdivision", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="Ontario", @@ -25719,9 +28679,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Unique user hash to correlate information for a user in anonymized form.", type=AttributeType.STRING, keys=("user.hash",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="8ae4c2993e0f4f3b8b2d1b1f3b5e8f4d", @@ -25732,10 +28690,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.id": AttributeMetadata( brief="Unique identifier of the user.", type=AttributeType.STRING, - keys=("user.id", "sentry.user.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "user.id", + "sentry.user.id", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="S-1-5-21-202424912787-2692429404-2351956786-1000", @@ -25747,10 +28706,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.ip_address": AttributeMetadata( brief="The IP address of the user.", type=AttributeType.STRING, - keys=("user.ip_address", "sentry.user.ip", "user.ip",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "user.ip_address", + "sentry.user.ip", + "user.ip", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="192.168.1.1", @@ -25762,10 +28723,12 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user.name": AttributeMetadata( brief="Short name or login/username of the user.", type=AttributeType.STRING, - keys=("user.name", "sentry.user.username", "user.username",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO + keys=( + "user.name", + "sentry.user.username", + "user.username", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example="j.smith", @@ -25778,9 +28741,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Array of user roles at the time of the event.", type=AttributeType.STRING_ARRAY, keys=("user.roles",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=True, visibility=Visibility.PUBLIC, example=["admin", "editor"], @@ -25791,10 +28752,11 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "user_agent.original": AttributeMetadata( brief="Value of the HTTP User-Agent header sent by the client.", type=AttributeType.STRING, - keys=("user_agent.original", "http.user_agent",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL + keys=( + "user_agent.original", + "http.user_agent", ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=True, visibility=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", @@ -25810,7 +28772,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): keys=("vercel.ai.telemetry.metadata.",), apply_scrubbing=ApplyScrubbingInfo( key=ApplyScrubbing.AUTO, - reason="Metadata is user-defined and can contain user data" + reason="Metadata is user-defined and can contain user data", ), is_in_otel=False, visibility=Visibility.PUBLIC, @@ -25818,17 +28780,24 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): example="vercel.ai.telemetry.metadata.tenantId='acme'", examples=["vercel.ai.telemetry.metadata.tenantId='acme'"], changelog=[ - ChangelogEntry(version="0.26.0", prs=[662], description="Added vercel.ai.telemetry.metadata. attribute"), + ChangelogEntry( + version="0.26.0", + prs=[662], + description="Added vercel.ai.telemetry.metadata. attribute", + ), + ], + additional_context=[ + "Set on `gen_ai` spans for `invoke_agent`, `generate_content` and `embeddings` operations. Not set on `execute_tool` spans.", + "The Vercel AI SDK's own OpenTelemetry spans emit the same data as `ai.telemetry.metadata.`.", + "The Vercel AI SDK also allows numbers, booleans and arrays as metadata values. SDKs MUST convert these values to strings.", + "This attribute is open-ended on purpose. The Vercel AI SDK does not define the metadata keys. If Vercel defines a stricter spec for this metadata, consider moving it into `gen_ai.*` attributes.", ], - additional_context=["Set on `gen_ai` spans for `invoke_agent`, `generate_content` and `embeddings` operations. Not set on `execute_tool` spans.","The Vercel AI SDK's own OpenTelemetry spans emit the same data as `ai.telemetry.metadata.`.","The Vercel AI SDK also allows numbers, booleans and arrays as metadata values. SDKs MUST convert these values to strings.","This attribute is open-ended on purpose. The Vercel AI SDK does not define the metadata keys. If Vercel defines a stricter spec for this metadata, consider moving it into `gen_ai.*` attributes."], ), "vercel.branch": AttributeMetadata( brief="Git branch name for Vercel project", type=AttributeType.STRING, keys=("vercel.branch",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="main", @@ -25840,9 +28809,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Identifier for the Vercel build (only present on build logs)", type=AttributeType.STRING, keys=("vercel.build_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="bld_cotnkcr76", @@ -25854,9 +28821,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Identifier for the Vercel deployment", type=AttributeType.STRING, keys=("vercel.deployment_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="dpl_233NRGRjVZX1caZrXWtz5g1TAksD", @@ -25868,9 +28833,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Origin of the external content in Vercel (only on external logs)", type=AttributeType.STRING, keys=("vercel.destination",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="https://vitals.vercel-insights.com/v1", @@ -25882,9 +28845,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Type of edge runtime in Vercel", type=AttributeType.STRING, keys=("vercel.edge_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="edge-function", @@ -25896,9 +28857,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Entrypoint for the request in Vercel", type=AttributeType.STRING, keys=("vercel.entrypoint",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="api/index.js", @@ -25910,9 +28869,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Region where the request is executed", type=AttributeType.STRING, keys=("vercel.execution_region",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="sfo1", @@ -25924,9 +28881,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Unique identifier for the log entry in Vercel", type=AttributeType.STRING, keys=("vercel.id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="1573817187330377061717300000", @@ -25938,9 +28893,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="JA3 fingerprint digest of Vercel request", type=AttributeType.STRING, keys=("vercel.ja3_digest",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="769,47-53-5-10-49161-49162-49171-49172-50-56-19-4,0-10-11,23-24-25,0", @@ -25952,9 +28905,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="JA4 fingerprint digest", type=AttributeType.STRING, keys=("vercel.ja4_digest",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="t13d1516h2_8daaf6152771_02713d6af862", @@ -25966,9 +28917,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Vercel log output type", type=AttributeType.STRING, keys=("vercel.log_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="stdout", @@ -25980,23 +28929,21 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Function or dynamic path of the request in Vercel.", type=AttributeType.STRING, keys=("vercel.path",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="/dynamic/[route].json", changelog=[ - ChangelogEntry(version="0.6.0", prs=[349], description="Added vercel.path attribute"), + ChangelogEntry( + version="0.6.0", prs=[349], description="Added vercel.path attribute" + ), ], ), "vercel.project_id": AttributeMetadata( brief="Identifier for the Vercel project", type=AttributeType.STRING, keys=("vercel.project_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="gdufoJxB6b9b1fEqr1jUtFkyavUU", @@ -26008,9 +28955,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Name of the Vercel project", type=AttributeType.STRING, keys=("vercel.project_name",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="my-app", @@ -26022,9 +28967,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Original request ID when request is served from cache", type=AttributeType.STRING, keys=("vercel.proxy.cache_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="pdx1::v8g4b-1744143786684-93dafbc0f70d", @@ -26036,9 +28979,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Client IP address", type=AttributeType.STRING, keys=("vercel.proxy.client_ip",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="120.75.16.101", @@ -26050,9 +28991,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Hostname of the request", type=AttributeType.STRING, keys=("vercel.proxy.host",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="test.vercel.app", @@ -26064,9 +29003,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Region where lambda function executed", type=AttributeType.STRING, keys=("vercel.proxy.lambda_region",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="sfo1", @@ -26078,9 +29015,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="HTTP method of the request", type=AttributeType.STRING, keys=("vercel.proxy.method",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="GET", @@ -26092,9 +29027,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Request path with query parameters", type=AttributeType.STRING, keys=("vercel.proxy.path",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="/dynamic/some-value.json?route=some-value", @@ -26106,9 +29039,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="How the request was served based on its path and project configuration", type=AttributeType.STRING, keys=("vercel.proxy.path_type",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="func", @@ -26120,9 +29051,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Variant of the path type", type=AttributeType.STRING, keys=("vercel.proxy.path_type_variant",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="api", @@ -26134,9 +29063,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Referer of the request", type=AttributeType.STRING, keys=("vercel.proxy.referer",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.AUTO - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.AUTO), is_in_otel=False, visibility=Visibility.PUBLIC, example="*.vercel.app", @@ -26148,9 +29075,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Region where the request is processed", type=AttributeType.STRING, keys=("vercel.proxy.region",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="sfo1", @@ -26162,9 +29087,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Size of the response in bytes", type=AttributeType.INTEGER, keys=("vercel.proxy.response_byte_size",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1024, @@ -26177,9 +29100,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Protocol of the request", type=AttributeType.STRING, keys=("vercel.proxy.scheme",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="https", @@ -26191,9 +29112,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="HTTP status code of the proxy request", type=AttributeType.INTEGER, keys=("vercel.proxy.status_code",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=200, @@ -26206,9 +29125,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Unix timestamp when the proxy request was made", type=AttributeType.INTEGER, keys=("vercel.proxy.timestamp",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=1573817250172, @@ -26221,9 +29138,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="User agent strings of the request", type=AttributeType.STRING_ARRAY, keys=("vercel.proxy.user_agent",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=["Mozilla/5.0..."], @@ -26235,9 +29150,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Cache status sent to the browser", type=AttributeType.STRING, keys=("vercel.proxy.vercel_cache",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="REVALIDATED", @@ -26249,9 +29162,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Vercel-specific identifier", type=AttributeType.STRING, keys=("vercel.proxy.vercel_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="sfo1::abc123", @@ -26263,9 +29174,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Action taken by firewall rules", type=AttributeType.STRING, keys=("vercel.proxy.waf_action",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="deny", @@ -26277,9 +29186,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="ID of the firewall rule that matched", type=AttributeType.STRING, keys=("vercel.proxy.waf_rule_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="rule_gAHz8jtSB1Gy", @@ -26291,9 +29198,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Identifier of the Vercel request", type=AttributeType.STRING, keys=("vercel.request_id",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="643af4e3-975a-4cc7-9e7a-1eda11539d90", @@ -26305,9 +29210,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="Origin of the Vercel log (build, edge, lambda, static, external, or firewall)", type=AttributeType.STRING, keys=("vercel.source",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example="build", @@ -26319,9 +29222,7 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): brief="HTTP status code of the request (-1 means no response returned and the lambda crashed)", type=AttributeType.INTEGER, keys=("vercel.status_code",), - apply_scrubbing=ApplyScrubbingInfo( - key=ApplyScrubbing.MANUAL - ), + apply_scrubbing=ApplyScrubbingInfo(key=ApplyScrubbing.MANUAL), is_in_otel=False, visibility=Visibility.PUBLIC, example=200, @@ -26337,914 +29238,918 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): If a key is not present in this dictionary, it means that attribute is not defined in the Sentry Semantic Conventions. """ -Attributes = TypedDict("Attributes", { - "address": str, - "ai.citations": List[str], - "ai.completion_tokens.used": int, - "ai.documents": List[str], - "ai.finish_reason": str, - "ai.frequency_penalty": float, - "ai.function_call": str, - "ai.generation_id": str, - "ai.input_messages": str, - "ai.is_search_required": bool, - "ai.metadata": str, - "ai.model.id": str, - "ai.model.provider": str, - "ai.model_id": str, - "ai.pipeline.name": str, - "ai.preamble": str, - "ai.presence_penalty": float, - "ai.prompt": str, - "ai.prompt.messages": str, - "ai.prompt.tools": List[str], - "ai.prompt_tokens.used": int, - "ai.raw_prompting": bool, - "ai.response.id": str, - "ai.response.model": str, - "ai.response.object": str, - "ai.response.text": str, - "ai.response.timestamp": str, - "ai.response.toolCalls": str, - "ai.response_format": str, - "ai.responses": List[str], - "ai.schema": str, - "ai.search_queries": List[str], - "ai.search_results": List[str], - "ai.seed": str, - "ai.streaming": bool, - "ai.tags": str, - "ai.temperature": float, - "ai.texts": List[str], - "ai.toolCall.args": str, - "ai.toolCall.result": str, - "ai.tool_calls": List[str], - "ai.tools": List[str], - "ai.top_k": int, - "ai.top_p": float, - "ai.total_cost": float, - "ai.total_tokens.used": int, - "ai.usage.tokens": int, - "ai.values": str, - "ai.warnings": List[str], - "angular.version": str, - "anthropic.tool_result.content": str, - "app.app_build": str, - "app.app_identifier": str, - "app.app_name": str, - "app.app_start_time": str, - "app.app_version": str, - "app.build": str, - "app.identifier": str, - "app.in_foreground": bool, - "app.name": str, - "app.start_time": str, - "app.version": str, - "app.vitals.frames.delay.value": int, - "app.vitals.frames.frozen.count": int, - "app.vitals.frames.frozen.rate": float, - "app.vitals.frames.slow.count": int, - "app.vitals.frames.slow.rate": float, - "app.vitals.frames.total.count": int, - "app.vitals.stall.duration": float, - "app.vitals.stall.percentage": float, - "app.vitals.start.cold.value": float, - "app.vitals.start.prewarmed": bool, - "app.vitals.start.reason": str, - "app.vitals.start.screen": str, - "app.vitals.start.type": str, - "app.vitals.start.warm.value": float, - "app.vitals.ttfd.value": float, - "app.vitals.ttid.value": float, - "app_start_cold": float, - "app_start_type": str, - "app_start_warm": float, - "art.gc.blocking_count": int, - "art.gc.blocking_time": float, - "art.gc.pre_oome_count": int, - "art.gc.total_count": int, - "art.gc.total_time": float, - "art.gc.waiting_time": float, - "art.memory.free": int, - "art.memory.free_until_gc": int, - "art.memory.free_until_oome": int, - "art.memory.max": int, - "art.memory.total": int, - "aws.cloudwatch.logs.log_group": str, - "aws.cloudwatch.logs.log_stream": str, - "aws.cloudwatch.logs.url": str, - "aws.dynamodb.attribute_definitions": List[str], - "aws.dynamodb.attributes_to_get": List[str], - "aws.dynamodb.consistent_read": bool, - "aws.dynamodb.consumed_capacity": List[str], - "aws.dynamodb.count": int, - "aws.dynamodb.exclusive_start_table": str, - "aws.dynamodb.global_secondary_index_updates": List[str], - "aws.dynamodb.global_secondary_indexes": List[str], - "aws.dynamodb.index_name": str, - "aws.dynamodb.item_collection_metrics": str, - "aws.dynamodb.limit": int, - "aws.dynamodb.local_secondary_indexes": List[str], - "aws.dynamodb.projection": str, - "aws.dynamodb.provisioned_read_capacity": float, - "aws.dynamodb.provisioned_write_capacity": float, - "aws.dynamodb.scan_forward": bool, - "aws.dynamodb.scanned_count": int, - "aws.dynamodb.segment": int, - "aws.dynamodb.select": str, - "aws.dynamodb.table_count": int, - "aws.dynamodb.table_names": List[str], - "aws.dynamodb.total_segments": int, - "aws.extended_request_id": str, - "aws.kinesis.stream.name": str, - "aws.kinesis.stream_name": str, - "aws.lambda.aws_request_id": str, - "aws.lambda.execution_duration_in_millis": float, - "aws.lambda.function_name": str, - "aws.lambda.function_version": str, - "aws.lambda.invoked_arn": str, - "aws.lambda.invoked_function_arn": str, - "aws.lambda.remaining_time_in_millis": float, - "aws.log.group.names": List[str], - "aws.log.stream.names": List[str], - "aws.operation_name": str, - "aws.request.extended_id": str, - "aws.request.id": str, - "aws.request.url": str, - "aws.request_id": str, - "aws.s3.bucket": str, - "aws.s3.copy_source": str, - "aws.s3.delete": str, - "aws.s3.key": str, - "aws.s3.part_number": int, - "aws.s3.upload_id": str, - "aws.secretsmanager.secret.arn": str, - "aws.sns.topic.arn": str, - "aws.sqs.queue.url": str, - "aws.step_functions.activity.arn": str, - "aws.step_functions.execution.arn": str, - "aws.step_functions.state_machine.arn": str, - "aws_region": str, - "blocked_main_thread": bool, - "browser.bfcache.frame": str, - "browser.bfcache.not_restored_reason_count": int, - "browser.bfcache.outcome": str, - "browser.bfcache.reason": str, - "browser.name": str, - "browser.navigation.id": int, - "browser.navigation.type": str, - "browser.paint.type": str, - "browser.performance.navigation.activation_start": float, - "browser.performance.time_origin": float, - "browser.report.type": str, - "browser.script.invoker": str, - "browser.script.invoker_type": str, - "browser.script.source_char_position": int, - "browser.version": str, - "browser.web_vital.cls.report_event": str, - "browser.web_vital.cls.source.": str, - "browser.web_vital.cls.value": float, - "browser.web_vital.fcp.value": float, - "browser.web_vital.fp.value": float, - "browser.web_vital.inp.interaction_type": str, - "browser.web_vital.inp.target": str, - "browser.web_vital.inp.value": float, - "browser.web_vital.lcp.element": str, - "browser.web_vital.lcp.id": str, - "browser.web_vital.lcp.load_time": int, - "browser.web_vital.lcp.render_time": int, - "browser.web_vital.lcp.report_event": str, - "browser.web_vital.lcp.size": int, - "browser.web_vital.lcp.url": str, - "browser.web_vital.lcp.value": float, - "browser.web_vital.ttfb.request_time": float, - "browser.web_vital.ttfb.value": float, - "cache.hit": bool, - "cache.item_age": int, - "cache.item_size": int, - "cache.key": List[str], - "cache.operation": str, - "cache.tags": List[str], - "cache.ttl": int, - "cache.write": bool, - "channel": str, - "client.address": str, - "client.port": int, - "cloud.account.id": str, - "cloud.availability_zone": str, - "cloud.platform": str, - "cloud.provider": str, - "cloud.region": str, - "cloud.resource_id": str, - "cloudflare.d1.duration": int, - "cloudflare.d1.query_type": str, - "cloudflare.d1.rows_read": int, - "cloudflare.d1.rows_written": int, - "cloudflare.durable_object.query.bindings": int, - "cloudflare.durable_object.response.rows_read": int, - "cloudflare.durable_object.response.rows_written": int, - "cloudflare.r2.bucket": str, - "cloudflare.r2.operation": str, - "cloudflare.r2.request.delimiter": str, - "cloudflare.r2.request.key": str, - "cloudflare.r2.request.part_number": int, - "cloudflare.r2.request.prefix": str, - "cloudflare.workflow.attempt": int, - "cloudflare.workflow.retries.backoff": str, - "cloudflare.workflow.retries.delay": str, - "cloudflare.workflow.retries.limit": int, - "cloudflare.workflow.timeout": str, - "cls.source.": str, - "cls": float, - "code.file.path": str, - "code.filepath": str, - "code.function": str, - "code.function.name": str, - "code.line.number": int, - "code.lineno": int, - "code.namespace": str, - "code": str, - "connection.rtt": int, - "connectionType": str, - "culture.calendar": str, - "culture.display_name": str, - "culture.is_24_hour_format": bool, - "culture.locale": str, - "culture.timezone": str, - "db.collection.name": str, - "db.connection_string": str, - "db.driver.name": str, - "db.mongodb.collection": str, - "db.name": str, - "db.namespace": str, - "db.operation": str, - "db.operation.batch.size": int, - "db.operation.name": str, - "db.params": str, - "db.query.parameter.": str, - "db.query.summary": str, - "db.query.text": str, - "db.redis.connection": str, - "db.redis.key": str, - "db.redis.parameters": List[str], - "db.response.status_code": str, - "db.sql.bindings": List[str], - "db.statement": str, - "db.stored_procedure.name": str, - "db.system": str, - "db.system.name": str, - "db.user": str, - "device.archs": List[str], - "device.battery_level": float, - "device.battery_temperature": float, - "device.boot_time": str, - "device.brand": str, - "device.charging": bool, - "device.chipset": str, - "device.class": str, - "device.connection_type": str, - "device.cpu_description": str, - "device.external_free_storage": int, - "device.external_storage_size": int, - "device.family": str, - "device.free_memory": int, - "device.free_storage": int, - "device.id": str, - "device.locale": str, - "device.low_memory": bool, - "device.low_power_mode": bool, - "device.manufacturer": str, - "device.memory.estimated_capacity": int, - "device.memory_size": int, - "device.model": str, - "device.model_id": str, - "device.name": str, - "device.online": bool, - "device.orientation": str, - "device.processor_count": int, - "device.processor_frequency": float, - "device.screen_density": float, - "device.screen_dpi": int, - "device.screen_height_pixels": int, - "device.screen_width_pixels": int, - "device.simulator": bool, - "device.storage_size": int, - "device.thermal_state": str, - "device.timezone": str, - "device.usable_memory": int, - "deviceMemory": str, - "dist": str, - "django.function_name": str, - "django.middleware_name": str, - "effectiveConnectionType": str, - "environment": str, - "error.type": str, - "event.id": int, - "event.name": str, - "exception.escaped": bool, - "exception.message": str, - "exception.stacktrace": str, - "exception.type": str, - "faas.coldstart": bool, - "faas.cron": str, - "faas.duration_in_ms": int, - "faas.entry_point": str, - "faas.execution": str, - "faas.id": str, - "faas.identity": str, - "faas.invocation_id": str, - "faas.invoked_name": str, - "faas.invoked_provider": str, - "faas.invoked_region": str, - "faas.name": str, - "faas.time": str, - "faas.trigger": str, - "faas.version": str, - "fcp": float, - "file.path": str, - "file.size": int, - "flag.evaluation.": bool, - "fp": float, - "frames.delay": int, - "frames.frozen": int, - "frames.slow": int, - "frames.total": int, - "frames_frozen_rate": float, - "frames_slow_rate": float, - "fs_error": str, - "gcp.function.context.event_id": str, - "gcp.function.context.event_type": str, - "gcp.function.context.id": str, - "gcp.function.context.resource": str, - "gcp.function.context.source": str, - "gcp.function.context.specversion": str, - "gcp.function.context.time": str, - "gcp.function.context.timestamp": str, - "gcp.function.context.type": str, - "gcp.project.id": str, - "gcp_region": str, - "gen_ai.agent.name": str, - "gen_ai.context.utilization": float, - "gen_ai.context.window_size": int, - "gen_ai.conversation.id": str, - "gen_ai.cost.cache_creation.input_tokens": float, - "gen_ai.cost.cache_read.input_tokens": float, - "gen_ai.cost.input_tokens": float, - "gen_ai.cost.output_tokens": float, - "gen_ai.cost.reasoning.output_tokens": float, - "gen_ai.cost.total_tokens": float, - "gen_ai.embeddings.input": str, - "gen_ai.function_id": str, - "gen_ai.input.messages": str, - "gen_ai.memory.query.text": str, - "gen_ai.memory.record.count": int, - "gen_ai.memory.record.id": str, - "gen_ai.memory.records": str, - "gen_ai.memory.store.id": str, - "gen_ai.operation.name": str, - "gen_ai.operation.type": str, - "gen_ai.output.messages": str, - "gen_ai.pipeline.name": str, - "gen_ai.prompt": str, - "gen_ai.prompt.name": str, - "gen_ai.prompt.variable.": str, - "gen_ai.provider.name": str, - "gen_ai.request.available_tools": str, - "gen_ai.request.frequency_penalty": float, - "gen_ai.request.max_tokens": int, - "gen_ai.request.messages": str, - "gen_ai.request.model": str, - "gen_ai.request.presence_penalty": float, - "gen_ai.request.reasoning.level": str, - "gen_ai.request.schema": str, - "gen_ai.request.seed": str, - "gen_ai.request.stop_sequences": List[str], - "gen_ai.request.temperature": float, - "gen_ai.request.top_k": int, - "gen_ai.request.top_p": float, - "gen_ai.response.finish_reason": str, - "gen_ai.response.finish_reasons": str, - "gen_ai.response.id": str, - "gen_ai.response.model": str, - "gen_ai.response.object": str, - "gen_ai.response.streaming": bool, - "gen_ai.response.text": str, - "gen_ai.response.time_to_first_chunk": float, - "gen_ai.response.time_to_first_token": float, - "gen_ai.response.tokens_per_second": float, - "gen_ai.response.tool_calls": str, - "gen_ai.system": str, - "gen_ai.system.message": str, - "gen_ai.system_instructions": str, - "gen_ai.tool.call.arguments": str, - "gen_ai.tool.call.result": str, - "gen_ai.tool.definitions": str, - "gen_ai.tool.description": str, - "gen_ai.tool.input": str, - "gen_ai.tool.message": str, - "gen_ai.tool.name": str, - "gen_ai.tool.output": str, - "gen_ai.tool.type": str, - "gen_ai.usage.cache_creation.input_tokens": int, - "gen_ai.usage.cache_creation_input_tokens": int, - "gen_ai.usage.cache_read.input_tokens": int, - "gen_ai.usage.cache_read_input_tokens": int, - "gen_ai.usage.completion_tokens": int, - "gen_ai.usage.input_tokens": int, - "gen_ai.usage.input_tokens.cache_write": int, - "gen_ai.usage.input_tokens.cached": int, - "gen_ai.usage.output_tokens": int, - "gen_ai.usage.output_tokens.reasoning": int, - "gen_ai.usage.prompt_tokens": int, - "gen_ai.usage.reasoning.output_tokens": int, - "gen_ai.usage.total_tokens": int, - "graphql.document": str, - "graphql.operation.name": str, - "graphql.operation.type": str, - "graphql.processing.type": str, - "graphql.source": str, - "grpc.error.bad_request.field_violations": List[str], - "grpc.error.debug_info.detail": str, - "grpc.error.debug_info.stack_entries": List[str], - "grpc.error.error_info.domain": str, - "grpc.error.error_info.metadata.": str, - "grpc.error.error_info.reason": str, - "grpc.error.precondition_failure.violations": List[str], - "grpc.error.quota_failure.violations": List[str], - "grpc.error.resource_info.description": str, - "grpc.error.resource_info.owner": str, - "grpc.error.resource_info.resource_name": str, - "grpc.error.resource_info.resource_type": str, - "grpc.error.retry_info.retry_delay_ms": int, - "hardwareConcurrency": str, - "http.client_ip": str, - "http.decoded_response_content_length": int, - "http.flavor": str, - "http.fragment": str, - "http.host": str, - "http.method": str, - "http.query": str, - "http.request.body.data": str, - "http.request.body.decoded_size": int, - "http.request.body.size": int, - "http.request.connect_start": float, - "http.request.connection_end": float, - "http.request.domain_lookup_end": float, - "http.request.domain_lookup_start": float, - "http.request.duration": int, - "http.request.fetch_start": float, - "http.request.header.": List[str], - "http.request.method": str, - "http.request.redirect_end": float, - "http.request.redirect_start": float, - "http.request.request_start": float, - "http.request.resend_count": int, - "http.request.response_end": float, - "http.request.response_start": float, - "http.request.same_origin": bool, - "http.request.secure_connection_start": float, - "http.request.time_to_first_byte": float, - "http.request.worker_start": float, - "http.request_content_length": int, - "http.request_content_length_uncompressed": int, - "http.request_method": str, - "http.response.body.decoded_size": int, - "http.response.body.size": int, - "http.response.header.": List[str], - "http.response.header.content-length": str, - "http.response.size": int, - "http.response.status_code": int, - "http.response.status_text": str, - "http.response_content_length": int, - "http.response_content_length_uncompressed": int, - "http.response_transfer_size": int, - "http.route": str, - "http.scheme": str, - "http.server.request.time_in_queue": float, - "http.server_name": str, - "http.status_code": int, - "http.status_text": str, - "http.target": str, - "http.url": str, - "http.user_agent": str, - "id": str, - "inp": float, - "integrity.blocked_url": str, - "integrity.destination": str, - "integrity.document_url": str, - "integrity.report_only": bool, - "jsonrpc.protocol.version": str, - "jsonrpc.request.id": str, - "jvm.gc.action": str, - "jvm.gc.name": str, - "jvm.memory.pool.name": str, - "jvm.memory.type": str, - "jvm.thread.daemon": bool, - "jvm.thread.state": str, - "koa.name": str, - "koa.type": str, - "langchain.chain.name": str, - "lcp.element": str, - "lcp.id": str, - "lcp.loadTime": int, - "lcp.renderTime": int, - "lcp.size": int, - "lcp.url": str, - "lcp": float, - "litestar.middleware_name": str, - "logger.name": str, - "mcp.auth.client.name": str, - "mcp.cancelled.reason": str, - "mcp.cancelled.request_id": str, - "mcp.client.name": str, - "mcp.client.title": str, - "mcp.client.version": str, - "mcp.lifecycle.phase": str, - "mcp.logging.data_type": str, - "mcp.logging.level": str, - "mcp.logging.logger": str, - "mcp.logging.message": str, - "mcp.method.name": str, - "mcp.progress.current": float, - "mcp.progress.message": str, - "mcp.progress.percentage": float, - "mcp.progress.token": str, - "mcp.progress.total": float, - "mcp.prompt.name": str, - "mcp.prompt.result..content": str, - "mcp.prompt.result..role": str, - "mcp.prompt.result.description": str, - "mcp.prompt.result.message_content": str, - "mcp.prompt.result.message_count": int, - "mcp.prompt.result.message_role": str, - "mcp.protocol.ready": int, - "mcp.protocol.version": str, - "mcp.request.argument.": str, - "mcp.request.argument.name": str, - "mcp.request.argument.uri": str, - "mcp.request.id": str, - "mcp.resource.protocol": str, - "mcp.resource.uri": str, - "mcp.server.name": str, - "mcp.server.title": str, - "mcp.server.version": str, - "mcp.session.id": str, - "mcp.tool.name": str, - "mcp.tool.result..content": str, - "mcp.tool.result..content_type": str, - "mcp.tool.result..data_size": int, - "mcp.tool.result..mime_type": str, - "mcp.tool.result..name": str, - "mcp.tool.result..resource_mime_type": str, - "mcp.tool.result..resource_uri": str, - "mcp.tool.result..uri": str, - "mcp.tool.result.content": str, - "mcp.tool.result.content_count": int, - "mcp.tool.result.content_type": str, - "mcp.tool.result.data_size": int, - "mcp.tool.result.is_error": bool, - "mcp.tool.result.mime_type": str, - "mcp.tool.result.name": str, - "mcp.tool.result.resource_mime_type": str, - "mcp.tool.result.resource_uri": str, - "mcp.tool.result.uri": str, - "mcp.transport": str, - "mdc.": str, - "messaging.batch.message_count": int, - "messaging.conversation_id": str, - "messaging.destination": str, - "messaging.destination.connection": str, - "messaging.destination.name": str, - "messaging.destination.partition.id": str, - "messaging.destination_kind": str, - "messaging.kafka.message.key": str, - "messaging.kafka.message.tombstone": bool, - "messaging.kafka.offset": int, - "messaging.message.body.size": int, - "messaging.message.conversation_id": str, - "messaging.message.envelope.size": int, - "messaging.message.id": str, - "messaging.message.receive.latency": int, - "messaging.message.retry.count": int, - "messaging.message_id": str, - "messaging.operation": str, - "messaging.operation.name": str, - "messaging.operation.type": str, - "messaging.protocol": str, - "messaging.protocol_version": str, - "messaging.rabbitmq.destination.routing_key": str, - "messaging.rabbitmq.routing_key": str, - "messaging.system": str, - "messaging.url": str, - "method": str, - "middleware.name": str, - "navigation.origin": str, - "navigation.route.id": str, - "navigation.type": str, - "nel.elapsed_time": int, - "nel.phase": str, - "nel.referrer": str, - "nel.sampling_fraction": float, - "nel.sampling_function": float, - "nel.type": str, - "net.host.ip": str, - "net.host.name": str, - "net.host.port": int, - "net.peer.ip": str, - "net.peer.name": str, - "net.peer.port": int, - "net.protocol.name": str, - "net.protocol.version": str, - "net.sock.family": str, - "net.sock.host.addr": str, - "net.sock.host.port": int, - "net.sock.peer.addr": str, - "net.sock.peer.name": str, - "net.sock.peer.port": int, - "net.transport": str, - "network.connection.effective_type": str, - "network.connection.rtt": int, - "network.connection.type": str, - "network.local.address": str, - "network.local.port": int, - "network.peer.address": str, - "network.peer.port": int, - "network.protocol.name": str, - "network.protocol.version": str, - "network.transport": str, - "network.type": str, - "os.build": str, - "os.build_id": str, - "os.description": str, - "os.kernel_version": str, - "os.name": str, - "os.raw_description": str, - "os.rooted": bool, - "os.theme": str, - "os.type": str, - "os.version": str, - "otel.kind": str, - "otel.scope.name": str, - "otel.scope.version": str, - "otel.status_code": str, - "otel.status_description": str, - "params.": str, - "performance.activationStart": float, - "performance.timeOrigin": float, - "port": int, - "previous_route": str, - "process.command_args": List[str], - "process.executable.name": str, - "process.pid": int, - "process.runtime.description": str, - "process.runtime.engine.name": str, - "process.runtime.engine.version": str, - "process.runtime.name": str, - "process.runtime.version": str, - "profile_id": str, - "query.": str, - "query": str, - "react.version": str, - "react_native.architecture": str, - "react_native.module.call.count": int, - "react_native.module.call.distinct_count": int, - "react_native.module.duration.max": float, - "react_native.module.duration.total": float, - "react_native.module.error.count": int, - "react_native.module.kind": str, - "react_native.module.method": str, - "react_native.module.name": str, - "react_native.module.top.duration": float, - "react_native.module.top.name": str, - "redis.command": str, - "redis.key": str, - "release": str, - "remix.action_form_data.": str, - "replayId": str, - "replay_id": str, - "resource.deployment.environment": str, - "resource.deployment.environment.name": str, - "resource.render_blocking_status": str, - "route": str, - "router.navigation.origin": str, - "router.navigation.route.id": str, - "router.navigation.type": str, - "rpc.grpc.status_code": int, - "rpc.method": str, - "rpc.response.status_code": str, - "rpc.service": str, - "rpc.system": str, - "rpc.system.name": str, - "runtime.build": str, - "runtime.name": str, - "runtime.raw_description": str, - "runtime.version": str, - "score.": float, - "score.ratio.": float, - "score.total": float, - "score.weight.": float, - "sentry.action": str, - "sentry.browser.name": str, - "sentry.browser.version": str, - "sentry.cancellation_reason": str, - "sentry.category": str, - "sentry.client_sample_rate": float, - "sentry.description": str, - "sentry.dist": str, - "sentry.domain": str, - "sentry.dsc.environment": str, - "sentry.dsc.project_id": str, - "sentry.dsc.public_key": str, - "sentry.dsc.release": str, - "sentry.dsc.sample_rate": str, - "sentry.dsc.sampled": bool, - "sentry.dsc.trace_id": str, - "sentry.dsc.transaction": str, - "sentry.environment": str, - "sentry.event.serialized_breadcrumbs": str, - "sentry.event.serialized_contexts": str, - "sentry.event.serialized_extra": str, - "sentry.event.serialized_meta": str, - "sentry.exclusive_time": float, - "sentry.frames.frozen": int, - "sentry.frames.slow": int, - "sentry.frames.total": int, - "sentry.graphql.operation": str, - "sentry.group": str, - "sentry.http.prefetch": bool, - "sentry.idle_span_finish_reason": str, - "sentry.is_localhost": bool, - "sentry.is_remote": bool, - "sentry.kind": str, - "sentry.link.type": str, - "sentry.main_thread": bool, - "sentry.message.parameter.": str, - "sentry.message.template": str, - "sentry.metric.source": str, - "sentry.mobile": bool, - "sentry.module.": str, - "sentry.nextjs.ssr.function.route": str, - "sentry.nextjs.ssr.function.type": str, - "sentry.normalized_db_query": str, - "sentry.normalized_db_query.hash": str, - "sentry.normalized_description": str, - "sentry.observed_timestamp_nanos": str, - "sentry.op": str, - "sentry.origin": str, - "sentry.pageload.span_id": str, - "sentry.platform": str, - "sentry.profile_id": str, - "sentry.profiler_id": str, - "sentry.relay.ingress": str, - "sentry.relay.pipeline": str, - "sentry.release": str, - "sentry.replay_id": str, - "sentry.replay_is_buffering": bool, - "sentry.report_event": str, - "sentry.sdk.integrations": List[str], - "sentry.sdk.name": str, - "sentry.sdk.version": str, - "sentry.segment.id": str, - "sentry.segment.name": str, - "sentry.segment.name.source": str, - "sentry.segment_id": str, - "sentry.server_sample_rate": float, - "sentry.source": str, - "sentry.span.source": str, - "sentry.status": str, - "sentry.status.message": str, - "sentry.status_code": int, - "sentry.sveltekit.navigation.from": str, - "sentry.sveltekit.navigation.to": str, - "sentry.sveltekit.navigation.type": str, - "sentry.thread.id": int, - "sentry.timestamp.sequence": int, - "sentry.trace.parent_span_id": str, - "sentry.trace.status": str, - "sentry.trace_lifecycle": str, - "sentry.transaction": str, - "sentry.user.email": str, - "sentry.user.geo.city": str, - "sentry.user.geo.country_code": str, - "sentry.user.geo.region": str, - "sentry.user.geo.subdivision": str, - "sentry.user.id": str, - "sentry.user.ip": str, - "sentry.user.username": str, - "server.address": str, - "server.port": int, - "server_name": str, - "service.name": str, - "service.version": str, - "session.id": str, - "stall_percentage": float, - "stall_total_time": float, - "starlette.middleware_name": str, - "starlite.middleware_name": str, - "state.type": str, - "subprocess.pid": int, - "sveltekit.load.environment": str, - "sveltekit.load.node_id": str, - "sveltekit.load.node_type": str, - "sveltekit.tracing.original_name": str, - "thread.id": int, - "thread.name": str, - "timber.tag": str, - "time_to_full_display": float, - "time_to_initial_display": float, - "transaction": str, - "trpc.procedure_path": str, - "trpc.procedure_type": str, - "ttfb.requestTime": float, - "ttfb": float, - "turbo_module.arch": str, - "turbo_module.method": str, - "turbo_module.name": str, - "turbo_module.top_module": str, - "turbo_module.top_module_duration_ms": float, - "turbo_module.total_call_count": int, - "turbo_module.total_duration_ms": float, - "turbo_module.total_error_count": int, - "turbo_module.unique_methods": int, - "turbo_modules.total_call_count": int, - "turbo_modules.total_duration_ms": float, - "turbo_modules.total_error_count": int, - "turbo_modules.unique_methods": int, - "type": str, - "ui.component_name": str, - "ui.contributes_to_ttfd": bool, - "ui.contributes_to_ttid": bool, - "ui.element.height": int, - "ui.element.id": str, - "ui.element.identifier": str, - "ui.element.load_time": float, - "ui.element.paint_type": str, - "ui.element.render_time": float, - "ui.element.type": str, - "ui.element.url": str, - "ui.element.width": int, - "url.domain": str, - "url.fragment": str, - "url.full": str, - "url.path": str, - "url.path.parameter.": str, - "url.path.params.": str, - "url.port": int, - "url.query": str, - "url.same_origin": bool, - "url.scheme": str, - "url.template": str, - "url": str, - "user.email": str, - "user.full_name": str, - "user.geo.city": str, - "user.geo.country_code": str, - "user.geo.region": str, - "user.geo.subdivision": str, - "user.hash": str, - "user.id": str, - "user.ip_address": str, - "user.name": str, - "user.roles": List[str], - "user_agent.original": str, - "vercel.ai.telemetry.metadata.": str, - "vercel.branch": str, - "vercel.build_id": str, - "vercel.deployment_id": str, - "vercel.destination": str, - "vercel.edge_type": str, - "vercel.entrypoint": str, - "vercel.execution_region": str, - "vercel.id": str, - "vercel.ja3_digest": str, - "vercel.ja4_digest": str, - "vercel.log_type": str, - "vercel.path": str, - "vercel.project_id": str, - "vercel.project_name": str, - "vercel.proxy.cache_id": str, - "vercel.proxy.client_ip": str, - "vercel.proxy.host": str, - "vercel.proxy.lambda_region": str, - "vercel.proxy.method": str, - "vercel.proxy.path": str, - "vercel.proxy.path_type": str, - "vercel.proxy.path_type_variant": str, - "vercel.proxy.referer": str, - "vercel.proxy.region": str, - "vercel.proxy.response_byte_size": int, - "vercel.proxy.scheme": str, - "vercel.proxy.status_code": int, - "vercel.proxy.timestamp": int, - "vercel.proxy.user_agent": List[str], - "vercel.proxy.vercel_cache": str, - "vercel.proxy.vercel_id": str, - "vercel.proxy.waf_action": str, - "vercel.proxy.waf_rule_id": str, - "vercel.request_id": str, - "vercel.source": str, - "vercel.status_code": int, -}, total=False) +Attributes = TypedDict( + "Attributes", + { + "address": str, + "ai.citations": List[str], + "ai.completion_tokens.used": int, + "ai.documents": List[str], + "ai.finish_reason": str, + "ai.frequency_penalty": float, + "ai.function_call": str, + "ai.generation_id": str, + "ai.input_messages": str, + "ai.is_search_required": bool, + "ai.metadata": str, + "ai.model.id": str, + "ai.model.provider": str, + "ai.model_id": str, + "ai.pipeline.name": str, + "ai.preamble": str, + "ai.presence_penalty": float, + "ai.prompt": str, + "ai.prompt.messages": str, + "ai.prompt.tools": List[str], + "ai.prompt_tokens.used": int, + "ai.raw_prompting": bool, + "ai.response.id": str, + "ai.response.model": str, + "ai.response.object": str, + "ai.response.text": str, + "ai.response.timestamp": str, + "ai.response.toolCalls": str, + "ai.response_format": str, + "ai.responses": List[str], + "ai.schema": str, + "ai.search_queries": List[str], + "ai.search_results": List[str], + "ai.seed": str, + "ai.streaming": bool, + "ai.tags": str, + "ai.temperature": float, + "ai.texts": List[str], + "ai.toolCall.args": str, + "ai.toolCall.result": str, + "ai.tool_calls": List[str], + "ai.tools": List[str], + "ai.top_k": int, + "ai.top_p": float, + "ai.total_cost": float, + "ai.total_tokens.used": int, + "ai.usage.tokens": int, + "ai.values": str, + "ai.warnings": List[str], + "angular.version": str, + "anthropic.tool_result.content": str, + "app.app_build": str, + "app.app_identifier": str, + "app.app_name": str, + "app.app_start_time": str, + "app.app_version": str, + "app.build": str, + "app.identifier": str, + "app.in_foreground": bool, + "app.name": str, + "app.start_time": str, + "app.version": str, + "app.vitals.frames.delay.value": int, + "app.vitals.frames.frozen.count": int, + "app.vitals.frames.frozen.rate": float, + "app.vitals.frames.slow.count": int, + "app.vitals.frames.slow.rate": float, + "app.vitals.frames.total.count": int, + "app.vitals.stall.duration": float, + "app.vitals.stall.percentage": float, + "app.vitals.start.cold.value": float, + "app.vitals.start.prewarmed": bool, + "app.vitals.start.reason": str, + "app.vitals.start.screen": str, + "app.vitals.start.type": str, + "app.vitals.start.warm.value": float, + "app.vitals.ttfd.value": float, + "app.vitals.ttid.value": float, + "app_start_cold": float, + "app_start_type": str, + "app_start_warm": float, + "art.gc.blocking_count": int, + "art.gc.blocking_time": float, + "art.gc.pre_oome_count": int, + "art.gc.total_count": int, + "art.gc.total_time": float, + "art.gc.waiting_time": float, + "art.memory.free": int, + "art.memory.free_until_gc": int, + "art.memory.free_until_oome": int, + "art.memory.max": int, + "art.memory.total": int, + "aws.cloudwatch.logs.log_group": str, + "aws.cloudwatch.logs.log_stream": str, + "aws.cloudwatch.logs.url": str, + "aws.dynamodb.attribute_definitions": List[str], + "aws.dynamodb.attributes_to_get": List[str], + "aws.dynamodb.consistent_read": bool, + "aws.dynamodb.consumed_capacity": List[str], + "aws.dynamodb.count": int, + "aws.dynamodb.exclusive_start_table": str, + "aws.dynamodb.global_secondary_index_updates": List[str], + "aws.dynamodb.global_secondary_indexes": List[str], + "aws.dynamodb.index_name": str, + "aws.dynamodb.item_collection_metrics": str, + "aws.dynamodb.limit": int, + "aws.dynamodb.local_secondary_indexes": List[str], + "aws.dynamodb.projection": str, + "aws.dynamodb.provisioned_read_capacity": float, + "aws.dynamodb.provisioned_write_capacity": float, + "aws.dynamodb.scan_forward": bool, + "aws.dynamodb.scanned_count": int, + "aws.dynamodb.segment": int, + "aws.dynamodb.select": str, + "aws.dynamodb.table_count": int, + "aws.dynamodb.table_names": List[str], + "aws.dynamodb.total_segments": int, + "aws.extended_request_id": str, + "aws.kinesis.stream.name": str, + "aws.kinesis.stream_name": str, + "aws.lambda.aws_request_id": str, + "aws.lambda.execution_duration_in_millis": float, + "aws.lambda.function_name": str, + "aws.lambda.function_version": str, + "aws.lambda.invoked_arn": str, + "aws.lambda.invoked_function_arn": str, + "aws.lambda.remaining_time_in_millis": float, + "aws.log.group.names": List[str], + "aws.log.stream.names": List[str], + "aws.operation_name": str, + "aws.request.extended_id": str, + "aws.request.id": str, + "aws.request.url": str, + "aws.request_id": str, + "aws.s3.bucket": str, + "aws.s3.copy_source": str, + "aws.s3.delete": str, + "aws.s3.key": str, + "aws.s3.part_number": int, + "aws.s3.upload_id": str, + "aws.secretsmanager.secret.arn": str, + "aws.sns.topic.arn": str, + "aws.sqs.queue.url": str, + "aws.step_functions.activity.arn": str, + "aws.step_functions.execution.arn": str, + "aws.step_functions.state_machine.arn": str, + "aws_region": str, + "blocked_main_thread": bool, + "browser.bfcache.frame": str, + "browser.bfcache.not_restored_reason_count": int, + "browser.bfcache.outcome": str, + "browser.bfcache.reason": str, + "browser.name": str, + "browser.navigation.id": int, + "browser.navigation.type": str, + "browser.paint.type": str, + "browser.performance.navigation.activation_start": float, + "browser.performance.time_origin": float, + "browser.report.type": str, + "browser.script.invoker": str, + "browser.script.invoker_type": str, + "browser.script.source_char_position": int, + "browser.version": str, + "browser.web_vital.cls.report_event": str, + "browser.web_vital.cls.source.": str, + "browser.web_vital.cls.value": float, + "browser.web_vital.fcp.value": float, + "browser.web_vital.fp.value": float, + "browser.web_vital.inp.interaction_type": str, + "browser.web_vital.inp.target": str, + "browser.web_vital.inp.value": float, + "browser.web_vital.lcp.element": str, + "browser.web_vital.lcp.id": str, + "browser.web_vital.lcp.load_time": int, + "browser.web_vital.lcp.render_time": int, + "browser.web_vital.lcp.report_event": str, + "browser.web_vital.lcp.size": int, + "browser.web_vital.lcp.url": str, + "browser.web_vital.lcp.value": float, + "browser.web_vital.ttfb.request_time": float, + "browser.web_vital.ttfb.value": float, + "cache.hit": bool, + "cache.item_age": int, + "cache.item_size": int, + "cache.key": List[str], + "cache.operation": str, + "cache.tags": List[str], + "cache.ttl": int, + "cache.write": bool, + "channel": str, + "client.address": str, + "client.port": int, + "cloud.account.id": str, + "cloud.availability_zone": str, + "cloud.platform": str, + "cloud.provider": str, + "cloud.region": str, + "cloud.resource_id": str, + "cloudflare.d1.duration": int, + "cloudflare.d1.query_type": str, + "cloudflare.d1.rows_read": int, + "cloudflare.d1.rows_written": int, + "cloudflare.durable_object.query.bindings": int, + "cloudflare.durable_object.response.rows_read": int, + "cloudflare.durable_object.response.rows_written": int, + "cloudflare.r2.bucket": str, + "cloudflare.r2.operation": str, + "cloudflare.r2.request.delimiter": str, + "cloudflare.r2.request.key": str, + "cloudflare.r2.request.part_number": int, + "cloudflare.r2.request.prefix": str, + "cloudflare.workflow.attempt": int, + "cloudflare.workflow.retries.backoff": str, + "cloudflare.workflow.retries.delay": str, + "cloudflare.workflow.retries.limit": int, + "cloudflare.workflow.timeout": str, + "cls.source.": str, + "cls": float, + "code.file.path": str, + "code.filepath": str, + "code.function": str, + "code.function.name": str, + "code.line.number": int, + "code.lineno": int, + "code.namespace": str, + "code": str, + "connection.rtt": int, + "connectionType": str, + "culture.calendar": str, + "culture.display_name": str, + "culture.is_24_hour_format": bool, + "culture.locale": str, + "culture.timezone": str, + "db.collection.name": str, + "db.connection_string": str, + "db.driver.name": str, + "db.mongodb.collection": str, + "db.name": str, + "db.namespace": str, + "db.operation": str, + "db.operation.batch.size": int, + "db.operation.name": str, + "db.params": str, + "db.query.parameter.": str, + "db.query.summary": str, + "db.query.text": str, + "db.redis.connection": str, + "db.redis.key": str, + "db.redis.parameters": List[str], + "db.response.status_code": str, + "db.sql.bindings": List[str], + "db.statement": str, + "db.stored_procedure.name": str, + "db.system": str, + "db.system.name": str, + "db.user": str, + "device.archs": List[str], + "device.battery_level": float, + "device.battery_temperature": float, + "device.boot_time": str, + "device.brand": str, + "device.charging": bool, + "device.chipset": str, + "device.class": str, + "device.connection_type": str, + "device.cpu_description": str, + "device.external_free_storage": int, + "device.external_storage_size": int, + "device.family": str, + "device.free_memory": int, + "device.free_storage": int, + "device.id": str, + "device.locale": str, + "device.low_memory": bool, + "device.low_power_mode": bool, + "device.manufacturer": str, + "device.memory.estimated_capacity": int, + "device.memory_size": int, + "device.model": str, + "device.model_id": str, + "device.name": str, + "device.online": bool, + "device.orientation": str, + "device.processor_count": int, + "device.processor_frequency": float, + "device.screen_density": float, + "device.screen_dpi": int, + "device.screen_height_pixels": int, + "device.screen_width_pixels": int, + "device.simulator": bool, + "device.storage_size": int, + "device.thermal_state": str, + "device.timezone": str, + "device.usable_memory": int, + "deviceMemory": str, + "dist": str, + "django.function_name": str, + "django.middleware_name": str, + "effectiveConnectionType": str, + "environment": str, + "error.type": str, + "event.id": int, + "event.name": str, + "exception.escaped": bool, + "exception.message": str, + "exception.stacktrace": str, + "exception.type": str, + "faas.coldstart": bool, + "faas.cron": str, + "faas.duration_in_ms": int, + "faas.entry_point": str, + "faas.execution": str, + "faas.id": str, + "faas.identity": str, + "faas.invocation_id": str, + "faas.invoked_name": str, + "faas.invoked_provider": str, + "faas.invoked_region": str, + "faas.name": str, + "faas.time": str, + "faas.trigger": str, + "faas.version": str, + "fcp": float, + "file.path": str, + "file.size": int, + "flag.evaluation.": bool, + "fp": float, + "frames.delay": int, + "frames.frozen": int, + "frames.slow": int, + "frames.total": int, + "frames_frozen_rate": float, + "frames_slow_rate": float, + "fs_error": str, + "gcp.function.context.event_id": str, + "gcp.function.context.event_type": str, + "gcp.function.context.id": str, + "gcp.function.context.resource": str, + "gcp.function.context.source": str, + "gcp.function.context.specversion": str, + "gcp.function.context.time": str, + "gcp.function.context.timestamp": str, + "gcp.function.context.type": str, + "gcp.project.id": str, + "gcp_region": str, + "gen_ai.agent.name": str, + "gen_ai.context.utilization": float, + "gen_ai.context.window_size": int, + "gen_ai.conversation.id": str, + "gen_ai.cost.cache_creation.input_tokens": float, + "gen_ai.cost.cache_read.input_tokens": float, + "gen_ai.cost.input_tokens": float, + "gen_ai.cost.output_tokens": float, + "gen_ai.cost.reasoning.output_tokens": float, + "gen_ai.cost.total_tokens": float, + "gen_ai.embeddings.input": str, + "gen_ai.function_id": str, + "gen_ai.input.messages": str, + "gen_ai.memory.query.text": str, + "gen_ai.memory.record.count": int, + "gen_ai.memory.record.id": str, + "gen_ai.memory.records": str, + "gen_ai.memory.store.id": str, + "gen_ai.operation.name": str, + "gen_ai.operation.type": str, + "gen_ai.output.messages": str, + "gen_ai.pipeline.name": str, + "gen_ai.prompt": str, + "gen_ai.prompt.name": str, + "gen_ai.prompt.variable.": str, + "gen_ai.provider.name": str, + "gen_ai.request.available_tools": str, + "gen_ai.request.frequency_penalty": float, + "gen_ai.request.max_tokens": int, + "gen_ai.request.messages": str, + "gen_ai.request.model": str, + "gen_ai.request.presence_penalty": float, + "gen_ai.request.reasoning.level": str, + "gen_ai.request.schema": str, + "gen_ai.request.seed": str, + "gen_ai.request.stop_sequences": List[str], + "gen_ai.request.temperature": float, + "gen_ai.request.top_k": int, + "gen_ai.request.top_p": float, + "gen_ai.response.finish_reason": str, + "gen_ai.response.finish_reasons": str, + "gen_ai.response.id": str, + "gen_ai.response.model": str, + "gen_ai.response.object": str, + "gen_ai.response.streaming": bool, + "gen_ai.response.text": str, + "gen_ai.response.time_to_first_chunk": float, + "gen_ai.response.time_to_first_token": float, + "gen_ai.response.tokens_per_second": float, + "gen_ai.response.tool_calls": str, + "gen_ai.system": str, + "gen_ai.system.message": str, + "gen_ai.system_instructions": str, + "gen_ai.tool.call.arguments": str, + "gen_ai.tool.call.result": str, + "gen_ai.tool.definitions": str, + "gen_ai.tool.description": str, + "gen_ai.tool.input": str, + "gen_ai.tool.message": str, + "gen_ai.tool.name": str, + "gen_ai.tool.output": str, + "gen_ai.tool.type": str, + "gen_ai.usage.cache_creation.input_tokens": int, + "gen_ai.usage.cache_creation_input_tokens": int, + "gen_ai.usage.cache_read.input_tokens": int, + "gen_ai.usage.cache_read_input_tokens": int, + "gen_ai.usage.completion_tokens": int, + "gen_ai.usage.input_tokens": int, + "gen_ai.usage.input_tokens.cache_write": int, + "gen_ai.usage.input_tokens.cached": int, + "gen_ai.usage.output_tokens": int, + "gen_ai.usage.output_tokens.reasoning": int, + "gen_ai.usage.prompt_tokens": int, + "gen_ai.usage.reasoning.output_tokens": int, + "gen_ai.usage.total_tokens": int, + "graphql.document": str, + "graphql.operation.name": str, + "graphql.operation.type": str, + "graphql.processing.type": str, + "graphql.source": str, + "grpc.error.bad_request.field_violations": List[str], + "grpc.error.debug_info.detail": str, + "grpc.error.debug_info.stack_entries": List[str], + "grpc.error.error_info.domain": str, + "grpc.error.error_info.metadata.": str, + "grpc.error.error_info.reason": str, + "grpc.error.precondition_failure.violations": List[str], + "grpc.error.quota_failure.violations": List[str], + "grpc.error.resource_info.description": str, + "grpc.error.resource_info.owner": str, + "grpc.error.resource_info.resource_name": str, + "grpc.error.resource_info.resource_type": str, + "grpc.error.retry_info.retry_delay_ms": int, + "hardwareConcurrency": str, + "http.client_ip": str, + "http.decoded_response_content_length": int, + "http.flavor": str, + "http.fragment": str, + "http.host": str, + "http.method": str, + "http.query": str, + "http.request.body.data": str, + "http.request.body.decoded_size": int, + "http.request.body.size": int, + "http.request.connect_start": float, + "http.request.connection_end": float, + "http.request.domain_lookup_end": float, + "http.request.domain_lookup_start": float, + "http.request.duration": int, + "http.request.fetch_start": float, + "http.request.header.": List[str], + "http.request.method": str, + "http.request.redirect_end": float, + "http.request.redirect_start": float, + "http.request.request_start": float, + "http.request.resend_count": int, + "http.request.response_end": float, + "http.request.response_start": float, + "http.request.same_origin": bool, + "http.request.secure_connection_start": float, + "http.request.time_to_first_byte": float, + "http.request.worker_start": float, + "http.request_content_length": int, + "http.request_content_length_uncompressed": int, + "http.request_method": str, + "http.response.body.decoded_size": int, + "http.response.body.size": int, + "http.response.header.": List[str], + "http.response.header.content-length": str, + "http.response.size": int, + "http.response.status_code": int, + "http.response.status_text": str, + "http.response_content_length": int, + "http.response_content_length_uncompressed": int, + "http.response_transfer_size": int, + "http.route": str, + "http.scheme": str, + "http.server.request.time_in_queue": float, + "http.server_name": str, + "http.status_code": int, + "http.status_text": str, + "http.target": str, + "http.url": str, + "http.user_agent": str, + "id": str, + "inp": float, + "integrity.blocked_url": str, + "integrity.destination": str, + "integrity.document_url": str, + "integrity.report_only": bool, + "jsonrpc.protocol.version": str, + "jsonrpc.request.id": str, + "jvm.gc.action": str, + "jvm.gc.name": str, + "jvm.memory.pool.name": str, + "jvm.memory.type": str, + "jvm.thread.daemon": bool, + "jvm.thread.state": str, + "koa.name": str, + "koa.type": str, + "langchain.chain.name": str, + "lcp.element": str, + "lcp.id": str, + "lcp.loadTime": int, + "lcp.renderTime": int, + "lcp.size": int, + "lcp.url": str, + "lcp": float, + "litestar.middleware_name": str, + "logger.name": str, + "mcp.auth.client.name": str, + "mcp.cancelled.reason": str, + "mcp.cancelled.request_id": str, + "mcp.client.name": str, + "mcp.client.title": str, + "mcp.client.version": str, + "mcp.lifecycle.phase": str, + "mcp.logging.data_type": str, + "mcp.logging.level": str, + "mcp.logging.logger": str, + "mcp.logging.message": str, + "mcp.method.name": str, + "mcp.progress.current": float, + "mcp.progress.message": str, + "mcp.progress.percentage": float, + "mcp.progress.token": str, + "mcp.progress.total": float, + "mcp.prompt.name": str, + "mcp.prompt.result..content": str, + "mcp.prompt.result..role": str, + "mcp.prompt.result.description": str, + "mcp.prompt.result.message_content": str, + "mcp.prompt.result.message_count": int, + "mcp.prompt.result.message_role": str, + "mcp.protocol.ready": int, + "mcp.protocol.version": str, + "mcp.request.argument.": str, + "mcp.request.argument.name": str, + "mcp.request.argument.uri": str, + "mcp.request.id": str, + "mcp.resource.protocol": str, + "mcp.resource.uri": str, + "mcp.server.name": str, + "mcp.server.title": str, + "mcp.server.version": str, + "mcp.session.id": str, + "mcp.tool.name": str, + "mcp.tool.result..content": str, + "mcp.tool.result..content_type": str, + "mcp.tool.result..data_size": int, + "mcp.tool.result..mime_type": str, + "mcp.tool.result..name": str, + "mcp.tool.result..resource_mime_type": str, + "mcp.tool.result..resource_uri": str, + "mcp.tool.result..uri": str, + "mcp.tool.result.content": str, + "mcp.tool.result.content_count": int, + "mcp.tool.result.content_type": str, + "mcp.tool.result.data_size": int, + "mcp.tool.result.is_error": bool, + "mcp.tool.result.mime_type": str, + "mcp.tool.result.name": str, + "mcp.tool.result.resource_mime_type": str, + "mcp.tool.result.resource_uri": str, + "mcp.tool.result.uri": str, + "mcp.transport": str, + "mdc.": str, + "messaging.batch.message_count": int, + "messaging.conversation_id": str, + "messaging.destination": str, + "messaging.destination.connection": str, + "messaging.destination.name": str, + "messaging.destination.partition.id": str, + "messaging.destination_kind": str, + "messaging.kafka.message.key": str, + "messaging.kafka.message.tombstone": bool, + "messaging.kafka.offset": int, + "messaging.message.body.size": int, + "messaging.message.conversation_id": str, + "messaging.message.envelope.size": int, + "messaging.message.id": str, + "messaging.message.receive.latency": int, + "messaging.message.retry.count": int, + "messaging.message_id": str, + "messaging.operation": str, + "messaging.operation.name": str, + "messaging.operation.type": str, + "messaging.protocol": str, + "messaging.protocol_version": str, + "messaging.rabbitmq.destination.routing_key": str, + "messaging.rabbitmq.routing_key": str, + "messaging.system": str, + "messaging.url": str, + "method": str, + "middleware.name": str, + "navigation.origin": str, + "navigation.route.id": str, + "navigation.type": str, + "nel.elapsed_time": int, + "nel.phase": str, + "nel.referrer": str, + "nel.sampling_fraction": float, + "nel.sampling_function": float, + "nel.type": str, + "net.host.ip": str, + "net.host.name": str, + "net.host.port": int, + "net.peer.ip": str, + "net.peer.name": str, + "net.peer.port": int, + "net.protocol.name": str, + "net.protocol.version": str, + "net.sock.family": str, + "net.sock.host.addr": str, + "net.sock.host.port": int, + "net.sock.peer.addr": str, + "net.sock.peer.name": str, + "net.sock.peer.port": int, + "net.transport": str, + "network.connection.effective_type": str, + "network.connection.rtt": int, + "network.connection.type": str, + "network.local.address": str, + "network.local.port": int, + "network.peer.address": str, + "network.peer.port": int, + "network.protocol.name": str, + "network.protocol.version": str, + "network.transport": str, + "network.type": str, + "os.build": str, + "os.build_id": str, + "os.description": str, + "os.kernel_version": str, + "os.name": str, + "os.raw_description": str, + "os.rooted": bool, + "os.theme": str, + "os.type": str, + "os.version": str, + "otel.kind": str, + "otel.scope.name": str, + "otel.scope.version": str, + "otel.status_code": str, + "otel.status_description": str, + "params.": str, + "performance.activationStart": float, + "performance.timeOrigin": float, + "port": int, + "previous_route": str, + "process.command_args": List[str], + "process.executable.name": str, + "process.pid": int, + "process.runtime.description": str, + "process.runtime.engine.name": str, + "process.runtime.engine.version": str, + "process.runtime.name": str, + "process.runtime.version": str, + "profile_id": str, + "query.": str, + "query": str, + "react.version": str, + "react_native.architecture": str, + "react_native.module.call.count": int, + "react_native.module.call.distinct_count": int, + "react_native.module.duration.max": float, + "react_native.module.duration.total": float, + "react_native.module.error.count": int, + "react_native.module.kind": str, + "react_native.module.method": str, + "react_native.module.name": str, + "react_native.module.top.duration": float, + "react_native.module.top.name": str, + "redis.command": str, + "redis.key": str, + "release": str, + "remix.action_form_data.": str, + "replayId": str, + "replay_id": str, + "resource.deployment.environment": str, + "resource.deployment.environment.name": str, + "resource.render_blocking_status": str, + "route": str, + "router.navigation.origin": str, + "router.navigation.route.id": str, + "router.navigation.type": str, + "rpc.grpc.status_code": int, + "rpc.method": str, + "rpc.response.status_code": str, + "rpc.service": str, + "rpc.system": str, + "rpc.system.name": str, + "runtime.build": str, + "runtime.name": str, + "runtime.raw_description": str, + "runtime.version": str, + "score.": float, + "score.ratio.": float, + "score.total": float, + "score.weight.": float, + "sentry.action": str, + "sentry.browser.name": str, + "sentry.browser.version": str, + "sentry.cancellation_reason": str, + "sentry.category": str, + "sentry.client_sample_rate": float, + "sentry.description": str, + "sentry.dist": str, + "sentry.domain": str, + "sentry.dsc.environment": str, + "sentry.dsc.project_id": str, + "sentry.dsc.public_key": str, + "sentry.dsc.release": str, + "sentry.dsc.sample_rate": str, + "sentry.dsc.sampled": bool, + "sentry.dsc.trace_id": str, + "sentry.dsc.transaction": str, + "sentry.environment": str, + "sentry.event.serialized_breadcrumbs": str, + "sentry.event.serialized_contexts": str, + "sentry.event.serialized_extra": str, + "sentry.event.serialized_meta": str, + "sentry.exclusive_time": float, + "sentry.frames.frozen": int, + "sentry.frames.slow": int, + "sentry.frames.total": int, + "sentry.graphql.operation": str, + "sentry.group": str, + "sentry.http.prefetch": bool, + "sentry.idle_span_finish_reason": str, + "sentry.is_localhost": bool, + "sentry.is_remote": bool, + "sentry.kind": str, + "sentry.link.type": str, + "sentry.main_thread": bool, + "sentry.message.parameter.": str, + "sentry.message.template": str, + "sentry.metric.source": str, + "sentry.mobile": bool, + "sentry.module.": str, + "sentry.nextjs.ssr.function.route": str, + "sentry.nextjs.ssr.function.type": str, + "sentry.normalized_db_query": str, + "sentry.normalized_db_query.hash": str, + "sentry.normalized_description": str, + "sentry.observed_timestamp_nanos": str, + "sentry.op": str, + "sentry.origin": str, + "sentry.pageload.span_id": str, + "sentry.platform": str, + "sentry.profile_id": str, + "sentry.profiler_id": str, + "sentry.relay.ingress": str, + "sentry.relay.pipeline": str, + "sentry.release": str, + "sentry.replay_id": str, + "sentry.replay_is_buffering": bool, + "sentry.report_event": str, + "sentry.sdk.integrations": List[str], + "sentry.sdk.name": str, + "sentry.sdk.version": str, + "sentry.segment.id": str, + "sentry.segment.name": str, + "sentry.segment.name.source": str, + "sentry.segment_id": str, + "sentry.server_sample_rate": float, + "sentry.source": str, + "sentry.span.source": str, + "sentry.status": str, + "sentry.status.message": str, + "sentry.status_code": int, + "sentry.sveltekit.navigation.from": str, + "sentry.sveltekit.navigation.to": str, + "sentry.sveltekit.navigation.type": str, + "sentry.thread.id": int, + "sentry.timestamp.sequence": int, + "sentry.trace.parent_span_id": str, + "sentry.trace.status": str, + "sentry.trace_lifecycle": str, + "sentry.transaction": str, + "sentry.user.email": str, + "sentry.user.geo.city": str, + "sentry.user.geo.country_code": str, + "sentry.user.geo.region": str, + "sentry.user.geo.subdivision": str, + "sentry.user.id": str, + "sentry.user.ip": str, + "sentry.user.username": str, + "server.address": str, + "server.port": int, + "server_name": str, + "service.name": str, + "service.version": str, + "session.id": str, + "stall_percentage": float, + "stall_total_time": float, + "starlette.middleware_name": str, + "starlite.middleware_name": str, + "state.type": str, + "subprocess.pid": int, + "sveltekit.load.environment": str, + "sveltekit.load.node_id": str, + "sveltekit.load.node_type": str, + "sveltekit.tracing.original_name": str, + "thread.id": int, + "thread.name": str, + "timber.tag": str, + "time_to_full_display": float, + "time_to_initial_display": float, + "transaction": str, + "trpc.procedure_path": str, + "trpc.procedure_type": str, + "ttfb.requestTime": float, + "ttfb": float, + "turbo_module.arch": str, + "turbo_module.method": str, + "turbo_module.name": str, + "turbo_module.top_module": str, + "turbo_module.top_module_duration_ms": float, + "turbo_module.total_call_count": int, + "turbo_module.total_duration_ms": float, + "turbo_module.total_error_count": int, + "turbo_module.unique_methods": int, + "turbo_modules.total_call_count": int, + "turbo_modules.total_duration_ms": float, + "turbo_modules.total_error_count": int, + "turbo_modules.unique_methods": int, + "type": str, + "ui.component_name": str, + "ui.contributes_to_ttfd": bool, + "ui.contributes_to_ttid": bool, + "ui.element.height": int, + "ui.element.id": str, + "ui.element.identifier": str, + "ui.element.load_time": float, + "ui.element.paint_type": str, + "ui.element.render_time": float, + "ui.element.type": str, + "ui.element.url": str, + "ui.element.width": int, + "url.domain": str, + "url.fragment": str, + "url.full": str, + "url.path": str, + "url.path.parameter.": str, + "url.path.params.": str, + "url.port": int, + "url.query": str, + "url.same_origin": bool, + "url.scheme": str, + "url.template": str, + "url": str, + "user.email": str, + "user.full_name": str, + "user.geo.city": str, + "user.geo.country_code": str, + "user.geo.region": str, + "user.geo.subdivision": str, + "user.hash": str, + "user.id": str, + "user.ip_address": str, + "user.name": str, + "user.roles": List[str], + "user_agent.original": str, + "vercel.ai.telemetry.metadata.": str, + "vercel.branch": str, + "vercel.build_id": str, + "vercel.deployment_id": str, + "vercel.destination": str, + "vercel.edge_type": str, + "vercel.entrypoint": str, + "vercel.execution_region": str, + "vercel.id": str, + "vercel.ja3_digest": str, + "vercel.ja4_digest": str, + "vercel.log_type": str, + "vercel.path": str, + "vercel.project_id": str, + "vercel.project_name": str, + "vercel.proxy.cache_id": str, + "vercel.proxy.client_ip": str, + "vercel.proxy.host": str, + "vercel.proxy.lambda_region": str, + "vercel.proxy.method": str, + "vercel.proxy.path": str, + "vercel.proxy.path_type": str, + "vercel.proxy.path_type_variant": str, + "vercel.proxy.referer": str, + "vercel.proxy.region": str, + "vercel.proxy.response_byte_size": int, + "vercel.proxy.scheme": str, + "vercel.proxy.status_code": int, + "vercel.proxy.timestamp": int, + "vercel.proxy.user_agent": List[str], + "vercel.proxy.vercel_cache": str, + "vercel.proxy.vercel_id": str, + "vercel.proxy.waf_action": str, + "vercel.proxy.waf_rule_id": str, + "vercel.request_id": str, + "vercel.source": str, + "vercel.status_code": int, + }, + total=False, +) """TypedDict representing a collection of attributes, including deprecated and non-deprecated ones.""" __all__ = [ @@ -27252,4 +30157,3 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): "Attributes", "ATTRIBUTE_NAMES", ] - From 4b3e9cf49419f880c1df11a5afaf57a0f94972dc Mon Sep 17 00:00:00 2001 From: Pablo Deputter Date: Fri, 16 Oct 2026 13:18:08 +0200 Subject: [PATCH 4/5] add additional context for aws sdk calls --- model/name/rpc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model/name/rpc.json b/model/name/rpc.json index c951a048..7c4b3509 100644 --- a/model/name/rpc.json +++ b/model/name/rpc.json @@ -3,7 +3,7 @@ "operations": [ { "name": "RPC call", - "brief": "A remote procedure call, such as an AWS SDK call or a gRPC call.", + "brief": "A remote procedure call, such as an AWS SDK call or a gRPC call. The first template only applies to AWS SDK calls: `rpc.service` is deprecated for other RPC systems following OpenTelemetry, so they fallback to `{rpc.method}`.", "is_in_otel": true, "otel_notes": "OpenTelemetry names RPC spans `{rpc.method}`, falling back to `{rpc.system.name}` if `rpc.method` is unavailable or set to `_OTHER`. AWS SDK spans are named `{rpc.service}.{rpc.method}`, which the first template matches.", "ops": ["rpc"], From b4afebb5e1582c114a127acddf498f36bc4f415a Mon Sep 17 00:00:00 2001 From: Pablo Deputter Date: Fri, 16 Oct 2026 13:23:08 +0200 Subject: [PATCH 5/5] add additional context to `rpc.service` --- javascript/sentry-conventions/src/attributes.ts | 10 +++++++++- model/attributes/rpc/rpc__service.json | 9 +++++++++ python/src/sentry_conventions/attributes.py | 9 +++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/javascript/sentry-conventions/src/attributes.ts b/javascript/sentry-conventions/src/attributes.ts index 644461a6..f9b95242 100644 --- a/javascript/sentry-conventions/src/attributes.ts +++ b/javascript/sentry-conventions/src/attributes.ts @@ -33840,7 +33840,15 @@ export const ATTRIBUTE_METADATA: Record = { isInOtel: true, visibility: 'public', example: 'myService.BestService', - changelog: [{ version: '0.1.0', prs: [127] }, { version: '0.0.0' }], + changelog: [ + { version: 'next', prs: [714], description: 'Added additional context about the OpenTelemetry deprecation' }, + { version: '0.1.0', prs: [127] }, + { version: '0.0.0' }, + ], + additionalContext: [ + 'Deprecated in OpenTelemetry for generic RPC spans. The value should be included in `rpc.method`, which is expected to be the fully-qualified name.', + 'Still set on AWS SDK spans, where it holds the AWS service (e.g. `S3`) and `rpc.method` is set to the operation (e.g. `GetObject`).', + ], }, 'rpc.system': { brief: 'A string identifying the remoting system.', diff --git a/model/attributes/rpc/rpc__service.json b/model/attributes/rpc/rpc__service.json index 5fa34caf..7441d66d 100644 --- a/model/attributes/rpc/rpc__service.json +++ b/model/attributes/rpc/rpc__service.json @@ -5,10 +5,19 @@ "apply_scrubbing": { "key": "manual" }, + "additional_context": [ + "Deprecated in OpenTelemetry for generic RPC spans. The value should be included in `rpc.method`, which is expected to be the fully-qualified name.", + "Still set on AWS SDK spans, where it holds the AWS service (e.g. `S3`) and `rpc.method` is set to the operation (e.g. `GetObject`)." + ], "is_in_otel": true, "example": "myService.BestService", "visibility": "public", "changelog": [ + { + "version": "next", + "prs": [714], + "description": "Added additional context about the OpenTelemetry deprecation" + }, { "version": "0.1.0", "prs": [127] diff --git a/python/src/sentry_conventions/attributes.py b/python/src/sentry_conventions/attributes.py index 6b1f9e86..796609ab 100644 --- a/python/src/sentry_conventions/attributes.py +++ b/python/src/sentry_conventions/attributes.py @@ -25507,9 +25507,18 @@ class ATTRIBUTE_NAMES(metaclass=_AttributeNamesMeta): visibility=Visibility.PUBLIC, example="myService.BestService", changelog=[ + ChangelogEntry( + version="next", + prs=[714], + description="Added additional context about the OpenTelemetry deprecation", + ), ChangelogEntry(version="0.1.0", prs=[127]), ChangelogEntry(version="0.0.0"), ], + additional_context=[ + "Deprecated in OpenTelemetry for generic RPC spans. The value should be included in `rpc.method`, which is expected to be the fully-qualified name.", + "Still set on AWS SDK spans, where it holds the AWS service (e.g. `S3`) and `rpc.method` is set to the operation (e.g. `GetObject`).", + ], ), "rpc.system": AttributeMetadata( brief="A string identifying the remoting system.",