DB

通用数据库属性

此组定义了在数据库上下文中描述遥测数据所使用的属性。

Attributes

StabilityValue Type描述Example Values
db.client.connection.pool.nameDevelopment字符串连接池的名称;在仪器化应用程序中是唯一的。如果连接池实现不提供名称,则仪器化应使用参数组合来使名称唯一,例如,组合属性 server.addressserver.portdb.namespace,格式为 server.address:server.port/db.namespace。生成连接池名称遵循不同模式的仪器化应记录其模式。myDataSource
db.client.connection.stateDevelopment字符串连接池中连接的状态idle
db.collection.nameStable字符串数据库中的集合(表、容器)的名称。[1]public.users; customers
db.namespaceStable字符串数据库的名称,在服务器地址和端口内完全限定。[2]customers; test.users
db.operation.batch.sizeStableint批量操作中包含的查询数量。[3]2; 3; 4
db.operation.nameStable字符串正在执行的操作或命令的名称。[4]findAndModify; HMSET; SELECT
db.operation.parameter.<key>Development字符串数据库操作参数,其中 <key> 是参数名称,属性值是参数值的字符串表示。[5]someval; 55
db.query.parameter.<key>Development字符串数据库查询参数,其中 <key> 是参数名称,属性值是参数值的字符串表示。[6]someval; 55
db.query.summaryStable字符串数据库查询的低基数摘要。[7]SELECT wuser_table; INSERT shipping_details SELECT orders; get user by id
db.query.textStable字符串正在执行的数据库查询。[8]SELECT * FROM wuser_table where username = ?; SET mykey ?
db.response.returned_rowsDevelopmentint操作返回的行数。10; 30; 1000
db.response.status_codeStable字符串数据库响应状态码。[9]102; ORA-17002; 08P01; 404
db.stored_procedure.nameStable字符串数据库中的存储过程的名称。[10]GetCustomer
db.system.nameStable字符串客户端仪器化所识别的数据库管理系统 (DBMS) 产品。[11]other_sql; softwareag.adabas; actian.ingres

[1] db.collection.name: 建议捕获应用程序提供的原始值,而不尝试进行任何大小写规范化。

当数据库系统支持包含多个集合的查询文本时,不应从 db.query.text 中提取集合名称(对于非批量操作)。

对于批量操作,如果已知各个操作具有相同的集合名称,则应使用该集合名称。

[2] db.namespace: 如果数据库系统有多个命名空间组件,应从最通用到最具体的命名空间组件进行连接,使用 | 作为组件之间的分隔符。应省略任何缺失的组件(及其关联的分隔符)。特定数据库系统的语义约定应记录 db.namespace 在该系统中的含义。建议捕获应用程序提供的原始值,而不尝试进行任何大小写规范化。

[3] db.operation.batch.size: 操作仅在包含两个或多个操作时才被视为批量操作,因此 db.operation.batch.size 绝不应为 1

[4] db.operation.name: 建议捕获应用程序提供的原始值,而不尝试进行任何大小写规范化。

当数据库系统支持包含多个操作的查询文本时,不应从 db.query.text 中提取操作名称(对于非批量操作)。

如果操作名称中可能出现空格,则应将多个连续空格规范化为单个空格。

对于批量操作,如果已知各个操作具有相同的操作名称,则应在前面加上 BATCH ,否则 db.operation.name 应为 BATCH 或其他更适用的数据库系统特定术语。

[5] db.operation.parameter.<key>: 例如,从数据库读取的最大行数(客户端)可以记录为 db.operation.parameter.max_rows 属性。

db.query.text 的参数应使用 db.query.parameter.<key> 捕获,而不是 db.operation.parameter.<key>

[6] db.query.parameter.<key>: 如果查询参数没有名称,而是仅通过索引引用,则 <key> 应该是 0 基索引。

db.query.parameter.<key> 应与 db.query.text 中存在的参数化占位符匹配。

建议捕获应用程序提供的原始值,而不尝试进行任何大小写规范化。

db.query.parameter.<key> 不应在批量操作上捕获。

示例

  • 对于查询 SELECT * FROM users where username = %s 和参数 "jdoe",属性 db.query.parameter.0 应设置为 "jdoe"

  • 对于查询 "SELECT * FROM users WHERE username = %(userName)s; 和参数 userName = "jdoe",属性 db.query.parameter.userName 应设置为 "jdoe"

[7] db.query.summary: 查询摘要描述了一类数据库查询,并且有用作分组键,尤其是在分析涉及复杂查询的数据库调用遥测数据时。

摘要可能通过仪器化钩子或其他方式提供给仪器化。如果不可用,支持查询解析的仪器化应遵循 生成查询摘要 部分来生成摘要。

[8] db.query.text: 有关清理,请参阅 db.query.text 清理。对于批量操作,如果已知各个操作具有相同的查询文本,则应使用该查询文本;否则,应将所有单个查询文本与分隔符 ; 或更适用的数据库系统特定分隔符连接起来。参数化查询文本不应被清理。尽管参数化查询文本可能包含敏感数据,但通过使用参数化查询,用户会发出一个强烈的信号,表明任何敏感数据都将作为参数值传递,并且默认捕获查询文本静态部分的可用性优势会超过风险。

[9] db.response.status_code: 数据库返回的状态码。通常它表示一个错误代码,但也可能表示部分成功、警告或区分各种成功结果。特定数据库系统的语义约定应记录 db.response.status_code 在该系统中的含义。

[10] db.stored_procedure.name: 建议捕获应用程序提供的原始值,而不尝试进行任何大小写规范化。

对于批量操作,如果已知各个操作具有相同的存储过程名称,则应使用该存储过程名称。

[11] db.system.name: 实际的 DBMS 可能与客户端识别的 DBMS 不同。例如,在使用 PostgreSQL 客户端库连接到 CockroachDB 时,db.system.name 根据仪器化的最佳知识设置为 postgresql


db.client.connection.state 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。

描述Stability
idleidleDevelopment
usedusedDevelopment

db.system.name 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。

描述Stability
actian.ingresActian IngresDevelopment
aws.dynamodbAmazon DynamoDBDevelopment
aws.redshiftAmazon RedshiftDevelopment
azure.cosmosdbAzure Cosmos DBDevelopment
cassandraApache CassandraDevelopment
clickhouseClickHouseDevelopment
cockroachdbCockroachDBDevelopment
couchbaseCouchbaseDevelopment
couchdbApache CouchDBDevelopment
derbyApache DerbyDevelopment
elasticsearchElasticsearchDevelopment
firebirdsqlFirebirdDevelopment
gcp.spannerGoogle Cloud SpannerDevelopment
geodeApache GeodeDevelopment
h2databaseH2 DatabaseDevelopment
hbaseApache HBaseDevelopment
hiveApache HiveDevelopment
hsqldbHyperSQL DatabaseDevelopment
ibm.db2IBM Db2Development
ibm.informixIBM InformixDevelopment
ibm.netezzaIBM NetezzaDevelopment
influxdbInfluxDBDevelopment
instantdbInstantDevelopment
intersystems.cacheInterSystems CachéDevelopment
mariadbMariaDBStable
memcachedMemcachedDevelopment
microsoft.sql_serverMicrosoft SQL ServerStable
mongodbMongoDBDevelopment
mysqlMySQLStable
neo4jNeo4jDevelopment
opensearchOpenSearchDevelopment
oracle.dbOracle DatabaseDevelopment
other_sql其他 SQL 数据库。仅用作回退。Development
postgresqlPostgreSQLStable
redisRedisDevelopment
sap.hanaSAP HANADevelopment
sap.maxdbSAP MaxDBDevelopment
softwareag.adabasAdabas (Adaptable Database System)Development
sqliteSQLiteDevelopment
teradataTeradataDevelopment
trinoTrinoDevelopment

已弃用的数据库属性

描述了已弃用的数据库属性。

Attributes

StabilityValue Type描述Example Values
db.cassandra.consistency_levelDeprecated
已被 cassandra.consistency.level 替换。
字符串已弃用,请使用 cassandra.consistency.levelall; each_quorum; quorum
db.cassandra.coordinator.dcDeprecated
已被 cassandra.coordinator.dc 替换。
字符串已弃用,请使用 cassandra.coordinator.dcus-west-2
db.cassandra.coordinator.idDeprecated
已被 cassandra.coordinator.id 替换。
字符串已弃用,请使用 cassandra.coordinator.idbe13faa2-8574-4d71-926d-27f16cf8a7af
db.cassandra.idempotenceDeprecated
已被 cassandra.query.idempotent 替换。
布尔值已弃用,请使用 cassandra.query.idempotent
db.cassandra.page_sizeDeprecated
已被 cassandra.page.size 替换。
int已弃用,请使用 cassandra.page.size5000
db.cassandra.speculative_execution_countDeprecated
已被 cassandra.speculative_execution.count 替换。
int已弃用,请使用 cassandra.speculative_execution.count0; 2
db.cassandra.tableDeprecated
已被 db.collection.name 替换。
字符串已弃用,请使用 db.collection.namemytable
db.connection_stringDeprecated
已被 server.addressserver.port 替换。
字符串已弃用,请使用 server.addressserver.port 属性。Server=(localdb)\v11.0;Integrated Security=true;
db.cosmosdb.client_idDeprecated
已被 azure.client.id 替换。
字符串已弃用,请使用 azure.client.id3ba4827d-4422-483f-b59f-85b74211c11d
db.cosmosdb.connection_modeDeprecated
已被 azure.cosmosdb.connection.mode 替换。
字符串已弃用,请使用 azure.cosmosdb.connection.modegateway; direct
db.cosmosdb.consistency_levelDeprecated
已被 azure.cosmosdb.consistency.level 替换。
字符串已弃用,请使用 cosmosdb.consistency.levelEventual; ConsistentPrefix; BoundedStaleness; Strong; Session
db.cosmosdb.containerDeprecated
已被 db.collection.name 替换。
字符串已弃用,请使用 db.collection.namemytable
db.cosmosdb.operation_typeDeprecated
已移除,目前没有替代品。
字符串已弃用,目前没有替代品。batch; create; delete
db.cosmosdb.regions_contactedDeprecated
已被 azure.cosmosdb.operation.contacted_regions 替换。
string[]已弃用,请使用 azure.cosmosdb.operation.contacted_regions["North Central US", "Australia East", "Australia Southeast"]
db.cosmosdb.request_chargeDeprecated
已被 azure.cosmosdb.operation.request_charge 替换。
double已弃用,请使用 azure.cosmosdb.operation.request_charge46.18; 1.0
db.cosmosdb.request_content_lengthDeprecated
已被 azure.cosmosdb.request.body.size 替换。
int已弃用,请使用 azure.cosmosdb.request.body.size
db.cosmosdb.status_codeDeprecated
请使用 db.response.status_code
int已弃用,请使用 db.response.status_code200; 201
db.cosmosdb.sub_status_codeDeprecated
已被 azure.cosmosdb.response.sub_status_code 替换。
int已弃用,请使用 azure.cosmosdb.response.sub_status_code1000; 1002
db.elasticsearch.cluster.nameDeprecated
已被 db.namespace 替换。
字符串已弃用,请使用 db.namespacee9106fc68e3044f0b1475b04bf4ffd5f
db.elasticsearch.node.nameDeprecated
已被 elasticsearch.node.name 替换。
字符串已弃用,请使用 elasticsearch.node.nameinstance-0000000001
db.elasticsearch.path_parts.<key>Deprecated
已被 db.operation.parameter 替换。
字符串已弃用,请使用 db.operation.parametertest-index; 123
db.instance.idDeprecated
已移除,目前没有通用替代品。对于 Elasticsearch,请使用 db.elasticsearch.node.name
字符串已弃用,目前没有通用替代品。对于 Elasticsearch,请使用 db.elasticsearch.node.namemysql-e26b99z.example.com
db.jdbc.driver_classnameDeprecated
已移除,目前没有替代品。
字符串已移除,目前没有替代品。org.postgresql.Driver; com.microsoft.sqlserver.jdbc.SQLServerDriver
db.mongodb.collectionDeprecated
已被 db.collection.name 替换。
字符串已弃用,请使用 db.collection.namemytable
db.mssql.instance_nameDeprecated
已移除,目前没有替代品。
字符串已弃用,SQL Server 实例现在作为 db.namespace 属性的一部分进行填充。MSSQLSERVER
db.nameDeprecated
已被 db.namespace 替换。
字符串已弃用,请使用 db.namespacecustomers; main
db.operationDeprecated
已被 db.operation.name 替换。
字符串已弃用,请使用 db.operation.namefindAndModify; HMSET; SELECT
db.redis.database_indexDeprecated
未分类。
int已弃用,请使用 db.namespace0; 1; 15
db.sql.tableDeprecated
已被 db.collection.name 替换,但前提是未从 db.query.text 中提取该值。
字符串已弃用,请使用 db.collection.namemytable
db.statementDeprecated
已被 db.query.text 替换。
字符串正在执行的数据库语句。SELECT * FROM wuser_table; SET mykey "WuValue"
db.systemDeprecated
已被 db.system.name 替换。
字符串已弃用,请使用 db.system.nameother_sql; adabas; intersystems_cache
db.userDeprecated
已移除,目前没有替代品。
字符串已弃用,目前没有替代品。readonly_user; reporting_user

db.cassandra.consistency_level 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。

描述Stability
allallDevelopment
anyanyDevelopment
each_quorumeach_quorumDevelopment
local_onelocal_oneDevelopment
local_quorumlocal_quorumDevelopment
local_seriallocal_serialDevelopment
oneoneDevelopment
quorumquorumDevelopment
serialserialDevelopment
threethreeDevelopment
twotwoDevelopment

db.cosmosdb.connection_mode 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。

描述Stability
direct直接连接。Development
gateway网关 (HTTP) 连接。Development

db.cosmosdb.consistency_level 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。

描述Stability
BoundedStalenessbounded_stalenessDevelopment
ConsistentPrefixconsistent_prefixDevelopment
EventualeventualDevelopment
SessionsessionDevelopment
StrongstrongDevelopment

db.cosmosdb.operation_type 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。

描述Stability
batchbatchDevelopment
createcreateDevelopment
deletedeleteDevelopment
executeexecuteDevelopment
execute_javascriptexecute_javascriptDevelopment
headheadDevelopment
head_feedhead_feedDevelopment
invalidinvalidDevelopment
patchpatchDevelopment
queryqueryDevelopment
query_planquery_planDevelopment
readreadDevelopment
read_feedread_feedDevelopment
replacereplaceDevelopment
upsertupsertDevelopment

db.system 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。

描述Stability
adabasAdabas (Adaptable Database System)Development
cassandraApache CassandraDevelopment
clickhouseClickHouseDevelopment
cockroachdbCockroachDBDevelopment
cosmosdbMicrosoft Azure Cosmos DBDevelopment
couchbaseCouchbaseDevelopment
couchdbCouchDBDevelopment
db2IBM Db2Development
derbyApache DerbyDevelopment
dynamodbAmazon DynamoDBDevelopment
edbEnterpriseDBDevelopment
elasticsearchElasticsearchDevelopment
filemakerFileMakerDevelopment
firebirdFirebirdDevelopment
geodeApache GeodeDevelopment
h2H2Development
hanadbSAP HANADevelopment
hbaseApache HBaseDevelopment
hiveApache HiveDevelopment
hsqldbHyperSQL DataBaseDevelopment
influxdbInfluxDBDevelopment
informixInformixDevelopment
ingresIngresDevelopment
instantdbInstantDBDevelopment
interbaseInterBaseDevelopment
intersystems_cacheInterSystems CachéDevelopment
mariadbMariaDBDevelopment
maxdbSAP MaxDBDevelopment
memcachedMemcachedDevelopment
mongodbMongoDBDevelopment
mssqlMicrosoft SQL ServerDevelopment
mysqlMySQLDevelopment
neo4jNeo4jDevelopment
netezzaNetezzaDevelopment
opensearchOpenSearchDevelopment
oracleOracle DatabaseDevelopment
other_sql其他 SQL 数据库。仅用作回退。请参阅备注。Development
pervasivePervasive PSQLDevelopment
pointbasePointBaseDevelopment
postgresqlPostgreSQLDevelopment
progressProgress DatabaseDevelopment
redisRedisDevelopment
redshiftAmazon RedshiftDevelopment
spannerCloud SpannerDevelopment
sqliteSQLiteDevelopment
sybaseSybaseDevelopment
teradataTeradataDevelopment
trinoTrinoDevelopment
verticaVerticaDevelopment

已弃用的数据库指标

描述已弃用的 db 指标属性。

Attributes

StabilityValue Type描述Example Values
db.client.connections.pool.nameDeprecated
已被 db.client.connection.pool.name 替换。
字符串已弃用,请使用 db.client.connection.pool.namemyDataSource
db.client.connections.stateDeprecated
已被 db.client.connection.state 替换。
字符串已弃用,请使用 db.client.connection.stateidle
pool.nameDeprecated
已被 db.client.connection.pool.name 替换。
字符串已弃用,请使用 db.client.connection.pool.namemyDataSource
stateDeprecated
已被 db.client.connection.state 替换。
字符串已弃用,请使用 db.client.connection.stateidle

db.client.connections.state 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。

描述Stability
idleidleDevelopment
usedusedDevelopment

state 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。

描述Stability
idleidleDevelopment
usedusedDevelopment