HBase 客户端操作的语义约定
状态: 开发中
Span
状态:
代表对 HBase 数据库调用的 span 应遵循通用的数据库客户端 span 的语义约定。
db.system.name 必须设置为 "hbase",并且应在创建 span 时提供。
span 名称应遵循通用的 数据库 span 名称约定。
**Span 类型**应为 CLIENT。
**Span 状态**应遵循 记录错误文档。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
db.operation.name | 必需 | 字符串 | 正在执行的操作或命令的名称。[1] | findAndModify; HMSET; SELECT | |
db.collection.name | 条件必需 如果适用。 | 字符串 | HBase 表的名称。 [2] | mytable;ns:table | |
db.namespace | 条件必需 如果适用。 | 字符串 | HBase 的命名空间。 [3] | mynamespace | |
db.response.status_code | 有条件要求 如果收到了响应。 | 字符串 | 协议特定的响应代码,记录为字符串。 [4] | 200; 409; 14 | |
error.type | 有条件必需 仅在操作失败时。 | 字符串 | 描述操作结束时的一类错误。[5] | timeout;java.net.UnknownHostException;server_certificate_invalid;500 | |
server.port | 有条件地必需 [6] | int | 服务器端口号。[7] | 80; 8080; 443 | |
db.operation.batch.size | 推荐 | int | 批量操作中包含的查询数量。 [8] | 2; 3; 4 | |
server.address | 推荐 | 字符串 | 数据库主机名。 [9] | example.com;10.1.2.80;/tmp/my.sock |
[1] db.operation.name:建议在不尝试进行任何大小写规范化的情况下,捕获应用程序提供的原始值。
对于批量操作,如果单个操作已知具有相同的操作名称,则应使用以 BATCH 为前缀的操作名称;否则,db.operation.name 应为 BATCH。
[2] db.collection.name:建议在不尝试进行任何大小写规范化的情况下,捕获应用程序提供的原始值。如果表名包含命名空间,则 db.collection.name 应设置为完整的表名。
[3] db.namespace:如果数据库系统有多个命名空间组件,则应从最通用到最具体的命名空间组件进行连接,使用 | 作为组件之间的分隔符。应省略任何缺失的组件(及其关联的分隔符)。特定数据库系统的语义约定应说明 db.namespace 在该系统中的含义。建议在不尝试进行任何大小写规范化的情况下,捕获应用程序提供的原始值。
[4] db.response.status_code:数据库返回的状态码。通常表示错误码,但也可以表示部分成功、警告或区分各种成功的执行结果。特定数据库系统的语义约定应说明 db.response.status_code 在该系统中的含义。
[5] error.type: error.type 应与数据库或客户端库返回的 db.response.status_code 或发生的异常的标准名称匹配。使用标准异常类型名称时,仪器应尽最大努力报告最相关的类型。例如,如果原始异常被包装在通用异常中,则应优先选择原始异常。仪器应记录 error.type 的填充方式。
[6] server.port: 如果使用的端口不是此 DBMS 的默认端口,并且 server.address 已设置。
[7] server.port: 当从客户端观察到并且通过中间件通信时,server.port 应代表任何中间件(例如代理)之后的服务器端口,如果可用。
[8] db.operation.batch.size:只有当操作包含两个或更多操作时,才将其视为批量操作,因此 db.operation.batch.size 绝不应为 1。
[9] server.address: 当从客户端观察并与中间件通信时,server.address 应表示任何中间件(例如代理)之后的服务器地址,如果可用。
以下属性对于做出采样决策可能很重要,并且应在跨度创建时提供(如果提供的话)
error.type 具有以下已知值列表。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
_OTHER | 当检测不到自定义值时使用的回退错误值。 |
指标
HBase 客户端的实现应根据通用的数据库客户端指标的语义约定来收集指标。
db.system.name 必须设置为 "hbase"。