From 32c3db8ac50805bca31e0afb347399dfefc4997a Mon Sep 17 00:00:00 2001 From: Lalit Kumar Bhasin Date: Mon, 2 Jun 2025 17:04:41 +0000 Subject: [PATCH 1/2] intial commit --- .../scripts/generate-consts-from-spec.sh | 4 +- .../templates/registry/rust/weaver.yaml | 2 +- .../src/attribute.rs | 548 +++++++++++++----- opentelemetry-semantic-conventions/src/lib.rs | 2 +- .../src/metric.rs | 104 ++-- .../src/trace.rs | 21 + 6 files changed, 499 insertions(+), 182 deletions(-) diff --git a/opentelemetry-semantic-conventions/scripts/generate-consts-from-spec.sh b/opentelemetry-semantic-conventions/scripts/generate-consts-from-spec.sh index 1b33045f3e..842c0eb4b7 100755 --- a/opentelemetry-semantic-conventions/scripts/generate-consts-from-spec.sh +++ b/opentelemetry-semantic-conventions/scripts/generate-consts-from-spec.sh @@ -5,8 +5,8 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" CRATE_DIR="${SCRIPT_DIR}/../" # freeze the spec version and generator version to make generation reproducible -SPEC_VERSION=1.33.0 -WEAVER_VERSION=v0.15.0 +SPEC_VERSION=1.34.0 +WEAVER_VERSION=v0.15.2 cd "$CRATE_DIR" diff --git a/opentelemetry-semantic-conventions/scripts/templates/registry/rust/weaver.yaml b/opentelemetry-semantic-conventions/scripts/templates/registry/rust/weaver.yaml index 06087d989f..5fa1ed3903 100644 --- a/opentelemetry-semantic-conventions/scripts/templates/registry/rust/weaver.yaml +++ b/opentelemetry-semantic-conventions/scripts/templates/registry/rust/weaver.yaml @@ -14,7 +14,7 @@ comment_formats: default_comment_format: rust params: - schema_url: "https://opentelemetry.io/schemas/1.33.0" + schema_url: "https://opentelemetry.io/schemas/1.34.0" exclude_root_namespace: [] excluded_attributes: ["messaging.client_id"] diff --git a/opentelemetry-semantic-conventions/src/attribute.rs b/opentelemetry-semantic-conventions/src/attribute.rs index 99cf8723c2..ec40d87cf2 100644 --- a/opentelemetry-semantic-conventions/src/attribute.rs +++ b/opentelemetry-semantic-conventions/src/attribute.rs @@ -31,13 +31,11 @@ pub const ANDROID_APP_STATE: &str = "android.app.state"; #[cfg(feature = "semconv_experimental")] pub const ANDROID_OS_API_LEVEL: &str = "android.os.api_level"; -/// Deprecated. Use `android.app.state` instead. +/// Deprecated. Use `android.app.state` body field instead. /// /// ## Notes -/// -/// The Android lifecycle states are defined in [Activity lifecycle callbacks](https://developer.android.com/guide/components/activities/activity-lifecycle#lc), and from which the `OS identifiers` are derived #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Renamed to `android.app.state`, reason: uncategorized}")] +#[deprecated(note = "{note: Use `android.app.state` body field instead., reason: uncategorized}")] pub const ANDROID_STATE: &str = "android.state"; /// A unique identifier representing the installation of an application on a specific device @@ -278,6 +276,26 @@ pub const ASPNETCORE_ROUTING_IS_FALLBACK: &str = "aspnetcore.routing.is_fallback /// - `"failure"` pub const ASPNETCORE_ROUTING_MATCH_STATUS: &str = "aspnetcore.routing.match_status"; +/// The unique identifier of the AWS Bedrock Guardrail. A [guardrail](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) helps safeguard and prevent unwanted behavior from model responses or user messages. +/// +/// ## Notes +/// +/// # Examples +/// +/// - `"sgi5gkybzqak"` +#[cfg(feature = "semconv_experimental")] +pub const AWS_BEDROCK_GUARDRAIL_ID: &str = "aws.bedrock.guardrail.id"; + +/// The unique identifier of the AWS Bedrock Knowledge base. A [knowledge base](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html) is a bank of information that can be queried by models to generate more relevant responses and augment prompts. +/// +/// ## Notes +/// +/// # Examples +/// +/// - `"XFWUPB9PAW"` +#[cfg(feature = "semconv_experimental")] +pub const AWS_BEDROCK_KNOWLEDGE_BASE_ID: &str = "aws.bedrock.knowledge_base.id"; + /// The JSON-serialized value of each item in the `AttributeDefinitions` request field. /// /// ## Notes @@ -602,6 +620,16 @@ pub const AWS_EKS_CLUSTER_ARN: &str = "aws.eks.cluster.arn"; #[cfg(feature = "semconv_experimental")] pub const AWS_EXTENDED_REQUEST_ID: &str = "aws.extended_request_id"; +/// The name of the AWS Kinesis [stream](https://docs.aws.amazon.com/streams/latest/dev/introduction.html) the request refers to. Corresponds to the `--stream-name` parameter of the Kinesis [describe-stream](https://docs.aws.amazon.com/cli/latest/reference/kinesis/describe-stream.html) operation. +/// +/// ## Notes +/// +/// # Examples +/// +/// - `"some-stream-name"` +#[cfg(feature = "semconv_experimental")] +pub const AWS_KINESIS_STREAM_NAME: &str = "aws.kinesis.stream_name"; + /// The full invoked ARN as provided on the `Context` passed to the function (`Lambda-Runtime-Invoked-Function-Arn` header on the `/runtime/invocation/next` applicable). /// /// ## Notes @@ -614,6 +642,16 @@ pub const AWS_EXTENDED_REQUEST_ID: &str = "aws.extended_request_id"; #[cfg(feature = "semconv_experimental")] pub const AWS_LAMBDA_INVOKED_ARN: &str = "aws.lambda.invoked_arn"; +/// The UUID of the [AWS Lambda EvenSource Mapping](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html). An event source is mapped to a lambda function. It's contents are read by Lambda and used to trigger a function. This isn't available in the lambda execution context or the lambda runtime environtment. This is going to be populated by the AWS SDK for each language when that UUID is present. Some of these operations are Create/Delete/Get/List/Update EventSourceMapping. +/// +/// ## Notes +/// +/// # Examples +/// +/// - `"587ad24b-03b9-4413-8202-bbd56b36e5b7"` +#[cfg(feature = "semconv_experimental")] +pub const AWS_LAMBDA_RESOURCE_MAPPING_ID: &str = "aws.lambda.resource_mapping.id"; + /// The Amazon Resource Name(s) (ARN) of the AWS log group(s). /// /// ## Notes @@ -786,6 +824,56 @@ pub const AWS_S3_PART_NUMBER: &str = "aws.s3.part_number"; #[cfg(feature = "semconv_experimental")] pub const AWS_S3_UPLOAD_ID: &str = "aws.s3.upload_id"; +/// The ARN of the Secret stored in the Secrets Mangger +/// +/// ## Notes +/// +/// # Examples +/// +/// - `"arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretName-6RandomCharacters"` +#[cfg(feature = "semconv_experimental")] +pub const AWS_SECRETSMANAGER_SECRET_ARN: &str = "aws.secretsmanager.secret.arn"; + +/// The ARN of the AWS SNS Topic. An Amazon SNS [topic](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) is a logical access point that acts as a communication channel. +/// +/// ## Notes +/// +/// # Examples +/// +/// - `"arn:aws:sns:us-east-1:123456789012:mystack-mytopic-NZJ5JSMVGFIE"` +#[cfg(feature = "semconv_experimental")] +pub const AWS_SNS_TOPIC_ARN: &str = "aws.sns.topic.arn"; + +/// 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. +/// +/// ## Notes +/// +/// # Examples +/// +/// - `"https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue"` +#[cfg(feature = "semconv_experimental")] +pub const AWS_SQS_QUEUE_URL: &str = "aws.sqs.queue.url"; + +/// The ARN of the AWS Step Functions Activity. +/// +/// ## Notes +/// +/// # Examples +/// +/// - `"arn:aws:states:us-east-1:123456789012:activity:get-greeting"` +#[cfg(feature = "semconv_experimental")] +pub const AWS_STEP_FUNCTIONS_ACTIVITY_ARN: &str = "aws.step_functions.activity.arn"; + +/// The ARN of the AWS Step Functions State Machine. +/// +/// ## Notes +/// +/// # Examples +/// +/// - `"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1"` +#[cfg(feature = "semconv_experimental")] +pub const AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN: &str = "aws.step_functions.state_machine.arn"; + /// [Azure Resource Provider Namespace](https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers) as recognized by the client. /// /// ## Notes @@ -1238,7 +1326,7 @@ pub const CLOUD_PLATFORM: &str = "cloud.platform"; #[cfg(feature = "semconv_experimental")] pub const CLOUD_PROVIDER: &str = "cloud.provider"; -/// The geographical region the resource is running. +/// The geographical region within a cloud provider. When associated with a resource, this attribute specifies the region where the resource operates. When calling services or APIs deployed on a cloud, this attribute identifies the region where the called destination is deployed. /// /// ## Notes /// @@ -1513,7 +1601,9 @@ pub const CLOUDFOUNDRY_SYSTEM_INSTANCE_ID: &str = "cloudfoundry.system.instance. /// /// - `16` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `code.column.number`, reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `code.column.number`., reason: renamed, renamed_to: code.column.number}" +)] pub const CODE_COLUMN: &str = "code.column"; /// The column number in `code.file.path` best representing the operation. It SHOULD point within the code unit named in `code.function.name`. This attribute MUST NOT be used on the Profile signal since the data is already captured in 'message Line'. This constraint is imposed to prevent redundancy and maintain data integrity. @@ -1542,7 +1632,9 @@ pub const CODE_FILE_PATH: &str = "code.file.path"; /// /// - `"/usr/local/MyApplication/content_root/app/index.php"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `code.file.path`, reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `code.file.path`., reason: renamed, renamed_to: code.file.path}" +)] pub const CODE_FILEPATH: &str = "code.filepath"; /// Deprecated, use `code.function.name` instead @@ -1553,7 +1645,9 @@ pub const CODE_FILEPATH: &str = "code.filepath"; /// /// - `"serveRequest"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `code.function.name`, reason: uncategorized}")] +#[deprecated( + note = "{note: Value should be included in `code.function.name` which is expected to be a fully-qualified name.\n, reason: uncategorized}" +)] pub const CODE_FUNCTION: &str = "code.function"; /// The method or function fully-qualified name without arguments. The value should fit the natural representation of the language runtime, which is also likely the same used within `code.stacktrace` attribute value. This attribute MUST NOT be used on the Profile signal since the data is already captured in 'message Function'. This constraint is imposed to prevent redundancy and maintain data integrity. @@ -1600,7 +1694,9 @@ pub const CODE_LINE_NUMBER: &str = "code.line.number"; /// /// - `42` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `code.line.number`, reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `code.line.number`., reason: renamed, renamed_to: code.line.number}" +)] pub const CODE_LINENO: &str = "code.lineno"; /// Deprecated, namespace is now included into `code.function.name` @@ -1612,7 +1708,7 @@ pub const CODE_LINENO: &str = "code.lineno"; /// - `"com.example.MyHttpService"` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Value should be included in `code.function.name` which is expected to be a fully-qualified name., reason: uncategorized}" + note = "{note: Value should be included in `code.function.name` which is expected to be a fully-qualified name.\n, reason: uncategorized}" )] pub const CODE_NAMESPACE: &str = "code.namespace"; @@ -1670,7 +1766,7 @@ pub const CONTAINER_COMMAND_LINE: &str = "container.command_line"; /// - `"user"` /// - `"kernel"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `cpu.mode`, reason: uncategorized}")] +#[deprecated(note = "{note: Replaced by `cpu.mode`., reason: renamed, renamed_to: cpu.mode}")] pub const CONTAINER_CPU_STATE: &str = "container.cpu.state"; /// The name of the CSI ([Container Storage Interface](https://github.com/container-storage-interface/spec)) plugin used by the volume. @@ -1779,7 +1875,9 @@ pub const CONTAINER_LABEL: &str = "container.label"; /// /// - `"nginx"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `container.label`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `container.label`., reason: renamed, renamed_to: container.label}" +)] pub const CONTAINER_LABELS: &str = "container.labels"; /// Container name used by container runtime. @@ -1841,7 +1939,9 @@ pub const CPYTHON_GC_GENERATION: &str = "cpython.gc.generation"; /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `cassandra.consistency.level`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `cassandra.consistency.level`., reason: renamed, renamed_to: cassandra.consistency.level}" +)] pub const DB_CASSANDRA_CONSISTENCY_LEVEL: &str = "db.cassandra.consistency_level"; /// Deprecated, use `cassandra.coordinator.dc` instead. @@ -1852,7 +1952,9 @@ pub const DB_CASSANDRA_CONSISTENCY_LEVEL: &str = "db.cassandra.consistency_level /// /// - `"us-west-2"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `cassandra.coordinator.dc`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `cassandra.coordinator.dc`., reason: renamed, renamed_to: cassandra.coordinator.dc}" +)] pub const DB_CASSANDRA_COORDINATOR_DC: &str = "db.cassandra.coordinator.dc"; /// Deprecated, use `cassandra.coordinator.id` instead. @@ -1863,14 +1965,18 @@ pub const DB_CASSANDRA_COORDINATOR_DC: &str = "db.cassandra.coordinator.dc"; /// /// - `"be13faa2-8574-4d71-926d-27f16cf8a7af"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `cassandra.coordinator.id`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `cassandra.coordinator.id`., reason: renamed, renamed_to: cassandra.coordinator.id}" +)] pub const DB_CASSANDRA_COORDINATOR_ID: &str = "db.cassandra.coordinator.id"; /// Deprecated, use `cassandra.query.idempotent` instead. /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `cassandra.query.idempotent`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `cassandra.query.idempotent`., reason: renamed, renamed_to: cassandra.query.idempotent}" +)] pub const DB_CASSANDRA_IDEMPOTENCE: &str = "db.cassandra.idempotence"; /// Deprecated, use `cassandra.page.size` instead. @@ -1881,7 +1987,9 @@ pub const DB_CASSANDRA_IDEMPOTENCE: &str = "db.cassandra.idempotence"; /// /// - `5000` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `cassandra.page.size`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `cassandra.page.size`., reason: renamed, renamed_to: cassandra.page.size}" +)] pub const DB_CASSANDRA_PAGE_SIZE: &str = "db.cassandra.page_size"; /// Deprecated, use `cassandra.speculative_execution.count` instead. @@ -1894,7 +2002,7 @@ pub const DB_CASSANDRA_PAGE_SIZE: &str = "db.cassandra.page_size"; /// - `2` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `cassandra.speculative_execution.count`., reason: uncategorized}" + note = "{note: Replaced by `cassandra.speculative_execution.count`., reason: renamed, renamed_to: cassandra.speculative_execution.count}" )] pub const DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT: &str = "db.cassandra.speculative_execution_count"; @@ -1907,7 +2015,9 @@ pub const DB_CASSANDRA_SPECULATIVE_EXECUTION_COUNT: &str = /// /// - `"mytable"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.collection.name`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.collection.name`., reason: renamed, renamed_to: db.collection.name}" +)] pub const DB_CASSANDRA_TABLE: &str = "db.cassandra.table"; /// The name of the connection pool; unique within the instrumented application. In case the connection pool implementation doesn't provide a name, instrumentation SHOULD use a combination of parameters that would make the name unique, for example, combining attributes `server.address`, `server.port`, and `db.namespace`, formatted as `server.address:server.port/db.namespace`. Instrumentations that generate connection pool name following different patterns SHOULD document it. @@ -1938,7 +2048,9 @@ pub const DB_CLIENT_CONNECTION_STATE: &str = "db.client.connection.state"; /// /// - `"myDataSource"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.client.connection.pool.name`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.client.connection.pool.name`., reason: renamed, renamed_to: db.client.connection.pool.name}" +)] pub const DB_CLIENT_CONNECTIONS_POOL_NAME: &str = "db.client.connections.pool.name"; /// Deprecated, use `db.client.connection.state` instead. @@ -1949,7 +2061,9 @@ pub const DB_CLIENT_CONNECTIONS_POOL_NAME: &str = "db.client.connections.pool.na /// /// - `"idle"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.client.connection.state`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.client.connection.state`., reason: renamed, renamed_to: db.client.connection.state}" +)] pub const DB_CLIENT_CONNECTIONS_STATE: &str = "db.client.connections.state"; /// The name of a collection (table, container) within the database. @@ -1981,7 +2095,7 @@ pub const DB_COLLECTION_NAME: &str = "db.collection.name"; /// - `"Server=(localdb)\\v11.0;Integrated Security=true;"` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `server.address` and `server.port`., reason: uncategorized}" + note = "{note: Replaced by `server.address` and `server.port`.\n, reason: uncategorized}" )] pub const DB_CONNECTION_STRING: &str = "db.connection_string"; @@ -1993,14 +2107,18 @@ pub const DB_CONNECTION_STRING: &str = "db.connection_string"; /// /// - `"3ba4827d-4422-483f-b59f-85b74211c11d"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `azure.client.id`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `azure.client.id`., reason: renamed, renamed_to: azure.client.id}" +)] pub const DB_COSMOSDB_CLIENT_ID: &str = "db.cosmosdb.client_id"; /// Deprecated, use `azure.cosmosdb.connection.mode` instead. /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `azure.cosmosdb.connection.mode`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `azure.cosmosdb.connection.mode`., reason: renamed, renamed_to: azure.cosmosdb.connection.mode}" +)] pub const DB_COSMOSDB_CONNECTION_MODE: &str = "db.cosmosdb.connection_mode"; /// Deprecated, use `cosmosdb.consistency.level` instead. @@ -2016,7 +2134,7 @@ pub const DB_COSMOSDB_CONNECTION_MODE: &str = "db.cosmosdb.connection_mode"; /// - `"Session"` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `azure.cosmosdb.consistency.level`., reason: uncategorized}" + note = "{note: Replaced by `azure.cosmosdb.consistency.level`., reason: renamed, renamed_to: azure.cosmosdb.consistency.level}" )] pub const DB_COSMOSDB_CONSISTENCY_LEVEL: &str = "db.cosmosdb.consistency_level"; @@ -2028,14 +2146,16 @@ pub const DB_COSMOSDB_CONSISTENCY_LEVEL: &str = "db.cosmosdb.consistency_level"; /// /// - `"mytable"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.collection.name`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.collection.name`., reason: renamed, renamed_to: db.collection.name}" +)] pub const DB_COSMOSDB_CONTAINER: &str = "db.cosmosdb.container"; /// Deprecated, no replacement at this time. /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: No replacement at this time., reason: uncategorized}")] +#[deprecated(note = "{note: Removed, no replacement at this time.\n, reason: obsoleted}")] pub const DB_COSMOSDB_OPERATION_TYPE: &str = "db.cosmosdb.operation_type"; /// Deprecated, use `azure.cosmosdb.operation.contacted_regions` instead. @@ -2051,7 +2171,7 @@ pub const DB_COSMOSDB_OPERATION_TYPE: &str = "db.cosmosdb.operation_type"; /// ]` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `azure.cosmosdb.operation.contacted_regions`., reason: uncategorized}" + note = "{note: Replaced by `azure.cosmosdb.operation.contacted_regions`., reason: renamed, renamed_to: azure.cosmosdb.operation.contacted_regions}" )] pub const DB_COSMOSDB_REGIONS_CONTACTED: &str = "db.cosmosdb.regions_contacted"; @@ -2065,7 +2185,7 @@ pub const DB_COSMOSDB_REGIONS_CONTACTED: &str = "db.cosmosdb.regions_contacted"; /// - `1.0` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `azure.cosmosdb.operation.request_charge`., reason: uncategorized}" + note = "{note: Replaced by `azure.cosmosdb.operation.request_charge`., reason: renamed, renamed_to: azure.cosmosdb.operation.request_charge}" )] pub const DB_COSMOSDB_REQUEST_CHARGE: &str = "db.cosmosdb.request_charge"; @@ -2074,7 +2194,7 @@ pub const DB_COSMOSDB_REQUEST_CHARGE: &str = "db.cosmosdb.request_charge"; /// ## Notes #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `azure.cosmosdb.request.body.size`., reason: uncategorized}" + note = "{note: Replaced by `azure.cosmosdb.request.body.size`., reason: renamed, renamed_to: azure.cosmosdb.request.body.size}" )] pub const DB_COSMOSDB_REQUEST_CONTENT_LENGTH: &str = "db.cosmosdb.request_content_length"; @@ -2087,7 +2207,9 @@ pub const DB_COSMOSDB_REQUEST_CONTENT_LENGTH: &str = "db.cosmosdb.request_conten /// - `200` /// - `201` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.response.status_code`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.response.status_code`., reason: renamed, renamed_to: db.response.status_code}" +)] pub const DB_COSMOSDB_STATUS_CODE: &str = "db.cosmosdb.status_code"; /// Deprecated, use `azure.cosmosdb.response.sub_status_code` instead. @@ -2100,7 +2222,7 @@ pub const DB_COSMOSDB_STATUS_CODE: &str = "db.cosmosdb.status_code"; /// - `1002` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `azure.cosmosdb.response.sub_status_code`., reason: uncategorized}" + note = "{note: Replaced by `azure.cosmosdb.response.sub_status_code`., reason: renamed, renamed_to: azure.cosmosdb.response.sub_status_code}" )] pub const DB_COSMOSDB_SUB_STATUS_CODE: &str = "db.cosmosdb.sub_status_code"; @@ -2112,7 +2234,9 @@ pub const DB_COSMOSDB_SUB_STATUS_CODE: &str = "db.cosmosdb.sub_status_code"; /// /// - `"e9106fc68e3044f0b1475b04bf4ffd5f"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.namespace`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.namespace`., reason: renamed, renamed_to: db.namespace}" +)] pub const DB_ELASTICSEARCH_CLUSTER_NAME: &str = "db.elasticsearch.cluster.name"; /// Deprecated, use `elasticsearch.node.name` instead. @@ -2123,7 +2247,9 @@ pub const DB_ELASTICSEARCH_CLUSTER_NAME: &str = "db.elasticsearch.cluster.name"; /// /// - `"instance-0000000001"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `elasticsearch.node.name`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `elasticsearch.node.name`., reason: renamed, renamed_to: elasticsearch.node.name}" +)] pub const DB_ELASTICSEARCH_NODE_NAME: &str = "db.elasticsearch.node.name"; /// Deprecated, use `db.operation.parameter` instead. @@ -2135,7 +2261,9 @@ pub const DB_ELASTICSEARCH_NODE_NAME: &str = "db.elasticsearch.node.name"; /// - `"test-index"` /// - `"123"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.operation.parameter`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.operation.parameter`., reason: renamed, renamed_to: db.operation.parameter}" +)] pub const DB_ELASTICSEARCH_PATH_PARTS: &str = "db.elasticsearch.path_parts"; /// Deprecated, no general replacement at this time. For Elasticsearch, use `db.elasticsearch.node.name` instead. @@ -2147,7 +2275,7 @@ pub const DB_ELASTICSEARCH_PATH_PARTS: &str = "db.elasticsearch.path_parts"; /// - `"mysql-e26b99z.example.com"` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Deprecated, no general replacement at this time. For Elasticsearch, use `db.elasticsearch.node.name` instead., reason: uncategorized}" + note = "{note: Removed, no general replacement at this time. For Elasticsearch, use `db.elasticsearch.node.name` instead.\n, reason: obsoleted}" )] pub const DB_INSTANCE_ID: &str = "db.instance.id"; @@ -2160,7 +2288,7 @@ pub const DB_INSTANCE_ID: &str = "db.instance.id"; /// - `"org.postgresql.Driver"` /// - `"com.microsoft.sqlserver.jdbc.SQLServerDriver"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Removed as not used., reason: uncategorized}")] +#[deprecated(note = "{note: Removed, no replacement at this time.\n, reason: obsoleted}")] pub const DB_JDBC_DRIVER_CLASSNAME: &str = "db.jdbc.driver_classname"; /// Deprecated, use `db.collection.name` instead. @@ -2171,7 +2299,9 @@ pub const DB_JDBC_DRIVER_CLASSNAME: &str = "db.jdbc.driver_classname"; /// /// - `"mytable"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.collection.name`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.collection.name`., reason: renamed, renamed_to: db.collection.name}" +)] pub const DB_MONGODB_COLLECTION: &str = "db.mongodb.collection"; /// Deprecated, SQL Server instance is now populated as a part of `db.namespace` attribute. @@ -2182,7 +2312,7 @@ pub const DB_MONGODB_COLLECTION: &str = "db.mongodb.collection"; /// /// - `"MSSQLSERVER"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Deprecated, no replacement at this time., reason: uncategorized}")] +#[deprecated(note = "{note: Removed, no replacement at this time., reason: obsoleted}")] pub const DB_MSSQL_INSTANCE_NAME: &str = "db.mssql.instance_name"; /// Deprecated, use `db.namespace` instead. @@ -2194,7 +2324,9 @@ pub const DB_MSSQL_INSTANCE_NAME: &str = "db.mssql.instance_name"; /// - `"customers"` /// - `"main"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.namespace`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.namespace`., reason: renamed, renamed_to: db.namespace}" +)] pub const DB_NAME: &str = "db.name"; /// The name of the database, fully qualified within the server address and port. @@ -2221,7 +2353,9 @@ pub const DB_NAMESPACE: &str = "db.namespace"; /// - `"HMSET"` /// - `"SELECT"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.operation.name`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.operation.name`., reason: renamed, renamed_to: db.operation.name}" +)] pub const DB_OPERATION: &str = "db.operation"; /// The number of queries included in a batch operation. @@ -2351,7 +2485,9 @@ pub const DB_QUERY_TEXT: &str = "db.query.text"; /// - `1` /// - `15` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.namespace`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.namespace`., reason: renamed, renamed_to: db.namespace}" +)] pub const DB_REDIS_DATABASE_INDEX: &str = "db.redis.database_index"; /// Number of rows returned by the operation. @@ -2381,7 +2517,7 @@ pub const DB_RESPONSE_RETURNED_ROWS: &str = "db.response.returned_rows"; /// - `"404"` pub const DB_RESPONSE_STATUS_CODE: &str = "db.response.status_code"; -/// Deprecated, use `db.collection.name` instead, but only if not extracting the value from `db.query.text`. +/// Deprecated, use `db.collection.name` instead. /// /// ## Notes /// @@ -2403,7 +2539,9 @@ pub const DB_SQL_TABLE: &str = "db.sql.table"; /// - `"SELECT * FROM wuser_table"` /// - `"SET mykey \"WuValue\""` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.query.text`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.query.text`., reason: renamed, renamed_to: db.query.text}" +)] pub const DB_STATEMENT: &str = "db.statement"; /// The name of a stored procedure within the database. @@ -2425,7 +2563,9 @@ pub const DB_STORED_PROCEDURE_NAME: &str = "db.stored_procedure.name"; /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.system.name`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.system.name`., reason: renamed, renamed_to: db.system.name}" +)] pub const DB_SYSTEM: &str = "db.system"; /// The database management system (DBMS) product as identified by the client instrumentation. @@ -2444,7 +2584,7 @@ pub const DB_SYSTEM_NAME: &str = "db.system.name"; /// - `"readonly_user"` /// - `"reporting_user"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: No replacement at this time., reason: uncategorized}")] +#[deprecated(note = "{note: Removed, no replacement at this time., reason: obsoleted}")] pub const DB_USER: &str = "db.user"; /// 'Deprecated, use `deployment.environment.name` instead.' @@ -2457,7 +2597,7 @@ pub const DB_USER: &str = "db.user"; /// - `"production"` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Deprecated, use `deployment.environment.name` instead., reason: uncategorized}" + note = "{note: Replaced by `deployment.environment.name`., reason: renamed, renamed_to: deployment.environment.name}" )] pub const DEPLOYMENT_ENVIRONMENT: &str = "deployment.environment"; @@ -2551,7 +2691,7 @@ pub const DESTINATION_PORT: &str = "destination.port"; /// \] However, it may be appropriate for specific enterprise scenarios, such as kiosk devices or enterprise-managed devices, with appropriate compliance clearance. /// \] Any instrumentation providing this identifier MUST implement it as an opt-in feature. /// \] -/// \] See [`app.installation.id`](/docs/attributes-registry/app.md#app-installation-id) for a more privacy-preserving alternative. +/// \] See [`app.installation.id`](/docs/registry/attributes/app.md#app-installation-id) for a more privacy-preserving alternative. /// /// # Examples /// @@ -2681,7 +2821,7 @@ pub const ENDUSER_PSEUDO_ID: &str = "enduser.pseudo.id"; /// /// - `"admin"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `user.roles` attribute., reason: uncategorized}")] +#[deprecated(note = "{note: Use `user.roles` attribute instead., reason: uncategorized}")] pub const ENDUSER_ROLE: &str = "enduser.role"; /// Deprecated, no replacement at this time. @@ -2692,7 +2832,7 @@ pub const ENDUSER_ROLE: &str = "enduser.role"; /// /// - `"read:message, write:files"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Removed., reason: uncategorized}")] +#[deprecated(note = "{note: Removed, no replacement at this time., reason: obsoleted}")] pub const ENDUSER_SCOPE: &str = "enduser.scope"; /// A message providing more detail about an error in human-readable form. @@ -2754,7 +2894,7 @@ pub const ERROR_TYPE: &str = "error.type"; /// - `"device.app.lifecycle"` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by EventName top-level field on the LogRecord, reason: uncategorized}" + note = "{note: Replaced by EventName top-level field on the LogRecord.\n, reason: uncategorized}" )] pub const EVENT_NAME: &str = "event.name"; @@ -2762,7 +2902,7 @@ pub const EVENT_NAME: &str = "event.name"; /// /// ## Notes #[deprecated( - note = "{note: It's no longer recommended to record exceptions that are handled and do not escape the scope of a span., reason: uncategorized}" + note = "{note: It's no longer recommended to record exceptions that are handled and do not escape the scope of a span.\n, reason: obsoleted}" )] pub const EXCEPTION_ESCAPED: &str = "exception.escaped"; @@ -2998,7 +3138,9 @@ pub const FEATURE_FLAG_CONTEXT_ID: &str = "feature_flag.context.id"; /// /// - `"Flag `header-color`expected type`string`but found type`number`"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `error.message`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `error.message`., reason: renamed, renamed_to: error.message}" +)] pub const FEATURE_FLAG_EVALUATION_ERROR_MESSAGE: &str = "feature_flag.evaluation.error.message"; /// Deprecated, use `feature_flag.result.reason` instead. @@ -3012,7 +3154,9 @@ pub const FEATURE_FLAG_EVALUATION_ERROR_MESSAGE: &str = "feature_flag.evaluation /// - `"error"` /// - `"default"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `feature_flag.result.reason`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `feature_flag.result.reason`., reason: renamed, renamed_to: feature_flag.result.reason}" +)] pub const FEATURE_FLAG_EVALUATION_REASON: &str = "feature_flag.evaluation.reason"; /// The lookup key of the feature flag. @@ -3048,6 +3192,24 @@ pub const FEATURE_FLAG_PROVIDER_NAME: &str = "feature_flag.provider.name"; #[cfg(feature = "semconv_experimental")] pub const FEATURE_FLAG_RESULT_REASON: &str = "feature_flag.result.reason"; +/// The evaluated value of the feature flag. +/// +/// ## Notes +/// +/// With some feature flag providers, feature flag results can be quite large or contain private or sensitive details. +/// Because of this, `feature_flag.result.variant` is often the preferred attribute if it is available. +/// +/// It may be desirable to redact or otherwise limit the size and scope of `feature_flag.result.value` if possible. +/// Because the evaluated flag value is unstructured and may be any type, it is left to the instrumentation author to determine how best to achieve this. +/// +/// # Examples +/// +/// - `"#ff0000"` +/// - `true` +/// - `3` +#[cfg(feature = "semconv_experimental")] +pub const FEATURE_FLAG_RESULT_VALUE: &str = "feature_flag.result.value"; + /// A semantic identifier for an evaluated flag value. /// /// ## Notes @@ -3087,7 +3249,9 @@ pub const FEATURE_FLAG_SET_ID: &str = "feature_flag.set.id"; /// - `"true"` /// - `"on"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `feature_flag.result.variant`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `feature_flag.result.variant`., reason: renamed, renamed_to: feature_flag.result.variant}" +)] pub const FEATURE_FLAG_VARIANT: &str = "feature_flag.variant"; /// The version of the ruleset used during the evaluation. This may be any stable value which uniquely identifies the ruleset. @@ -3480,14 +3644,38 @@ pub const GEN_AI_AGENT_NAME: &str = "gen_ai.agent.name"; /// /// - `"[{'role': 'assistant', 'content': 'The capital of France is Paris.'}]"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Removed, no replacement at this time., reason: uncategorized}")] +#[deprecated(note = "{note: Removed, no replacement at this time., reason: obsoleted}")] pub const GEN_AI_COMPLETION: &str = "gen_ai.completion"; +/// The unique identifier for a conversation (session, thread), used to store and correlate messages within this conversation. +/// +/// ## Notes +/// +/// # Examples +/// +/// - `"conv_5j66UpCpwteGg4YSxUnt7lPY"` +#[cfg(feature = "semconv_experimental")] +pub const GEN_AI_CONVERSATION_ID: &str = "gen_ai.conversation.id"; + +/// The data source identifier. +/// +/// ## Notes +/// +/// Data sources are used by AI agents and RAG applications to store grounding data. A data source may be an external database, object store, document collection, website, or any other storage system used by the GenAI agent or application. The `gen_ai.data_source.id` SHOULD match the identifier used by the GenAI system rather than a name specific to the external storage, such as a database or object store. Semantic conventions referencing `gen_ai.data_source.id` MAY also leverage additional attributes, such as `db.*`, to further identify and describe the data source. +/// +/// # Examples +/// +/// - `"H7STPQYOND"` +#[cfg(feature = "semconv_experimental")] +pub const GEN_AI_DATA_SOURCE_ID: &str = "gen_ai.data_source.id"; + /// Deprecated, use `gen_ai.output.type`. /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `gen_ai.output.type`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `gen_ai.output.type`., reason: renamed, renamed_to: gen_ai.output.type}" +)] pub const GEN_AI_OPENAI_REQUEST_RESPONSE_FORMAT: &str = "gen_ai.openai.request.response_format"; /// Deprecated, use `gen_ai.request.seed`. @@ -3498,7 +3686,9 @@ pub const GEN_AI_OPENAI_REQUEST_RESPONSE_FORMAT: &str = "gen_ai.openai.request.r /// /// - `100` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `gen_ai.request.seed` attribute., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `gen_ai.request.seed`., reason: renamed, renamed_to: gen_ai.request.seed}" +)] pub const GEN_AI_OPENAI_REQUEST_SEED: &str = "gen_ai.openai.request.seed"; /// The service tier requested. May be a specific tier, default, or auto. @@ -3560,7 +3750,7 @@ pub const GEN_AI_OUTPUT_TYPE: &str = "gen_ai.output.type"; /// /// - `"[{'role': 'user', 'content': 'What is the capital of France?'}]"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Removed, no replacement at this time., reason: uncategorized}")] +#[deprecated(note = "{note: Removed, no replacement at this time., reason: obsoleted}")] pub const GEN_AI_PROMPT: &str = "gen_ai.prompt"; /// The target number of candidate completions to return. @@ -3810,7 +4000,7 @@ pub const GEN_AI_TOOL_TYPE: &str = "gen_ai.tool.type"; /// - `42` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `gen_ai.usage.output_tokens` attribute., reason: uncategorized}" + note = "{note: Replaced by `gen_ai.usage.output_tokens`., reason: renamed, renamed_to: gen_ai.usage.output_tokens}" )] pub const GEN_AI_USAGE_COMPLETION_TOKENS: &str = "gen_ai.usage.completion_tokens"; @@ -3843,7 +4033,7 @@ pub const GEN_AI_USAGE_OUTPUT_TOKENS: &str = "gen_ai.usage.output_tokens"; /// - `42` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `gen_ai.usage.input_tokens` attribute., reason: uncategorized}" + note = "{note: Replaced by `gen_ai.usage.input_tokens`., reason: renamed, renamed_to: gen_ai.usage.input_tokens}" )] pub const GEN_AI_USAGE_PROMPT_TOKENS: &str = "gen_ai.usage.prompt_tokens"; @@ -4159,7 +4349,9 @@ pub const HOST_TYPE: &str = "host.type"; /// /// - `"83.164.160.102"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `client.address`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `client.address`., reason: renamed, renamed_to: client.address}" +)] pub const HTTP_CLIENT_IP: &str = "http.client_ip"; /// State of the HTTP connection in the HTTP connection pool. @@ -4177,7 +4369,9 @@ pub const HTTP_CONNECTION_STATE: &str = "http.connection.state"; /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `network.protocol.name`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `network.protocol.name`., reason: renamed, renamed_to: network.protocol.name}" +)] pub const HTTP_FLAVOR: &str = "http.flavor"; /// Deprecated, use one of `server.address`, `client.address` or `http.request.header.host` instead, depending on the usage. @@ -4189,7 +4383,7 @@ pub const HTTP_FLAVOR: &str = "http.flavor"; /// - `"www.example.org"` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by one of `server.address`, `client.address` or `http.request.header.host`, depending on the usage., reason: uncategorized}" + note = "{note: Replaced by one of `server.address`, `client.address` or `http.request.header.host`, depending on the usage.\n, reason: uncategorized}" )] pub const HTTP_HOST: &str = "http.host"; @@ -4203,7 +4397,9 @@ pub const HTTP_HOST: &str = "http.host"; /// - `"POST"` /// - `"HEAD"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `http.request.method`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `http.request.method`., reason: renamed, renamed_to: http.request.method}" +)] pub const HTTP_METHOD: &str = "http.method"; /// The size of the request payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) header. For requests using transport encoding, this should be the compressed size. @@ -4239,8 +4435,13 @@ pub const HTTP_REQUEST_BODY_SIZE: &str = "http.request.body.size"; /// /// # Examples /// -/// - `"[\"application/json\"]"` -/// - `"[\"1.2.3.4\", \"1.2.3.5\"]"` +/// - `[ +/// "application/json", +/// ]` +/// - `[ +/// "1.2.3.4", +/// "1.2.3.5", +/// ]` pub const HTTP_REQUEST_HEADER: &str = "http.request.header"; /// HTTP request method. @@ -4301,7 +4502,7 @@ pub const HTTP_REQUEST_RESEND_COUNT: &str = "http.request.resend_count"; #[cfg(feature = "semconv_experimental")] pub const HTTP_REQUEST_SIZE: &str = "http.request.size"; -/// Deprecated, use `http.request.header.`key`` instead. +/// Deprecated, use `http.request.header.content-length` instead. /// /// ## Notes /// @@ -4309,7 +4510,9 @@ pub const HTTP_REQUEST_SIZE: &str = "http.request.size"; /// /// - `3495` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `http.request.header.`key``., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `http.request.header.content-length`., reason: uncategorized}" +)] pub const HTTP_REQUEST_CONTENT_LENGTH: &str = "http.request_content_length"; /// Deprecated, use `http.request.body.size` instead. @@ -4320,7 +4523,9 @@ pub const HTTP_REQUEST_CONTENT_LENGTH: &str = "http.request_content_length"; /// /// - `5493` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `http.request.body.size`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `http.request.body.size`., reason: renamed, renamed_to: http.request.body.size}" +)] pub const HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED: &str = "http.request_content_length_uncompressed"; @@ -4356,8 +4561,13 @@ pub const HTTP_RESPONSE_BODY_SIZE: &str = "http.response.body.size"; /// /// # Examples /// -/// - `"[\"application/json\"]"` -/// - `"[\"abc\", \"def\"]"` +/// - `[ +/// "application/json", +/// ]` +/// - `[ +/// "abc", +/// "def", +/// ]` pub const HTTP_RESPONSE_HEADER: &str = "http.response.header"; /// The total size of the response in bytes. This should be the total number of bytes sent over the wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response body and trailers if any. @@ -4379,7 +4589,7 @@ pub const HTTP_RESPONSE_SIZE: &str = "http.response.size"; /// - `200` pub const HTTP_RESPONSE_STATUS_CODE: &str = "http.response.status_code"; -/// Deprecated, use `http.response.header.`key`` instead. +/// Deprecated, use `http.response.header.content-length` instead. /// /// ## Notes /// @@ -4387,7 +4597,7 @@ pub const HTTP_RESPONSE_STATUS_CODE: &str = "http.response.status_code"; /// /// - `3495` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `http.response.header.`key``., reason: uncategorized}")] +#[deprecated(note = "{note: hp.response.header.content-length, reason: uncategorized}")] pub const HTTP_RESPONSE_CONTENT_LENGTH: &str = "http.response_content_length"; /// Deprecated, use `http.response.body.size` instead. @@ -4398,7 +4608,9 @@ pub const HTTP_RESPONSE_CONTENT_LENGTH: &str = "http.response_content_length"; /// /// - `5493` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replace by `http.response.body.size`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `http.response.body.size`., reason: renamed, renamed_to: http.response.body.size}" +)] pub const HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED: &str = "http.response_content_length_uncompressed"; @@ -4424,7 +4636,7 @@ pub const HTTP_ROUTE: &str = "http.route"; /// - `"http"` /// - `"https"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `url.scheme` instead., reason: uncategorized}")] +#[deprecated(note = "{note: Replaced by `url.scheme`., reason: renamed, renamed_to: url.scheme}")] pub const HTTP_SCHEME: &str = "http.scheme"; /// Deprecated, use `server.address` instead. @@ -4435,7 +4647,9 @@ pub const HTTP_SCHEME: &str = "http.scheme"; /// /// - `"example.com"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `server.address`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `server.address`., reason: renamed, renamed_to: server.address}" +)] pub const HTTP_SERVER_NAME: &str = "http.server_name"; /// Deprecated, use `http.response.status_code` instead. @@ -4446,7 +4660,9 @@ pub const HTTP_SERVER_NAME: &str = "http.server_name"; /// /// - `200` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `http.response.status_code`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `http.response.status_code`., reason: renamed, renamed_to: http.response.status_code}" +)] pub const HTTP_STATUS_CODE: &str = "http.status_code"; /// Deprecated, use `url.path` and `url.query` instead. @@ -4457,7 +4673,7 @@ pub const HTTP_STATUS_CODE: &str = "http.status_code"; /// /// - `"/search?q=OpenTelemetry#SemConv"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Split to `url.path` and `url.query., reason: uncategorized}")] +#[deprecated(note = "{note: Split to `url.path` and `url.query`., reason: obsoleted}")] pub const HTTP_TARGET: &str = "http.target"; /// Deprecated, use `url.full` instead. @@ -4468,7 +4684,7 @@ pub const HTTP_TARGET: &str = "http.target"; /// /// - `"https://www.foo.bar/search?q=OpenTelemetry#SemConv"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `url.full`., reason: uncategorized}")] +#[deprecated(note = "{note: Replaced by `url.full`., reason: renamed, renamed_to: url.full}")] pub const HTTP_URL: &str = "http.url"; /// Deprecated, use `user_agent.original` instead. @@ -4480,7 +4696,9 @@ pub const HTTP_URL: &str = "http.url"; /// - `"CERN-LineMode/2.15 libwww/2.17b3"` /// - `"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"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `user_agent.original`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `user_agent.original`., reason: renamed, renamed_to: user_agent.original}" +)] pub const HTTP_USER_AGENT: &str = "http.user_agent"; /// An identifier for the hardware component, unique within the monitored host @@ -4535,13 +4753,13 @@ pub const HW_TYPE: &str = "hw.type"; #[cfg(feature = "semconv_experimental")] pub const IOS_APP_STATE: &str = "ios.app.state"; -/// Deprecated. use the `ios.app.state` instead. -/// /// ## Notes /// /// The iOS lifecycle states are defined in the [UIApplicationDelegate documentation](https://developer.apple.com/documentation/uikit/uiapplicationdelegate), and from which the `OS terminology` column values are derived #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Renamed to `ios.app.state`, reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by the `ios.app.state` event body field., reason: uncategorized}" +)] pub const IOS_STATE: &str = "ios.state"; /// Name of the buffer pool. @@ -5073,7 +5291,9 @@ pub const K8S_POD_LABEL: &str = "k8s.pod.label"; /// /// - `"my-app"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `k8s.pod.label`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `k8s.pod.label`., reason: renamed, renamed_to: k8s.pod.label}" +)] pub const K8S_POD_LABELS: &str = "k8s.pod.labels"; /// The name of the Pod. @@ -5336,28 +5556,36 @@ pub const LOG_RECORD_UID: &str = "log.record.uid"; /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `rpc.message.compressed_size`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `rpc.message.compressed_size`., reason: renamed, renamed_to: rpc.message.compressed_size}" +)] pub const MESSAGE_COMPRESSED_SIZE: &str = "message.compressed_size"; /// Deprecated, use `rpc.message.id` instead. /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `rpc.message.id`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `rpc.message.id`., reason: renamed, renamed_to: rpc.message.id}" +)] pub const MESSAGE_ID: &str = "message.id"; /// Deprecated, use `rpc.message.type` instead. /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `rpc.message.type`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `rpc.message.type`., reason: renamed, renamed_to: rpc.message.type}" +)] pub const MESSAGE_TYPE: &str = "message.type"; /// Deprecated, use `rpc.message.uncompressed_size` instead. /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `rpc.message.uncompressed_size`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `rpc.message.uncompressed_size`., reason: renamed, renamed_to: rpc.message.uncompressed_size}" +)] pub const MESSAGE_UNCOMPRESSED_SIZE: &str = "message.uncompressed_size"; /// The number of messages sent, received, or processed in the scope of the batching operation. @@ -5462,7 +5690,7 @@ pub const MESSAGING_DESTINATION_TEMPORARY: &str = "messaging.destination.tempora /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: No replacement at this time., reason: uncategorized}")] +#[deprecated(note = "{note: Removed. No replacement at this time., reason: obsoleted}")] pub const MESSAGING_DESTINATION_PUBLISH_ANONYMOUS: &str = "messaging.destination_publish.anonymous"; /// Deprecated, no replacement at this time. @@ -5474,7 +5702,7 @@ pub const MESSAGING_DESTINATION_PUBLISH_ANONYMOUS: &str = "messaging.destination /// - `"MyQueue"` /// - `"MyTopic"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: No replacement at this time., reason: uncategorized}")] +#[deprecated(note = "{note: Removed. No replacement at this time., reason: obsoleted}")] pub const MESSAGING_DESTINATION_PUBLISH_NAME: &str = "messaging.destination_publish.name"; /// Deprecated, use `messaging.consumer.group.name` instead. @@ -5485,7 +5713,9 @@ pub const MESSAGING_DESTINATION_PUBLISH_NAME: &str = "messaging.destination_publ /// /// - `"$Default"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `messaging.consumer.group.name`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `messaging.consumer.group.name`., reason: renamed, renamed_to: messaging.consumer.group.name}" +)] pub const MESSAGING_EVENTHUBS_CONSUMER_GROUP: &str = "messaging.eventhubs.consumer.group"; /// The UTC epoch seconds at which the message has been accepted and stored in the entity. @@ -5550,7 +5780,9 @@ pub const MESSAGING_GCP_PUBSUB_MESSAGE_ORDERING_KEY: &str = /// /// - `"my-group"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `messaging.consumer.group.name`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `messaging.consumer.group.name`., reason: renamed, renamed_to: messaging.consumer.group.name}" +)] pub const MESSAGING_KAFKA_CONSUMER_GROUP: &str = "messaging.kafka.consumer.group"; /// Deprecated, use `messaging.destination.partition.id` instead. @@ -5562,7 +5794,7 @@ pub const MESSAGING_KAFKA_CONSUMER_GROUP: &str = "messaging.kafka.consumer.group /// - `2` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `messaging.destination.partition.id`., reason: uncategorized}" + note = "{note: Replaced by `messaging.destination.partition.id`., reason: renamed, renamed_to: messaging.destination.partition.id}" )] pub const MESSAGING_KAFKA_DESTINATION_PARTITION: &str = "messaging.kafka.destination.partition"; @@ -5586,7 +5818,9 @@ pub const MESSAGING_KAFKA_MESSAGE_KEY: &str = "messaging.kafka.message.key"; /// /// - `42` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `messaging.kafka.offset`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `messaging.kafka.offset`., reason: renamed, renamed_to: messaging.kafka.offset}" +)] pub const MESSAGING_KAFKA_MESSAGE_OFFSET: &str = "messaging.kafka.message.offset"; /// A boolean that is true if the message is a tombstone. @@ -5661,7 +5895,9 @@ pub const MESSAGING_MESSAGE_ID: &str = "messaging.message.id"; /// - `"create"` /// - `"process"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `messaging.operation.type`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `messaging.operation.type`., reason: renamed, renamed_to: messaging.operation.type}" +)] pub const MESSAGING_OPERATION: &str = "messaging.operation"; /// The system-specific name of the messaging operation. @@ -5714,7 +5950,7 @@ pub const MESSAGING_RABBITMQ_MESSAGE_DELIVERY_TAG: &str = "messaging.rabbitmq.me /// - `"myConsumerGroup"` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `messaging.consumer.group.name` on the consumer spans. No replacement for producer spans., reason: uncategorized}" + note = "{note: Replaced by `messaging.consumer.group.name` on the consumer spans. No replacement for producer spans.\n, reason: uncategorized}" )] pub const MESSAGING_ROCKETMQ_CLIENT_GROUP: &str = "messaging.rocketmq.client_group"; @@ -5804,7 +6040,7 @@ pub const MESSAGING_ROCKETMQ_NAMESPACE: &str = "messaging.rocketmq.namespace"; /// - `"subscription-a"` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `messaging.destination.subscription.name`., reason: uncategorized}" + note = "{note: Replaced by `messaging.destination.subscription.name`., reason: renamed, renamed_to: messaging.destination.subscription.name}" )] pub const MESSAGING_SERVICEBUS_DESTINATION_SUBSCRIPTION_NAME: &str = "messaging.servicebus.destination.subscription_name"; @@ -5853,7 +6089,9 @@ pub const MESSAGING_SYSTEM: &str = "messaging.system"; /// /// - `"192.168.0.1"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `network.local.address`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `network.local.address`., reason: renamed, renamed_to: network.local.address}" +)] pub const NET_HOST_IP: &str = "net.host.ip"; /// Deprecated, use `server.address`. @@ -5864,7 +6102,9 @@ pub const NET_HOST_IP: &str = "net.host.ip"; /// /// - `"example.com"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `server.address`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `server.address`., reason: renamed, renamed_to: server.address}" +)] pub const NET_HOST_NAME: &str = "net.host.name"; /// Deprecated, use `server.port`. @@ -5875,7 +6115,7 @@ pub const NET_HOST_NAME: &str = "net.host.name"; /// /// - `8080` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `server.port`., reason: uncategorized}")] +#[deprecated(note = "{note: Replaced by `server.port`., reason: renamed, renamed_to: server.port}")] pub const NET_HOST_PORT: &str = "net.host.port"; /// Deprecated, use `network.peer.address`. @@ -5886,7 +6126,9 @@ pub const NET_HOST_PORT: &str = "net.host.port"; /// /// - `"127.0.0.1"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `network.peer.address`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `network.peer.address`., reason: renamed, renamed_to: network.peer.address}" +)] pub const NET_PEER_IP: &str = "net.peer.ip"; /// Deprecated, use `server.address` on client spans and `client.address` on server spans. @@ -5925,7 +6167,9 @@ pub const NET_PEER_PORT: &str = "net.peer.port"; /// - `"http"` /// - `"mqtt"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `network.protocol.name`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `network.protocol.name`., reason: renamed, renamed_to: network.protocol.name}" +)] pub const NET_PROTOCOL_NAME: &str = "net.protocol.name"; /// Deprecated, use `network.protocol.version`. @@ -5936,7 +6180,9 @@ pub const NET_PROTOCOL_NAME: &str = "net.protocol.name"; /// /// - `"3.1.1"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `network.protocol.version`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `network.protocol.version`., reason: renamed, renamed_to: network.protocol.version}" +)] pub const NET_PROTOCOL_VERSION: &str = "net.protocol.version"; /// Deprecated, use `network.transport` and `network.type`. @@ -5956,7 +6202,9 @@ pub const NET_SOCK_FAMILY: &str = "net.sock.family"; /// /// - `"/var/my.sock"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `network.local.address`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `network.local.address`., reason: renamed, renamed_to: network.local.address}" +)] pub const NET_SOCK_HOST_ADDR: &str = "net.sock.host.addr"; /// Deprecated, use `network.local.port`. @@ -5967,7 +6215,9 @@ pub const NET_SOCK_HOST_ADDR: &str = "net.sock.host.addr"; /// /// - `8080` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `network.local.port`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `network.local.port`., reason: renamed, renamed_to: network.local.port}" +)] pub const NET_SOCK_HOST_PORT: &str = "net.sock.host.port"; /// Deprecated, use `network.peer.address`. @@ -5978,7 +6228,9 @@ pub const NET_SOCK_HOST_PORT: &str = "net.sock.host.port"; /// /// - `"192.168.0.1"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `network.peer.address`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `network.peer.address`., reason: renamed, renamed_to: network.peer.address}" +)] pub const NET_SOCK_PEER_ADDR: &str = "net.sock.peer.addr"; /// Deprecated, no replacement at this time. @@ -5989,7 +6241,7 @@ pub const NET_SOCK_PEER_ADDR: &str = "net.sock.peer.addr"; /// /// - `"/var/my.sock"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Removed., reason: uncategorized}")] +#[deprecated(note = "{note: Removed. No replacement at this time., reason: obsoleted}")] pub const NET_SOCK_PEER_NAME: &str = "net.sock.peer.name"; /// Deprecated, use `network.peer.port`. @@ -6000,14 +6252,18 @@ pub const NET_SOCK_PEER_NAME: &str = "net.sock.peer.name"; /// /// - `65531` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `network.peer.port`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `network.peer.port`., reason: renamed, renamed_to: network.peer.port}" +)] pub const NET_SOCK_PEER_PORT: &str = "net.sock.peer.port"; /// Deprecated, use `network.transport`. /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `network.transport`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `network.transport`., reason: renamed, renamed_to: network.transport}" +)] pub const NET_TRANSPORT: &str = "net.transport"; /// The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network. @@ -6320,7 +6576,9 @@ pub const OTEL_COMPONENT_TYPE: &str = "otel.component.type"; /// /// - `"io.opentelemetry.contrib.mongodb"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Use the `otel.scope.name` attribute., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `otel.scope.name`., reason: renamed, renamed_to: otel.scope.name}" +)] pub const OTEL_LIBRARY_NAME: &str = "otel.library.name"; /// Deprecated. Use the `otel.scope.version` attribute. @@ -6331,7 +6589,9 @@ pub const OTEL_LIBRARY_NAME: &str = "otel.library.name"; /// /// - `"1.0.0"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Use the `otel.scope.version` attribute., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `otel.scope.version`., reason: renamed, renamed_to: otel.scope.version}" +)] pub const OTEL_LIBRARY_VERSION: &str = "otel.library.version"; /// The name of the instrumentation scope - (`InstrumentationScope.Name` in OTLP). @@ -6380,7 +6640,9 @@ pub const OTEL_STATUS_DESCRIPTION: &str = "otel.status_description"; /// /// - `"idle"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.client.connection.state`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.client.connection.state`., reason: renamed, renamed_to: db.client.connection.state}" +)] pub const STATE: &str = "state"; /// The [`service.name`](/docs/resource/README.md#service) of the remote service. SHOULD be equal to the actual `service.name` resource attribute of the remote service if any. @@ -6401,7 +6663,9 @@ pub const PEER_SERVICE: &str = "peer.service"; /// /// - `"myDataSource"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.client.connection.pool.name`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.client.connection.pool.name`., reason: renamed, renamed_to: db.client.connection.pool.name}" +)] pub const POOL_NAME: &str = "pool.name"; /// Length of the process.command_args array @@ -6426,7 +6690,7 @@ pub const PROCESS_ARGS_COUNT: &str = "process.args_count"; #[cfg(feature = "semconv_experimental")] pub const PROCESS_COMMAND: &str = "process.command"; -/// All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. +/// All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. /// /// ## Notes /// @@ -6439,7 +6703,7 @@ pub const PROCESS_COMMAND: &str = "process.command"; #[cfg(feature = "semconv_experimental")] pub const PROCESS_COMMAND_ARGS: &str = "process.command_args"; -/// The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. +/// The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data. /// /// ## Notes /// @@ -6459,7 +6723,7 @@ pub const PROCESS_CONTEXT_SWITCH_TYPE: &str = "process.context_switch_type"; /// /// ## Notes #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `cpu.mode`, reason: uncategorized}")] +#[deprecated(note = "{note: Replaced by `cpu.mode`., reason: renamed, renamed_to: cpu.mode}")] pub const PROCESS_CPU_STATE: &str = "process.cpu.state"; /// The date and time the process was created, in ISO 8601 format. @@ -6530,7 +6794,7 @@ pub const PROCESS_EXECUTABLE_BUILD_ID_HTLHASH: &str = "process.executable.build_ /// - `"600DCAFE4A110000F2BF38C493F5FB92"` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `process.executable.build_id.htlhash`, reason: uncategorized}" + note = "{note: Replaced by `process.executable.build_id.htlhash`., reason: renamed, renamed_to: process.executable.build_id.htlhash}" )] pub const PROCESS_EXECUTABLE_BUILD_ID_PROFILING: &str = "process.executable.build_id.profiling"; @@ -6803,7 +7067,10 @@ pub const RPC_CONNECT_RPC_ERROR_CODE: &str = "rpc.connect_rpc.error_code"; /// /// # Examples /// -/// - `"[\"1.2.3.4\", \"1.2.3.5\"]"` +/// - `[ +/// "1.2.3.4", +/// "1.2.3.5", +/// ]` #[cfg(feature = "semconv_experimental")] pub const RPC_CONNECT_RPC_REQUEST_METADATA: &str = "rpc.connect_rpc.request.metadata"; @@ -6819,7 +7086,9 @@ pub const RPC_CONNECT_RPC_REQUEST_METADATA: &str = "rpc.connect_rpc.request.meta /// /// # Examples /// -/// - `"attribute_value"` +/// - `[ +/// "attribute_value", +/// ]` #[cfg(feature = "semconv_experimental")] pub const RPC_CONNECT_RPC_RESPONSE_METADATA: &str = "rpc.connect_rpc.response.metadata"; @@ -6835,7 +7104,10 @@ pub const RPC_CONNECT_RPC_RESPONSE_METADATA: &str = "rpc.connect_rpc.response.me /// /// # Examples /// -/// - `"[\"1.2.3.4\", \"1.2.3.5\"]"` +/// - `[ +/// "1.2.3.4", +/// "1.2.3.5", +/// ]` #[cfg(feature = "semconv_experimental")] pub const RPC_GRPC_REQUEST_METADATA: &str = "rpc.grpc.request.metadata"; @@ -6851,7 +7123,9 @@ pub const RPC_GRPC_REQUEST_METADATA: &str = "rpc.grpc.request.metadata"; /// /// # Examples /// -/// - `"[\"attribute_value\"]"` +/// - `[ +/// "attribute_value", +/// ]` #[cfg(feature = "semconv_experimental")] pub const RPC_GRPC_RESPONSE_METADATA: &str = "rpc.grpc.response.metadata"; @@ -7225,7 +7499,7 @@ pub const SYSTEM_CPU_LOGICAL_NUMBER: &str = "system.cpu.logical_number"; /// - `"idle"` /// - `"interrupt"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `cpu.mode`, reason: uncategorized}")] +#[deprecated(note = "{note: Replaced by `cpu.mode`., reason: renamed, renamed_to: cpu.mode}")] pub const SYSTEM_CPU_STATE: &str = "system.cpu.state"; /// The device identifier @@ -7298,7 +7572,7 @@ pub const SYSTEM_MEMORY_STATE: &str = "system.memory.state"; /// - `"close_wait"` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Removed, report network connection state with `network.connection.state` attribute, reason: uncategorized}" + note = "{note: Replaced by `network.connection.state`., reason: renamed, renamed_to: network.connection.state}" )] pub const SYSTEM_NETWORK_STATE: &str = "system.network.state"; @@ -7350,7 +7624,9 @@ pub const SYSTEM_PROCESS_STATUS: &str = "system.process.status"; /// /// - `"running"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `system.process.status`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `system.process.status`., reason: renamed, renamed_to: system.process.status}" +)] pub const SYSTEM_PROCESSES_STATUS: &str = "system.processes.status"; /// The name of the auto instrumentation agent or distribution, if used. @@ -7588,7 +7864,9 @@ pub const TLS_CLIENT_NOT_BEFORE: &str = "tls.client.not_before"; /// /// - `"opentelemetry.io"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `server.address`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `server.address`., reason: renamed, renamed_to: server.address}" +)] pub const TLS_CLIENT_SERVER_NAME: &str = "tls.client.server_name"; /// Distinguished name of subject of the x.509 certificate presented by the client. @@ -8316,7 +8594,9 @@ pub const VCS_REF_TYPE: &str = "vcs.ref.type"; /// /// - `"123"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Deprecated, use `vcs.change.id` instead., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `vcs.change.id`., reason: renamed, renamed_to: vcs.change.id}" +)] pub const VCS_REPOSITORY_CHANGE_ID: &str = "vcs.repository.change.id"; /// Deprecated, use `vcs.change.title` instead. @@ -8329,7 +8609,9 @@ pub const VCS_REPOSITORY_CHANGE_ID: &str = "vcs.repository.change.id"; /// - `"feat: add my new feature"` /// - `"[chore] update dependency"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Deprecated, use `vcs.change.title` instead., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `vcs.change.title`., reason: renamed, renamed_to: vcs.change.title}" +)] pub const VCS_REPOSITORY_CHANGE_TITLE: &str = "vcs.repository.change.title"; /// The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub. @@ -8356,7 +8638,9 @@ pub const VCS_REPOSITORY_NAME: &str = "vcs.repository.name"; /// - `"my-feature-branch"` /// - `"tag-1-test"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Deprecated, use `vcs.ref.head.name` instead., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `vcs.ref.head.name`., reason: renamed, renamed_to: vcs.ref.head.name}" +)] pub const VCS_REPOSITORY_REF_NAME: &str = "vcs.repository.ref.name"; /// Deprecated, use `vcs.ref.head.revision` instead. @@ -8371,7 +8655,7 @@ pub const VCS_REPOSITORY_REF_NAME: &str = "vcs.repository.ref.name"; /// - `"HEAD"` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Deprecated, use `vcs.ref.head.revision` instead., reason: uncategorized}" + note = "{note: Replaced by `vcs.ref.head.revision`., reason: renamed, renamed_to: vcs.ref.head.revision}" )] pub const VCS_REPOSITORY_REF_REVISION: &str = "vcs.repository.ref.revision"; @@ -8384,7 +8668,9 @@ pub const VCS_REPOSITORY_REF_REVISION: &str = "vcs.repository.ref.revision"; /// - `"branch"` /// - `"tag"` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Deprecated, use `vcs.ref.head.type` instead., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `vcs.ref.head.type`., reason: renamed, renamed_to: vcs.ref.head.type}" +)] pub const VCS_REPOSITORY_REF_TYPE: &str = "vcs.repository.ref.type"; /// The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser. diff --git a/opentelemetry-semantic-conventions/src/lib.rs b/opentelemetry-semantic-conventions/src/lib.rs index 44b18b6cab..c82d653f9f 100644 --- a/opentelemetry-semantic-conventions/src/lib.rs +++ b/opentelemetry-semantic-conventions/src/lib.rs @@ -22,4 +22,4 @@ pub mod trace; /// The schema URL that matches the version of the semantic conventions that /// this crate defines. -pub const SCHEMA_URL: &str = "https://opentelemetry.io/schemas/1.33.0"; +pub const SCHEMA_URL: &str = "https://opentelemetry.io/schemas/1.34.0"; diff --git a/opentelemetry-semantic-conventions/src/metric.rs b/opentelemetry-semantic-conventions/src/metric.rs index f63e0a4c05..39f309e93b 100644 --- a/opentelemetry-semantic-conventions/src/metric.rs +++ b/opentelemetry-semantic-conventions/src/metric.rs @@ -734,7 +734,7 @@ pub const DB_CLIENT_CONNECTION_WAIT_TIME: &str = "db.client.connection.wait_time /// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `db.client.connection.create_time`. Note: the unit also changed from `ms` to `s`., reason: uncategorized}" + note = "{note: Replaced by `db.client.connection.create_time` with unit `s`., reason: uncategorized}" )] pub const DB_CLIENT_CONNECTIONS_CREATE_TIME: &str = "db.client.connections.create_time"; @@ -753,7 +753,9 @@ pub const DB_CLIENT_CONNECTIONS_CREATE_TIME: &str = "db.client.connections.creat /// |:-|:- | /// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.client.connection.idle.max`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.client.connection.idle.max`., reason: renamed, renamed_to: db.client.connection.idle.max}" +)] pub const DB_CLIENT_CONNECTIONS_IDLE_MAX: &str = "db.client.connections.idle.max"; /// ## Description @@ -771,7 +773,9 @@ pub const DB_CLIENT_CONNECTIONS_IDLE_MAX: &str = "db.client.connections.idle.max /// |:-|:- | /// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.client.connection.idle.min`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.client.connection.idle.min`., reason: renamed, renamed_to: db.client.connection.idle.min}" +)] pub const DB_CLIENT_CONNECTIONS_IDLE_MIN: &str = "db.client.connections.idle.min"; /// ## Description @@ -789,7 +793,9 @@ pub const DB_CLIENT_CONNECTIONS_IDLE_MIN: &str = "db.client.connections.idle.min /// |:-|:- | /// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.client.connection.max`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.client.connection.max`., reason: renamed, renamed_to: db.client.connection.max}" +)] pub const DB_CLIENT_CONNECTIONS_MAX: &str = "db.client.connections.max"; /// ## Description @@ -808,7 +814,7 @@ pub const DB_CLIENT_CONNECTIONS_MAX: &str = "db.client.connections.max"; /// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `db.client.connection.pending_requests`., reason: uncategorized}" + note = "{note: Replaced by `db.client.connection.pending_requests`., reason: renamed, renamed_to: db.client.connection.pending_requests}" )] pub const DB_CLIENT_CONNECTIONS_PENDING_REQUESTS: &str = "db.client.connections.pending_requests"; @@ -827,7 +833,9 @@ pub const DB_CLIENT_CONNECTIONS_PENDING_REQUESTS: &str = "db.client.connections. /// |:-|:- | /// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.client.connection.timeouts`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.client.connection.timeouts`., reason: renamed, renamed_to: db.client.connection.timeouts}" +)] pub const DB_CLIENT_CONNECTIONS_TIMEOUTS: &str = "db.client.connections.timeouts"; /// ## Description @@ -846,7 +854,9 @@ pub const DB_CLIENT_CONNECTIONS_TIMEOUTS: &str = "db.client.connections.timeouts /// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required` /// | [`crate::attribute::DB_CLIENT_CONNECTIONS_STATE`] | `Required` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `db.client.connection.count`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `db.client.connection.count`., reason: renamed, renamed_to: db.client.connection.count}" +)] pub const DB_CLIENT_CONNECTIONS_USAGE: &str = "db.client.connections.usage"; /// ## Description @@ -865,7 +875,7 @@ pub const DB_CLIENT_CONNECTIONS_USAGE: &str = "db.client.connections.usage"; /// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `db.client.connection.use_time`. Note: the unit also changed from `ms` to `s`., reason: uncategorized}" + note = "{note: Replaced by `db.client.connection.use_time` with unit `s`., reason: uncategorized}" )] pub const DB_CLIENT_CONNECTIONS_USE_TIME: &str = "db.client.connections.use_time"; @@ -885,7 +895,7 @@ pub const DB_CLIENT_CONNECTIONS_USE_TIME: &str = "db.client.connections.use_time /// | [`crate::attribute::DB_CLIENT_CONNECTIONS_POOL_NAME`] | `Required` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `db.client.connection.wait_time`. Note: the unit also changed from `ms` to `s`., reason: uncategorized}" + note = "{note: Replaced by `db.client.connection.wait_time` with unit `s`., reason: uncategorized}" )] pub const DB_CLIENT_CONNECTIONS_WAIT_TIME: &str = "db.client.connections.wait_time"; @@ -906,7 +916,7 @@ pub const DB_CLIENT_CONNECTIONS_WAIT_TIME: &str = "db.client.connections.wait_ti /// | [`crate::attribute::SERVER_PORT`] | `Conditionally_required`: If using a port other than the default port for this DBMS and if `server.address` is set. #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `azure.cosmosdb.client.active_instance.count`., reason: uncategorized}" + note = "{note: Replaced by `azure.cosmosdb.client.active_instance.count`., reason: renamed, renamed_to: azure.cosmosdb.client.active_instance.count}" )] pub const DB_CLIENT_COSMOSDB_ACTIVE_INSTANCE_COUNT: &str = "db.client.cosmosdb.active_instance.count"; @@ -932,7 +942,7 @@ pub const DB_CLIENT_COSMOSDB_ACTIVE_INSTANCE_COUNT: &str = /// | [`crate::attribute::DB_OPERATION_NAME`] | `Conditionally_required`: If readily available and if there is a single operation name that describes the database call. The operation name MAY be parsed from the query text, in which case it SHOULD be the single operation name found in the query. #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `azure.cosmosdb.client.operation.request_charge`., reason: uncategorized}" + note = "{note: Replaced by `azure.cosmosdb.client.operation.request_charge`., reason: renamed, renamed_to: azure.cosmosdb.client.operation.request_charge}" )] pub const DB_CLIENT_COSMOSDB_OPERATION_REQUEST_CHARGE: &str = "db.client.cosmosdb.operation.request_charge"; @@ -2235,7 +2245,9 @@ pub const JVM_BUFFER_MEMORY_LIMIT: &str = "jvm.buffer.memory.limit"; /// |:-|:- | /// | [`crate::attribute::JVM_BUFFER_POOL_NAME`] | `Recommended` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `jvm.buffer.memory.used`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `jvm.buffer.memory.used`., reason: renamed, renamed_to: jvm.buffer.memory.used}" +)] pub const JVM_BUFFER_MEMORY_USAGE: &str = "jvm.buffer.memory.usage"; /// ## Description @@ -3076,15 +3088,7 @@ pub const K8S_REPLICASET_DESIRED_PODS: &str = "k8s.replicaset.desired_pods"; /// ## Description /// -/// Deprecated, use `k8s.replicationcontroller.available_pods` instead. -/// -/// ## Notes -/// -/// This metric aligns with the `availableReplicas` field of the -/// [K8s ReplicationControllerStatus](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerstatus-v1-core) -/// -/// This metric SHOULD, at a minimum, be reported against a -/// [`k8s.replicationcontroller`](../resource/k8s.md#replicationcontroller) resource +/// Deprecated, use `k8s.replicationcontroller.available_pods` instead /// ## Metadata /// | | | /// |:-|:- @@ -3093,22 +3097,14 @@ pub const K8S_REPLICASET_DESIRED_PODS: &str = "k8s.replicaset.desired_pods"; /// | Status: | `Development` | #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `k8s.replicationcontroller.available_pods`., reason: uncategorized}" + note = "{note: Replaced by `k8s.replicationcontroller.available_pods`., reason: renamed, renamed_to: k8s.replicationcontroller.available_pods}" )] pub const K8S_REPLICATION_CONTROLLER_AVAILABLE_PODS: &str = "k8s.replication_controller.available_pods"; /// ## Description /// -/// Deprecated, use `k8s.replicationcontroller.desired_pods` instead. -/// -/// ## Notes -/// -/// This metric aligns with the `replicas` field of the -/// [K8s ReplicationControllerSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#replicationcontrollerspec-v1-core) -/// -/// This metric SHOULD, at a minimum, be reported against a -/// [`k8s.replicationcontroller`](../resource/k8s.md#replicationcontroller) resource +/// Deprecated, use `k8s.replicationcontroller.desired_pods` instead /// ## Metadata /// | | | /// |:-|:- @@ -3117,7 +3113,7 @@ pub const K8S_REPLICATION_CONTROLLER_AVAILABLE_PODS: &str = /// | Status: | `Development` | #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `k8s.replicationcontroller.desired_pods`., reason: uncategorized}" + note = "{note: Replaced by `k8s.replicationcontroller.desired_pods`., reason: renamed, renamed_to: k8s.replicationcontroller.desired_pods}" )] pub const K8S_REPLICATION_CONTROLLER_DESIRED_PODS: &str = "k8s.replication_controller.desired_pods"; @@ -3521,7 +3517,9 @@ pub const MESSAGING_CLIENT_OPERATION_DURATION: &str = "messaging.client.operatio /// | [`crate::attribute::SERVER_ADDRESS`] | `Conditionally_required`: If available. /// | [`crate::attribute::SERVER_PORT`] | `Recommended` #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `messaging.client.sent.messages`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `messaging.client.sent.messages`., reason: renamed, renamed_to: messaging.client.sent.messages}" +)] pub const MESSAGING_CLIENT_PUBLISHED_MESSAGES: &str = "messaging.client.published.messages"; /// ## Description @@ -3601,7 +3599,7 @@ pub const MESSAGING_PROCESS_DURATION: &str = "messaging.process.duration"; /// | [`crate::attribute::SERVER_PORT`] | `Recommended` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `messaging.client.consumed.messages`., reason: uncategorized}" + note = "{note: Replaced by `messaging.client.consumed.messages`., reason: renamed, renamed_to: messaging.client.consumed.messages}" )] pub const MESSAGING_PROCESS_MESSAGES: &str = "messaging.process.messages"; @@ -3624,13 +3622,13 @@ pub const MESSAGING_PROCESS_MESSAGES: &str = "messaging.process.messages"; /// | [`crate::attribute::SERVER_PORT`] | `Recommended` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `messaging.client.operation.duration`., reason: uncategorized}" + note = "{note: Replaced by `messaging.client.operation.duration`., reason: renamed, renamed_to: messaging.client.operation.duration}" )] pub const MESSAGING_PUBLISH_DURATION: &str = "messaging.publish.duration"; /// ## Description /// -/// Deprecated. Use `messaging.client.produced.messages` instead +/// Deprecated. Use `messaging.client.sent.messages` instead /// ## Metadata /// | | | /// |:-|:- @@ -3647,7 +3645,7 @@ pub const MESSAGING_PUBLISH_DURATION: &str = "messaging.publish.duration"; /// | [`crate::attribute::SERVER_PORT`] | `Recommended` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `messaging.client.produced.messages`., reason: uncategorized}" + note = "{note: Replaced by `messaging.client.sent.messages`., reason: renamed, renamed_to: messaging.client.sent.messages}" )] pub const MESSAGING_PUBLISH_MESSAGES: &str = "messaging.publish.messages"; @@ -3670,7 +3668,7 @@ pub const MESSAGING_PUBLISH_MESSAGES: &str = "messaging.publish.messages"; /// | [`crate::attribute::SERVER_PORT`] | `Recommended` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `messaging.client.operation.duration`., reason: uncategorized}" + note = "{note: Replaced by `messaging.client.operation.duration`., reason: renamed, renamed_to: messaging.client.operation.duration}" )] pub const MESSAGING_RECEIVE_DURATION: &str = "messaging.receive.duration"; @@ -3693,7 +3691,7 @@ pub const MESSAGING_RECEIVE_DURATION: &str = "messaging.receive.duration"; /// | [`crate::attribute::SERVER_PORT`] | `Recommended` #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Replaced by `messaging.client.consumed.messages`., reason: uncategorized}" + note = "{note: Replaced by `messaging.client.consumed.messages`., reason: renamed, renamed_to: messaging.client.consumed.messages}" )] pub const MESSAGING_RECEIVE_MESSAGES: &str = "messaging.receive.messages"; @@ -4016,7 +4014,9 @@ pub const OTEL_SDK_EXPORTER_SPAN_EXPORTED: &str = "otel.sdk.exporter.span.export /// | Unit: | `{span}` | /// | Status: | `Development` | #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Renamed to `otel.sdk.exporter.span.exported`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `otel.sdk.exporter.span.exported`., reason: renamed, renamed_to: otel.sdk.exporter.span.exported}" +)] pub const OTEL_SDK_EXPORTER_SPAN_EXPORTED_COUNT: &str = "otel.sdk.exporter.span.exported.count"; /// ## Description @@ -4053,7 +4053,9 @@ pub const OTEL_SDK_EXPORTER_SPAN_INFLIGHT: &str = "otel.sdk.exporter.span.inflig /// | Unit: | `{span}` | /// | Status: | `Development` | #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Renamed to `otel.sdk.exporter.span.inflight`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `otel.sdk.exporter.span.inflight`., reason: renamed, renamed_to: otel.sdk.exporter.span.inflight}" +)] pub const OTEL_SDK_EXPORTER_SPAN_INFLIGHT_COUNT: &str = "otel.sdk.exporter.span.inflight.count"; /// ## Description @@ -4197,7 +4199,7 @@ pub const OTEL_SDK_PROCESSOR_SPAN_PROCESSED: &str = "otel.sdk.processor.span.pro /// | Status: | `Development` | #[cfg(feature = "semconv_experimental")] #[deprecated( - note = "{note: Renamed to `otel.sdk.processor.span.processed`., reason: uncategorized}" + note = "{note: Replaced by `otel.sdk.processor.span.processed`., reason: renamed, renamed_to: otel.sdk.processor.span.processed}" )] pub const OTEL_SDK_PROCESSOR_SPAN_PROCESSED_COUNT: &str = "otel.sdk.processor.span.processed.count"; @@ -4277,7 +4279,9 @@ pub const OTEL_SDK_SPAN_ENDED: &str = "otel.sdk.span.ended"; /// | Unit: | `{span}` | /// | Status: | `Development` | #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Renamed to `otel.sdk.span.ended`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `otel.sdk.span.ended`., reason: renamed, renamed_to: otel.sdk.span.ended}" +)] pub const OTEL_SDK_SPAN_ENDED_COUNT: &str = "otel.sdk.span.ended.count"; /// ## Description @@ -4312,7 +4316,9 @@ pub const OTEL_SDK_SPAN_LIVE: &str = "otel.sdk.span.live"; /// | Unit: | `{span}` | /// | Status: | `Development` | #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Renamed to `otel.sdk.span.live`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `otel.sdk.span.live`., reason: renamed, renamed_to: otel.sdk.span.live}" +)] pub const OTEL_SDK_SPAN_LIVE_COUNT: &str = "otel.sdk.span.live.count"; /// ## Description @@ -4708,7 +4714,9 @@ pub const SIGNALR_SERVER_CONNECTION_DURATION: &str = "signalr.server.connection. /// | Unit: | `{Hz}` | /// | Status: | `Development` | #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `cpu.frequency`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `cpu.frequency`., reason: renamed, renamed_to: cpu.frequency}" +)] pub const SYSTEM_CPU_FREQUENCY: &str = "system.cpu.frequency"; /// ## Description @@ -4753,7 +4761,7 @@ pub const SYSTEM_CPU_PHYSICAL_COUNT: &str = "system.cpu.physical.count"; /// | Unit: | `s` | /// | Status: | `Development` | #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `cpu.time`., reason: uncategorized}")] +#[deprecated(note = "{note: Replaced by `cpu.time`., reason: renamed, renamed_to: cpu.time}")] pub const SYSTEM_CPU_TIME: &str = "system.cpu.time"; /// ## Description @@ -4766,7 +4774,9 @@ pub const SYSTEM_CPU_TIME: &str = "system.cpu.time"; /// | Unit: | `1` | /// | Status: | `Development` | #[cfg(feature = "semconv_experimental")] -#[deprecated(note = "{note: Replaced by `cpu.utilization`., reason: uncategorized}")] +#[deprecated( + note = "{note: Replaced by `cpu.utilization`., reason: renamed, renamed_to: cpu.utilization}" +)] pub const SYSTEM_CPU_UTILIZATION: &str = "system.cpu.utilization"; /// ## Description diff --git a/opentelemetry-semantic-conventions/src/trace.rs b/opentelemetry-semantic-conventions/src/trace.rs index 8eb75abe00..d04978485f 100644 --- a/opentelemetry-semantic-conventions/src/trace.rs +++ b/opentelemetry-semantic-conventions/src/trace.rs @@ -43,6 +43,12 @@ pub use crate::attribute::APP_WIDGET_ID; #[cfg(feature = "semconv_experimental")] pub use crate::attribute::APP_WIDGET_NAME; +#[cfg(feature = "semconv_experimental")] +pub use crate::attribute::AWS_BEDROCK_GUARDRAIL_ID; + +#[cfg(feature = "semconv_experimental")] +pub use crate::attribute::AWS_BEDROCK_KNOWLEDGE_BASE_ID; + #[cfg(feature = "semconv_experimental")] pub use crate::attribute::AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS; @@ -115,6 +121,9 @@ pub use crate::attribute::AWS_EXTENDED_REQUEST_ID; #[cfg(feature = "semconv_experimental")] pub use crate::attribute::AWS_LAMBDA_INVOKED_ARN; +#[cfg(feature = "semconv_experimental")] +pub use crate::attribute::AWS_LAMBDA_RESOURCE_MAPPING_ID; + #[cfg(feature = "semconv_experimental")] pub use crate::attribute::AWS_REQUEST_ID; @@ -203,6 +212,9 @@ pub use crate::attribute::CLIENT_ADDRESS; pub use crate::attribute::CLIENT_PORT; +#[cfg(feature = "semconv_experimental")] +pub use crate::attribute::CLOUD_REGION; + #[cfg(feature = "semconv_experimental")] pub use crate::attribute::CLOUD_RESOURCE_ID; @@ -295,6 +307,9 @@ pub use crate::attribute::FEATURE_FLAG_PROVIDER_NAME; #[cfg(feature = "semconv_experimental")] pub use crate::attribute::FEATURE_FLAG_RESULT_REASON; +#[cfg(feature = "semconv_experimental")] +pub use crate::attribute::FEATURE_FLAG_RESULT_VALUE; + #[cfg(feature = "semconv_experimental")] pub use crate::attribute::FEATURE_FLAG_RESULT_VARIANT; @@ -313,6 +328,12 @@ pub use crate::attribute::GEN_AI_AGENT_ID; #[cfg(feature = "semconv_experimental")] pub use crate::attribute::GEN_AI_AGENT_NAME; +#[cfg(feature = "semconv_experimental")] +pub use crate::attribute::GEN_AI_CONVERSATION_ID; + +#[cfg(feature = "semconv_experimental")] +pub use crate::attribute::GEN_AI_DATA_SOURCE_ID; + #[cfg(feature = "semconv_experimental")] pub use crate::attribute::GEN_AI_OPENAI_REQUEST_SERVICE_TIER; From d2e6cbfb2d974c6c166834e6788aff9942c44c3d Mon Sep 17 00:00:00 2001 From: Lalit Kumar Bhasin Date: Mon, 2 Jun 2025 17:09:32 +0000 Subject: [PATCH 2/2] changelog --- opentelemetry-semantic-conventions/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/opentelemetry-semantic-conventions/CHANGELOG.md b/opentelemetry-semantic-conventions/CHANGELOG.md index 8c286423d2..06142eeff9 100644 --- a/opentelemetry-semantic-conventions/CHANGELOG.md +++ b/opentelemetry-semantic-conventions/CHANGELOG.md @@ -2,6 +2,8 @@ ## vNext +- Update to [v1.34.0](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.34.0) of the semantic conventions. + ## 0.30.0 Released 2025-May-23