Clarify that DB and messaging system-specific conventions override common ones (#1244)

Co-authored-by: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com>
This commit is contained in:
Liudmila Molkova 2024-07-15 07:57:17 -07:00 committed by GitHub
parent 4e7c42ee8e
commit dde9dbd25e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 32 additions and 141 deletions

4
.chloggen/1244.yaml Normal file
View File

@ -0,0 +1,4 @@
change_type: enhancement
component: db, messaging
note: Clarify that DB and messaging system-specific conventions override common ones
issues: [ 1235, 1244 ]

View File

@ -6,9 +6,7 @@ linkTitle: Cassandra
**Status**: [Experimental][DocumentStatus]
The Semantic Conventions for [Cassandra](https://cassandra.apache.org/) extend and override the [Database Semantic Conventions](database-spans.md)
that describe common database operations attributes in addition to the Semantic Conventions
described on this page.
The Semantic Conventions for [Cassandra](https://cassandra.apache.org/) extend and override the [Database Semantic Conventions](database-spans.md).
`db.system` MUST be set to `"cassandra"` and SHOULD be provided **at span creation time**.

View File

@ -7,9 +7,7 @@ linkTitle: Cosmos DB
**Status**: [Experimental][DocumentStatus]
The Semantic Conventions for [Microsoft Cosmos DB](https://azure.microsoft.com/products/cosmos-db/)
extend and override the [Database Semantic Conventions](database-spans.md)
that describe common database operations attributes in addition to the Semantic Conventions
described on this page.
extend and override the [Database Semantic Conventions](database-spans.md).
## Attributes

View File

@ -6,9 +6,7 @@ linkTitle: CouchDB
**Status**: [Experimental][DocumentStatus]
The Semantic Conventions for [CouchDB](https://couchdb.apache.org/) extend and override the [Database Semantic Conventions](database-spans.md)
that describe common database operations attributes in addition to the Semantic Conventions
described on this page.
The Semantic Conventions for [CouchDB](https://couchdb.apache.org/) extend and override the [Database Semantic Conventions](database-spans.md).
`db.system` MUST be set to `"couchdb"` and SHOULD be provided **at span creation time**.

View File

@ -7,94 +7,13 @@ linkTitle: AWS DynamoDB
**Status**: [Experimental][DocumentStatus]
The Semantic Conventions for [AWS DynamoDB](https://aws.amazon.com/dynamodb/) extend and override the general
[AWS SDK Semantic Conventions](/docs/cloud-providers/aws-sdk.md)
that describe common AWS SDK attributes and the [Database Semantic Conventions](database-spans.md).
that describe common database operations attributes in addition to the Semantic Conventions
described on this page.
[AWS SDK Semantic Conventions](/docs/cloud-providers/aws-sdk.md) and [Database Semantic Conventions](database-spans.md).
## Common Attributes
These attributes are filled in for all DynamoDB request types.
<!-- semconv dynamodb.all(full) -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
<!-- markdownlint-capture -->
<!-- markdownlint-disable -->
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
|---|---|---|---|---|---|
| [`db.system`](/docs/attributes-registry/db.md) | string | The value `dynamodb`. [1] | `dynamodb` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
**[1]:** The actual DBMS may differ from the one identified by the client. For example, when using PostgreSQL client libraries to connect to a CockroachDB, the `db.system` is set to `postgresql` based on the instrumentation's best knowledge.
`db.system` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.
| Value | Description | Stability |
|---|---|---|
| `adabas` | Adabas (Adaptable Database System) | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `cassandra` | Apache Cassandra | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `clickhouse` | ClickHouse | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `cockroachdb` | CockroachDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `cosmosdb` | Microsoft Azure Cosmos DB | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `couchbase` | Couchbase | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `couchdb` | CouchDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `db2` | IBM Db2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `derby` | Apache Derby | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `dynamodb` | Amazon DynamoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `edb` | EnterpriseDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `elasticsearch` | Elasticsearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `filemaker` | FileMaker | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `firebird` | Firebird | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `geode` | Apache Geode | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `h2` | H2 | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `hanadb` | SAP HANA | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `hbase` | Apache HBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `hive` | Apache Hive | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `hsqldb` | HyperSQL DataBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `influxdb` | InfluxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `informix` | Informix | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `ingres` | Ingres | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `instantdb` | InstantDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `interbase` | InterBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `intersystems_cache` | InterSystems Caché | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `mariadb` | MariaDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `maxdb` | SAP MaxDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `memcached` | Memcached | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `mongodb` | MongoDB | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `mssql` | Microsoft SQL Server | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `mysql` | MySQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `neo4j` | Neo4j | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `netezza` | Netezza | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `opensearch` | OpenSearch | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `oracle` | Oracle Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `other_sql` | Some other SQL database. Fallback only. See notes. | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `pervasive` | Pervasive PSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `pointbase` | PointBase | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `postgresql` | PostgreSQL | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `progress` | Progress Database | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `redis` | Redis | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `redshift` | Amazon Redshift | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `spanner` | Cloud Spanner | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `sqlite` | SQLite | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `sybase` | Sybase | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `teradata` | Teradata | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `trino` | Trino | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `vertica` | Vertica | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- END AUTOGENERATED TEXT -->
<!-- endsemconv -->
`db.system` MUST be set to `"dynamodb"` and SHOULD be provided **at span creation time**.
## DynamoDB.BatchGetItem
<!-- semconv dynamodb.batchgetitem(full) -->
<!-- semconv dynamodb.batchgetitem -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
@ -135,7 +54,7 @@ These attributes are filled in for all DynamoDB request types.
## DynamoDB.BatchWriteItem
<!-- semconv dynamodb.batchwriteitem(full) -->
<!-- semconv dynamodb.batchwriteitem -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
@ -177,7 +96,7 @@ These attributes are filled in for all DynamoDB request types.
## DynamoDB.CreateTable
<!-- semconv dynamodb.createtable(full) -->
<!-- semconv dynamodb.createtable -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
@ -223,7 +142,7 @@ These attributes are filled in for all DynamoDB request types.
## DynamoDB.DeleteItem
<!-- semconv dynamodb.deleteitem(full) -->
<!-- semconv dynamodb.deleteitem -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
@ -265,7 +184,7 @@ These attributes are filled in for all DynamoDB request types.
## DynamoDB.DeleteTable
<!-- semconv dynamodb.deletetable(full) -->
<!-- semconv dynamodb.deletetable -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
@ -305,7 +224,7 @@ These attributes are filled in for all DynamoDB request types.
## DynamoDB.DescribeTable
<!-- semconv dynamodb.describetable(full) -->
<!-- semconv dynamodb.describetable -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
@ -345,7 +264,7 @@ These attributes are filled in for all DynamoDB request types.
## DynamoDB.GetItem
<!-- semconv dynamodb.getitem(full) -->
<!-- semconv dynamodb.getitem -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
@ -388,7 +307,7 @@ These attributes are filled in for all DynamoDB request types.
## DynamoDB.ListTables
<!-- semconv dynamodb.listtables(full) -->
<!-- semconv dynamodb.listtables -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
@ -430,7 +349,7 @@ These attributes are filled in for all DynamoDB request types.
## DynamoDB.PutItem
<!-- semconv dynamodb.putitem(full) -->
<!-- semconv dynamodb.putitem -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
@ -472,7 +391,7 @@ These attributes are filled in for all DynamoDB request types.
## DynamoDB.Query
<!-- semconv dynamodb.query(full) -->
<!-- semconv dynamodb.query -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
@ -520,7 +439,7 @@ These attributes are filled in for all DynamoDB request types.
## DynamoDB.Scan
<!-- semconv dynamodb.scan(full) -->
<!-- semconv dynamodb.scan -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
@ -571,7 +490,7 @@ These attributes are filled in for all DynamoDB request types.
## DynamoDB.UpdateItem
<!-- semconv dynamodb.updateitem(full) -->
<!-- semconv dynamodb.updateitem -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->
@ -613,7 +532,7 @@ These attributes are filled in for all DynamoDB request types.
## DynamoDB.UpdateTable
<!-- semconv dynamodb.updatetable(full) -->
<!-- semconv dynamodb.updatetable -->
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/snippet.md.j2 -->
<!-- prettier-ignore-start -->

View File

@ -6,9 +6,7 @@ linkTitle: Elasticsearch
**Status**: [Experimental][DocumentStatus]
The Semantic Conventions for [Elasticsearch](https://www.elastic.co/) extend and override the [Database Semantic Conventions](database-spans.md)
that describe common database operations attributes in addition to the Semantic Conventions
described on this page.
The Semantic Conventions for [Elasticsearch](https://www.elastic.co/) extend and override the [Database Semantic Conventions](database-spans.md).
`db.system` MUST be set to `"elasticsearch"` and SHOULD be provided **at span creation time**.

View File

@ -6,9 +6,7 @@ linkTitle: HBase
**Status**: [Experimental][DocumentStatus]
The Semantic Conventions for [HBase](https://hbase.apache.org/) extend and override the [Database Semantic Conventions](database-spans.md)
that describe common database operations attributes in addition to the Semantic Conventions
described on this page.
The Semantic Conventions for [HBase](https://hbase.apache.org/) extend and override the [Database Semantic Conventions](database-spans.md).
`db.system` MUST be set to `"hbase"` and SHOULD be provided **at span creation time**.

View File

@ -6,9 +6,7 @@ linkTitle: MongoDB
**Status**: [Experimental][DocumentStatus]
The Semantic Conventions for [MongoDB](https://www.mongodb.com/) extend and override the [Database Semantic Conventions](database-spans.md)
that describe common database operations attributes in addition to the Semantic Conventions
described on this page.
The Semantic Conventions for [MongoDB](https://www.mongodb.com/) extend and override the [Database Semantic Conventions](database-spans.md).
`db.system` MUST be set to `"mongodb"` and SHOULD be provided **at span creation time**.

View File

@ -6,9 +6,7 @@ linkTitle: MSSQL
**Status**: [Experimental][DocumentStatus]
The Semantic Conventions for the *Microsoft SQL Server* extend and override the [Database Semantic Conventions](database-spans.md)
that describe common database operations attributes in addition to the Semantic Conventions
described on this page.
The Semantic Conventions for the *Microsoft SQL Server* extend and override the [Database Semantic Conventions](database-spans.md).
`db.system` MUST be set to `"mssql"` and SHOULD be provided **at span creation time**.

View File

@ -6,9 +6,7 @@ linkTitle: Redis
**Status**: [Experimental][DocumentStatus]
The Semantic Conventions for [Redis](https://redis.com/) extend and override the [Database Semantic Conventions](database-spans.md)
that describe common database operations attributes in addition to the Semantic Conventions
described on this page.
The Semantic Conventions for [Redis](https://redis.com/) extend and override the [Database Semantic Conventions](database-spans.md).
`db.system` MUST be set to `"redis"` and SHOULD be provided **at span creation time**.

View File

@ -6,7 +6,7 @@ linkTitle: Azure Messaging
**Status**: [Experimental][DocumentStatus]
The Semantic Conventions for [Azure Service Bus](https://learn.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview) and [Azure Event Hubs](https://learn.microsoft.com/azure/event-hubs/event-hubs-about) extend and override the [Messaging Semantic Conventions](README.md) that describe common messaging operations attributes in addition to the Semantic Conventions described on this page.
The Semantic Conventions for [Azure Service Bus](https://learn.microsoft.com/azure/service-bus-messaging/service-bus-messaging-overview) and [Azure Event Hubs](https://learn.microsoft.com/azure/event-hubs/event-hubs-about) extend and override the [Messaging Semantic Conventions](README.md).
## Azure Service Bus

View File

@ -6,7 +6,7 @@ linkTitle: Google Cloud Pub/Sub
**Status**: [Experimental][DocumentStatus]
The Semantic Conventions for [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) extend and override the [Messaging Semantic Conventions](README.md) that describe common messaging operations attributes in addition to the Semantic Conventions described on this page.
The Semantic Conventions for [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) extend and override the [Messaging Semantic Conventions](README.md).
`messaging.system` MUST be set to `"gcp_pubsub"` and SHOULD be provided **at span creation time**.

View File

@ -14,9 +14,7 @@ linkTitle: Kafka
<!-- tocstop -->
The Semantic Conventions for [Apache Kafka](https://kafka.apache.org/) extend and override the [Messaging Semantic Conventions](README.md)
that describe common messaging operations attributes in addition to the Semantic Conventions
described on this page.
The Semantic Conventions for [Apache Kafka](https://kafka.apache.org/) extend and override the [Messaging Semantic Conventions](README.md).
`messaging.system` MUST be set to `"kafka"` and SHOULD be provided **at span creation time**.

View File

@ -6,9 +6,7 @@ linkTitle: RabbitMQ
**Status**: [Experimental][DocumentStatus]
The Semantic Conventions for [RabbitMQ](https://www.rabbitmq.com/) extend and override the [Messaging Semantic Conventions](README.md)
that describe common messaging operations attributes in addition to the Semantic Conventions
described on this page.
The Semantic Conventions for [RabbitMQ](https://www.rabbitmq.com/) extend and override the [Messaging Semantic Conventions](README.md).
`messaging.system` MUST be set to `"rabbitmq"` and SHOULD be provided **at span creation time**.

View File

@ -6,9 +6,7 @@ linkTitle: RocketMQ
**Status**: [Experimental][DocumentStatus]
The Semantic Conventions for [Apache RocketMQ](https://rocketmq.apache.org/) extend and override the [Messaging Semantic Conventions](README.md)
that describe common messaging operations attributes in addition to the Semantic Conventions
described on this page.
The Semantic Conventions for [Apache RocketMQ](https://rocketmq.apache.org/) extend and override the [Messaging Semantic Conventions](README.md).
`messaging.system` MUST be set to `"rocketmq"` and SHOULD be provided **at span creation time**.

View File

@ -29,16 +29,6 @@ groups:
- ref: aws.request_id
requirement_level: recommended
- id: dynamodb.all
type: span
brief: "Attributes always filled for all DynamoDB request types."
attributes:
- ref: db.system
brief: "The value `dynamodb`."
requirement_level: required
examples:
- dynamodb
- id: dynamodb.shared
extends: aws
type: span