DB
通用数据库属性
此组定义了在数据库上下文中描述遥测数据所使用的属性。
Attributes
| 键 | Stability | Value Type | 描述 | Example Values |
|---|---|---|---|---|
db.client.connection.pool.name | 字符串 | 连接池的名称;在仪器化应用程序中是唯一的。如果连接池实现不提供名称,则仪器化应使用参数组合来使名称唯一,例如,组合属性 server.address、server.port 和 db.namespace,格式为 server.address:server.port/db.namespace。生成连接池名称遵循不同模式的仪器化应记录其模式。 | myDataSource | |
db.client.connection.state | 字符串 | 连接池中连接的状态 | idle | |
db.collection.name | 字符串 | 数据库中的集合(表、容器)的名称。[1] | public.users; customers | |
db.namespace | 字符串 | 数据库的名称,在服务器地址和端口内完全限定。[2] | customers; test.users | |
db.operation.batch.size | int | 批量操作中包含的查询数量。[3] | 2; 3; 4 | |
db.operation.name | 字符串 | 正在执行的操作或命令的名称。[4] | findAndModify; HMSET; SELECT | |
db.operation.parameter.<key> | 字符串 | 数据库操作参数,其中 <key> 是参数名称,属性值是参数值的字符串表示。[5] | someval; 55 | |
db.query.parameter.<key> | 字符串 | 数据库查询参数,其中 <key> 是参数名称,属性值是参数值的字符串表示。[6] | someval; 55 | |
db.query.summary | 字符串 | 数据库查询的低基数摘要。[7] | SELECT wuser_table; INSERT shipping_details SELECT orders; get user by id | |
db.query.text | 字符串 | 正在执行的数据库查询。[8] | SELECT * FROM wuser_table where username = ?; SET mykey ? | |
db.response.returned_rows | int | 操作返回的行数。 | 10; 30; 1000 | |
db.response.status_code | 字符串 | 数据库响应状态码。[9] | 102; ORA-17002; 08P01; 404 | |
db.stored_procedure.name | 字符串 | 数据库中的存储过程的名称。[10] | GetCustomer | |
db.system.name | 字符串 | 客户端仪器化所识别的数据库管理系统 (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 |
|---|---|---|
idle | idle | |
used | used |
db.system.name 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
actian.ingres | Actian Ingres | |
aws.dynamodb | Amazon DynamoDB | |
aws.redshift | Amazon Redshift | |
azure.cosmosdb | Azure Cosmos DB | |
cassandra | Apache Cassandra | |
clickhouse | ClickHouse | |
cockroachdb | CockroachDB | |
couchbase | Couchbase | |
couchdb | Apache CouchDB | |
derby | Apache Derby | |
elasticsearch | Elasticsearch | |
firebirdsql | Firebird | |
gcp.spanner | Google Cloud Spanner | |
geode | Apache Geode | |
h2database | H2 Database | |
hbase | Apache HBase | |
hive | Apache Hive | |
hsqldb | HyperSQL Database | |
ibm.db2 | IBM Db2 | |
ibm.informix | IBM Informix | |
ibm.netezza | IBM Netezza | |
influxdb | InfluxDB | |
instantdb | Instant | |
intersystems.cache | InterSystems Caché | |
mariadb | MariaDB | |
memcached | Memcached | |
microsoft.sql_server | Microsoft SQL Server | |
mongodb | MongoDB | |
mysql | MySQL | |
neo4j | Neo4j | |
opensearch | OpenSearch | |
oracle.db | Oracle Database | |
other_sql | 其他 SQL 数据库。仅用作回退。 | |
postgresql | PostgreSQL | |
redis | Redis | |
sap.hana | SAP HANA | |
sap.maxdb | SAP MaxDB | |
softwareag.adabas | Adabas (Adaptable Database System) | |
sqlite | SQLite | |
teradata | Teradata | |
trino | Trino |
已弃用的数据库属性
描述了已弃用的数据库属性。
Attributes
| 键 | Stability | Value Type | 描述 | Example Values |
|---|---|---|---|---|
db.cassandra.consistency_level | 已被 cassandra.consistency.level 替换。 | 字符串 | 已弃用,请使用 cassandra.consistency.level。 | all; each_quorum; quorum |
db.cassandra.coordinator.dc | 已被 cassandra.coordinator.dc 替换。 | 字符串 | 已弃用,请使用 cassandra.coordinator.dc。 | us-west-2 |
db.cassandra.coordinator.id | 已被 cassandra.coordinator.id 替换。 | 字符串 | 已弃用,请使用 cassandra.coordinator.id。 | be13faa2-8574-4d71-926d-27f16cf8a7af |
db.cassandra.idempotence | 已被 cassandra.query.idempotent 替换。 | 布尔值 | 已弃用,请使用 cassandra.query.idempotent。 | |
db.cassandra.page_size | 已被 cassandra.page.size 替换。 | int | 已弃用,请使用 cassandra.page.size。 | 5000 |
db.cassandra.speculative_execution_count | 已被 cassandra.speculative_execution.count 替换。 | int | 已弃用,请使用 cassandra.speculative_execution.count。 | 0; 2 |
db.cassandra.table | 已被 db.collection.name 替换。 | 字符串 | 已弃用,请使用 db.collection.name。 | mytable |
db.connection_string | 已被 server.address 和 server.port 替换。 | 字符串 | 已弃用,请使用 server.address、server.port 属性。 | Server=(localdb)\v11.0;Integrated Security=true; |
db.cosmosdb.client_id | 已被 azure.client.id 替换。 | 字符串 | 已弃用,请使用 azure.client.id。 | 3ba4827d-4422-483f-b59f-85b74211c11d |
db.cosmosdb.connection_mode | 已被 azure.cosmosdb.connection.mode 替换。 | 字符串 | 已弃用,请使用 azure.cosmosdb.connection.mode。 | gateway; direct |
db.cosmosdb.consistency_level | 已被 azure.cosmosdb.consistency.level 替换。 | 字符串 | 已弃用,请使用 cosmosdb.consistency.level。 | Eventual; ConsistentPrefix; BoundedStaleness; Strong; Session |
db.cosmosdb.container | 已被 db.collection.name 替换。 | 字符串 | 已弃用,请使用 db.collection.name。 | mytable |
db.cosmosdb.operation_type | 已移除,目前没有替代品。 | 字符串 | 已弃用,目前没有替代品。 | batch; create; delete |
db.cosmosdb.regions_contacted | 已被 azure.cosmosdb.operation.contacted_regions 替换。 | string[] | 已弃用,请使用 azure.cosmosdb.operation.contacted_regions。 | ["North Central US", "Australia East", "Australia Southeast"] |
db.cosmosdb.request_charge | 已被 azure.cosmosdb.operation.request_charge 替换。 | double | 已弃用,请使用 azure.cosmosdb.operation.request_charge。 | 46.18; 1.0 |
db.cosmosdb.request_content_length | 已被 azure.cosmosdb.request.body.size 替换。 | int | 已弃用,请使用 azure.cosmosdb.request.body.size。 | |
db.cosmosdb.status_code | 请使用 db.response.status_code。 | int | 已弃用,请使用 db.response.status_code。 | 200; 201 |
db.cosmosdb.sub_status_code | 已被 azure.cosmosdb.response.sub_status_code 替换。 | int | 已弃用,请使用 azure.cosmosdb.response.sub_status_code。 | 1000; 1002 |
db.elasticsearch.cluster.name | 已被 db.namespace 替换。 | 字符串 | 已弃用,请使用 db.namespace。 | e9106fc68e3044f0b1475b04bf4ffd5f |
db.elasticsearch.node.name | 已被 elasticsearch.node.name 替换。 | 字符串 | 已弃用,请使用 elasticsearch.node.name。 | instance-0000000001 |
db.elasticsearch.path_parts.<key> | 已被 db.operation.parameter 替换。 | 字符串 | 已弃用,请使用 db.operation.parameter。 | test-index; 123 |
db.instance.id | 已移除,目前没有通用替代品。对于 Elasticsearch,请使用 db.elasticsearch.node.name。 | 字符串 | 已弃用,目前没有通用替代品。对于 Elasticsearch,请使用 db.elasticsearch.node.name。 | mysql-e26b99z.example.com |
db.jdbc.driver_classname | 已移除,目前没有替代品。 | 字符串 | 已移除,目前没有替代品。 | org.postgresql.Driver; com.microsoft.sqlserver.jdbc.SQLServerDriver |
db.mongodb.collection | 已被 db.collection.name 替换。 | 字符串 | 已弃用,请使用 db.collection.name。 | mytable |
db.mssql.instance_name | 已移除,目前没有替代品。 | 字符串 | 已弃用,SQL Server 实例现在作为 db.namespace 属性的一部分进行填充。 | MSSQLSERVER |
db.name | 已被 db.namespace 替换。 | 字符串 | 已弃用,请使用 db.namespace。 | customers; main |
db.operation | 已被 db.operation.name 替换。 | 字符串 | 已弃用,请使用 db.operation.name。 | findAndModify; HMSET; SELECT |
db.redis.database_index | 未分类。 | int | 已弃用,请使用 db.namespace。 | 0; 1; 15 |
db.sql.table | 已被 db.collection.name 替换,但前提是未从 db.query.text 中提取该值。 | 字符串 | 已弃用,请使用 db.collection.name。 | mytable |
db.statement | 已被 db.query.text 替换。 | 字符串 | 正在执行的数据库语句。 | SELECT * FROM wuser_table; SET mykey "WuValue" |
db.system | 已被 db.system.name 替换。 | 字符串 | 已弃用,请使用 db.system.name。 | other_sql; adabas; intersystems_cache |
db.user | 已移除,目前没有替代品。 | 字符串 | 已弃用,目前没有替代品。 | readonly_user; reporting_user |
db.cassandra.consistency_level 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
all | all | |
any | any | |
each_quorum | each_quorum | |
local_one | local_one | |
local_quorum | local_quorum | |
local_serial | local_serial | |
one | one | |
quorum | quorum | |
serial | serial | |
three | three | |
two | two |
db.cosmosdb.connection_mode 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
direct | 直接连接。 | |
gateway | 网关 (HTTP) 连接。 |
db.cosmosdb.consistency_level 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
BoundedStaleness | bounded_staleness | |
ConsistentPrefix | consistent_prefix | |
Eventual | eventual | |
Session | session | |
Strong | strong |
db.cosmosdb.operation_type 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
batch | batch | |
create | create | |
delete | delete | |
execute | execute | |
execute_javascript | execute_javascript | |
head | head | |
head_feed | head_feed | |
invalid | invalid | |
patch | patch | |
query | query | |
query_plan | query_plan | |
read | read | |
read_feed | read_feed | |
replace | replace | |
upsert | upsert |
db.system 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
adabas | Adabas (Adaptable Database System) | |
cassandra | Apache Cassandra | |
clickhouse | ClickHouse | |
cockroachdb | CockroachDB | |
cosmosdb | Microsoft Azure Cosmos DB | |
couchbase | Couchbase | |
couchdb | CouchDB | |
db2 | IBM Db2 | |
derby | Apache Derby | |
dynamodb | Amazon DynamoDB | |
edb | EnterpriseDB | |
elasticsearch | Elasticsearch | |
filemaker | FileMaker | |
firebird | Firebird | |
geode | Apache Geode | |
h2 | H2 | |
hanadb | SAP HANA | |
hbase | Apache HBase | |
hive | Apache Hive | |
hsqldb | HyperSQL DataBase | |
influxdb | InfluxDB | |
informix | Informix | |
ingres | Ingres | |
instantdb | InstantDB | |
interbase | InterBase | |
intersystems_cache | InterSystems Caché | |
mariadb | MariaDB | |
maxdb | SAP MaxDB | |
memcached | Memcached | |
mongodb | MongoDB | |
mssql | Microsoft SQL Server | |
mysql | MySQL | |
neo4j | Neo4j | |
netezza | Netezza | |
opensearch | OpenSearch | |
oracle | Oracle Database | |
other_sql | 其他 SQL 数据库。仅用作回退。请参阅备注。 | |
pervasive | Pervasive PSQL | |
pointbase | PointBase | |
postgresql | PostgreSQL | |
progress | Progress Database | |
redis | Redis | |
redshift | Amazon Redshift | |
spanner | Cloud Spanner | |
sqlite | SQLite | |
sybase | Sybase | |
teradata | Teradata | |
trino | Trino | |
vertica | Vertica |
已弃用的数据库指标
描述已弃用的 db 指标属性。
Attributes
| 键 | Stability | Value Type | 描述 | Example Values |
|---|---|---|---|---|
db.client.connections.pool.name | 已被 db.client.connection.pool.name 替换。 | 字符串 | 已弃用,请使用 db.client.connection.pool.name。 | myDataSource |
db.client.connections.state | 已被 db.client.connection.state 替换。 | 字符串 | 已弃用,请使用 db.client.connection.state。 | idle |
pool.name | 已被 db.client.connection.pool.name 替换。 | 字符串 | 已弃用,请使用 db.client.connection.pool.name。 | myDataSource |
state | 已被 db.client.connection.state 替换。 | 字符串 | 已弃用,请使用 db.client.connection.state。 | idle |
db.client.connections.state 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
idle | idle | |
used | used |
state 具有以下常用值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
idle | idle | |
used | used |