diff --git a/.chloggen/1244.yaml b/.chloggen/1244.yaml new file mode 100644 index 000000000..849a02c9f --- /dev/null +++ b/.chloggen/1244.yaml @@ -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 ] diff --git a/docs/database/cassandra.md b/docs/database/cassandra.md index 3b8837df6..be65ba773 100644 --- a/docs/database/cassandra.md +++ b/docs/database/cassandra.md @@ -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**. diff --git a/docs/database/cosmosdb.md b/docs/database/cosmosdb.md index b6f433008..593d42fb4 100644 --- a/docs/database/cosmosdb.md +++ b/docs/database/cosmosdb.md @@ -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 diff --git a/docs/database/couchdb.md b/docs/database/couchdb.md index 7d33f249b..f72458104 100644 --- a/docs/database/couchdb.md +++ b/docs/database/couchdb.md @@ -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**. diff --git a/docs/database/dynamodb.md b/docs/database/dynamodb.md index eb342339f..bb83447e9 100644 --- a/docs/database/dynamodb.md +++ b/docs/database/dynamodb.md @@ -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. - - - - - - - - -| 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) | - - - - - - - +`db.system` MUST be set to `"dynamodb"` and SHOULD be provided **at span creation time**. ## DynamoDB.BatchGetItem - + @@ -135,7 +54,7 @@ These attributes are filled in for all DynamoDB request types. ## DynamoDB.BatchWriteItem - + @@ -177,7 +96,7 @@ These attributes are filled in for all DynamoDB request types. ## DynamoDB.CreateTable - + @@ -223,7 +142,7 @@ These attributes are filled in for all DynamoDB request types. ## DynamoDB.DeleteItem - + @@ -265,7 +184,7 @@ These attributes are filled in for all DynamoDB request types. ## DynamoDB.DeleteTable - + @@ -305,7 +224,7 @@ These attributes are filled in for all DynamoDB request types. ## DynamoDB.DescribeTable - + @@ -345,7 +264,7 @@ These attributes are filled in for all DynamoDB request types. ## DynamoDB.GetItem - + @@ -388,7 +307,7 @@ These attributes are filled in for all DynamoDB request types. ## DynamoDB.ListTables - + @@ -430,7 +349,7 @@ These attributes are filled in for all DynamoDB request types. ## DynamoDB.PutItem - + @@ -472,7 +391,7 @@ These attributes are filled in for all DynamoDB request types. ## DynamoDB.Query - + @@ -520,7 +439,7 @@ These attributes are filled in for all DynamoDB request types. ## DynamoDB.Scan - + @@ -571,7 +490,7 @@ These attributes are filled in for all DynamoDB request types. ## DynamoDB.UpdateItem - + @@ -613,7 +532,7 @@ These attributes are filled in for all DynamoDB request types. ## DynamoDB.UpdateTable - + diff --git a/docs/database/elasticsearch.md b/docs/database/elasticsearch.md index 0c6fcb3c9..8ebadbaa4 100644 --- a/docs/database/elasticsearch.md +++ b/docs/database/elasticsearch.md @@ -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**. diff --git a/docs/database/hbase.md b/docs/database/hbase.md index 6e6419862..1fc8c19d9 100644 --- a/docs/database/hbase.md +++ b/docs/database/hbase.md @@ -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**. diff --git a/docs/database/mongodb.md b/docs/database/mongodb.md index ff3f18891..ff514fc0f 100644 --- a/docs/database/mongodb.md +++ b/docs/database/mongodb.md @@ -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**. diff --git a/docs/database/mssql.md b/docs/database/mssql.md index 8ea95cbe8..50460220d 100644 --- a/docs/database/mssql.md +++ b/docs/database/mssql.md @@ -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**. diff --git a/docs/database/redis.md b/docs/database/redis.md index 71ebcf9ee..501a239ed 100644 --- a/docs/database/redis.md +++ b/docs/database/redis.md @@ -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**. diff --git a/docs/messaging/azure-messaging.md b/docs/messaging/azure-messaging.md index 0d2d6e4e7..72ef2814e 100644 --- a/docs/messaging/azure-messaging.md +++ b/docs/messaging/azure-messaging.md @@ -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 diff --git a/docs/messaging/gcp-pubsub.md b/docs/messaging/gcp-pubsub.md index 1957e3dbb..c9286a02b 100644 --- a/docs/messaging/gcp-pubsub.md +++ b/docs/messaging/gcp-pubsub.md @@ -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**. diff --git a/docs/messaging/kafka.md b/docs/messaging/kafka.md index 14b01a072..b2fd1b4da 100644 --- a/docs/messaging/kafka.md +++ b/docs/messaging/kafka.md @@ -14,9 +14,7 @@ linkTitle: Kafka -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**. diff --git a/docs/messaging/rabbitmq.md b/docs/messaging/rabbitmq.md index bd4a1ed73..3648280e3 100644 --- a/docs/messaging/rabbitmq.md +++ b/docs/messaging/rabbitmq.md @@ -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**. diff --git a/docs/messaging/rocketmq.md b/docs/messaging/rocketmq.md index a60224443..6317f0cc3 100644 --- a/docs/messaging/rocketmq.md +++ b/docs/messaging/rocketmq.md @@ -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**. diff --git a/model/trace/instrumentation/aws-sdk.yml b/model/trace/instrumentation/aws-sdk.yml index aac648e68..a2ea68a4f 100644 --- a/model/trace/instrumentation/aws-sdk.yml +++ b/model/trace/instrumentation/aws-sdk.yml @@ -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