数据库调用和系统语义约定
状态: 混合
本文档定义了数据库客户端 Span 以及数据库指标和日志的语义约定。
警告
使用 此文档 v1.24.0(或更早版本)的现有数据库仪器化
- SHOULD NOT 在其现有的主版本中更改其默认发出的数据库约定版本。约定包括(但不限于)属性、指标和 Span 名称,以及度量单位。
- SHOULD 在其现有的主版本中引入一个环境变量
OTEL_SEMCONV_STABILITY_OPT_IN,该变量是一个类别特定值的逗号分隔列表(例如,http、databases、messaging)。值列表包括:
database- 发出稳定的数据库约定,并停止发出仪器化之前发出的实验性数据库约定。database/dup- 同时发出实验性和稳定数据库约定,允许稳定语义约定分阶段推出。- 默认行为(如果没有这些值)是继续发出仪器化先前发出的旧实验性数据库约定的任何版本。
- 注意:如果同时存在
database/dup和database这两个值,则database/dup的优先级高于database。- SHOULD 在开始发出这两套约定后,至少维护其现有主版本(至少包括安全补丁)六个月。
- MAY 在其下一个主版本中删除该环境变量,并只发出稳定的数据库约定。
数据库操作的语义约定针对以下信号进行定义:
以下数据库定义了特定技术的语义约定:
- AWS DynamoDB:AWS DynamoDB 的语义约定。
- Cassandra:Cassandra的语义约定。
- Azure Cosmos DB:Azure Cosmos DB的语义约定。
- CouchDB:CouchDB的语义约定。
- Elasticsearch:Elasticsearch的语义约定。
- HBase:HBase的语义约定。
- MongoDB:MongoDB的语义约定。
- Microsoft SQL Server:Microsoft SQL Server的语义约定。
- Oracle Database:Oracle Database的语义约定。
- Redis:Redis的语义约定。
- SQL:SQL数据库的语义约定。