数据库语义约定稳定性迁移指南

由于修改数量巨大且受影响的用户基数广泛,OpenTelemetry 发行的现有数据库仪表化需要实施一个迁移计划,以协助用户过渡到稳定的数据库语义约定。

具体而言,当 OpenTelemetry 发行的现有数据库仪表化更新到稳定的数据库语义约定后,它们会

  • SHOULD NOT 在其现有的主版本中更改其默认发出的数据库约定版本。约定包括(但不限于)属性、指标和 Span 名称,以及度量单位。
  • 应在其现有主版本中引入一个名为 OTEL_SEMCONV_STABILITY_OPT_IN 的环境变量,该变量接受
    • database - 发射稳定的数据库约定,并停止发射该仪表化先前发射的旧数据库约定。
    • database/dup - 同时发射旧的和稳定的数据库约定,允许分阶段推广稳定的语义约定。
    • 默认行为(在缺少其中一个值的情况下)是继续发射该仪表化先前发射的旧数据库约定版本。
  • 需要维护(至少包括安全修补)其现有主版本,自开始同时发出两套约定之日起至少六个月。
  • 可能会在下一个主版本中删除该环境变量,并且只发射稳定的数据库约定。
注意

OTEL_SEMCONV_STABILITY_OPT_IN 仅用于从实验性语义约定迁移到其初始稳定版本。

更改摘要

本节总结了 HTTP 语义约定自 v1.24.0v1.33.0 的变更。

数据库客户端 span 属性

更改注释
db.connection_string已移除
db.user已移除
network.transport已移除
network.type已移除
db.name已移除,整合到新的 db.namespace
db.redis.database_index已移除,整合到新的 db.namespace
db.mssql.instance_name已移除,整合到新的 db.namespace
db.instance.id已移除,替换为 server.address 或根据情况整合到 db.namespace
db.systemdb.system.name
db.statementdb.query.text已澄清,默认情况下仅当存在排除敏感信息的清理时才应收集
db.operationdb.operation.name
db.sql.tabledb.collection.name由于可能存在多个,如果不从 db.query.text 中提取值,则不应捕获
db.cassandra.tabledb.collection.name
db.mongodb.collectiondb.collection.name
db.cosmosdb.containerdb.collection.name
新增:db.query.summary
新增:db.operation.batch.size
新增:db.response.status_code
新增:db.stored_procedure.name
新增:error.type
新增:db.operation.parameter.<key>尚未标记为稳定
新增:db.query.parameter.<key>尚未标记为稳定
新增:db.response.returned_rows尚未标记为稳定

参考

数据库客户端 span 名称

推荐的 span 名称已更改。有关新的 span 名称推荐的详细信息,请参阅 数据库客户端 span 名称 v1.33.0

参考

数据库客户端操作持续时间指标

这是一个必需的指标。以前没有类似的指标。

请参阅 指标 db.client.operation.duration v1.33.0

实验性连接指标

数据库连接指标尚未稳定,但最新版本中有几项更改。

数据库客户端连接数

指标变更

  • 名称db.client.connections.usagedb.client.connection.count
  • 属性:见下表
属性变更注释
pool.namedb.client.connection.pool.name
statedb.client.connection.state

参考

数据库客户端连接最大空闲数

指标变更

  • 名称db.client.connections.idle.maxdb.client.connection.idle.max
  • 属性:见下表
属性变更注释
pool.namedb.client.connection.pool.name

参考

数据库客户端连接最小空闲数

指标变更

  • 名称db.client.connections.idle.mindb.client.connection.idle.min
  • 属性:见下表
属性变更注释
pool.namedb.client.connection.pool.name

参考

数据库客户端最大连接数

指标变更

  • 名称db.client.connections.maxdb.client.connection.max
  • 属性:见下表
属性变更注释
pool.namedb.client.connection.pool.name

参考

数据库客户端待处理请求数

指标变更

  • 名称db.client.connections.pending_requestsdb.client.connection.pending_requests
  • 属性:见下表
属性变更注释
pool.namedb.client.connection.pool.name

参考

数据库客户端连接超时

指标变更

  • 名称db.client.connections.timeoutsdb.client.connection.timeouts
  • 属性:见下表
属性变更注释
pool.namedb.client.connection.pool.name

参考

数据库客户端连接创建时间

指标变更

  • 名称db.client.connections.create_timedb.client.connection.create_time
  • 单位mss
  • 属性:见下表
属性变更注释
pool.namedb.client.connection.pool.name

参考

数据库客户端连接等待时间

指标变更

  • 名称db.client.connections.wait_timedb.client.connection.wait_time
  • 单位mss
  • 属性:见下表
属性变更注释
pool.namedb.client.connection.pool.name

参考

数据库客户端连接使用时间

指标变更

  • 名称db.client.connections.use_timedb.client.connection.use_time
  • 单位mss
  • 属性:见下表
属性变更注释
pool.namedb.client.connection.pool.name

参考