客户端指标说明
使用 Java 版 Bigtable 客户端库或 Java 版 Bigtable HBase 客户端时,您可以使用客户端指标。本页面详细介绍了每个客户端指标。
如需了解如何设置和配置客户端指标,请参阅设置客户端指标。如需查看概览,请参阅客户端指标概览。
指标会发布到适用的 Bigtable 集群的区域。如果 Bigtable 无法解析指标的集群(例如操作失败),则指标将发布到全局区域,并且 cluster
标记的值为 unspecified
。
将客户端指标与服务器端指标结合使用以进行性能调试。如需查看 Bigtable 服务器端和客户端指标的完整列表,请参阅指标。
操作延迟时间
特性 | 说明 |
---|---|
完整指标 | bigtable.googleapis.com/client/operation_latencies |
定义 | 与 Bigtable 操作相关的所有 RPC 尝试的总端到端延迟时间。此指标衡量从客户端到 Bigtable 再返回客户端的操作的往返次数,包括所有重试。 对于 ReadRows 请求,操作延迟时间包括每条返回消息的应用处理时间。 |
支持的 Bigtable 操作 |
|
类型 | 分布 |
可用维度 |
|
尝试延迟时间
特性 | 说明 |
---|---|
完整指标 | bigtable.googleapis.com/client/attempt_latencies |
定义 | 客户端远程过程调用 (RPC) 尝试的延迟时间。 在正常情况下,此值与 operation_latencies 相同。但是,如果客户端收到暂时性错误,则 operation_latencies 是所有 attempt_latencies 与指数延迟的总和。 |
支持的 Bigtable 操作 |
|
类型 | 分布 |
可用维度 |
|
重试次数
特性 | 说明 |
---|---|
完整指标 | bigtable.googleapis.com/client/retry_count |
定义 | 记录操作需要完成的尝试次数的计数器。正常情况下,此值为空。 |
支持的 Bigtable 操作 |
|
类型 | INT64 |
可用维度 |
|
应用阻塞延迟时间
特性 | 说明 |
---|---|
完整指标 | bigtable.googleapis.com/client/application_blocking_latencies |
定义 | 从客户端收到请求响应到应用读取响应的时间。此指标与 ReadRows 请求相关性最高。此指标的开始时间和停止时间取决于您发送读取请求的方式;如需了解详情,请参阅应用阻塞延迟计时器示例。 |
支持的 Bigtable 操作 |
|
类型 | 分布 |
可用维度 |
|
应用阻塞延迟时间计时器示例
ReadRows
请求通常以三种方式之一发送:迭代、异步或未来调用。以下示例演示了每种类型的 ReadRows
操作的应用阻塞延迟时间的启动和停止时间。
迭代
long totaLatency=0;
ServerStream<Row> stream = bigtableDataClient.readRows(query);
for (Row row : stream) {
timer.start();
// Do something with row
timer.stop();
totalLatency += timer.elapsed();
}
异步
client.readRowsAsync(query, new ResponseObserver<Row>() {
@Override
public void onStart(StreamController streamController) {
}
@Override
public void onResponse(Row row) {
timer.start();
// Do something with the row
timer.stop();
totalLatency += timer.elapsed();
}
@Override
public void onError(Throwable throwable) {
// Do something with the error
}
@Override
public void onComplete() {
}
});
未来调用
对于此类 ReadRows
请求,应用阻塞延迟时间大约为 0(无计时器)。
List<Row> rows = bigtableDataClient.readRowsCallable().all().call(query);
首次响应延迟时间
特性 | 说明 |
---|---|
完整指标 | bigtable.googleapis.com/client/first_response_latencies |
定义 | 客户端发送请求后收到响应第一行的延迟时间。 |
支持的 Bigtable 操作 | ReadRows |
类型 | 分布 |
可用维度 |
|
服务器延迟时间
特性 | 说明 |
---|---|
完整指标 | bigtable.googleapis.com/client/server_latencies |
定义 | Google 前端接收远程过程调用 (RPC) 与发送响应的第一个字节之间的延迟时间。 |
支持的 Bigtable 操作 |
|
类型 | 分布 |
可用维度 |
|
连接错误数
特性 | 说明 |
---|---|
完整指标 | bigtable.googleapis.com/client/connectivity_error_count |
定义 | 无法连接 Google 网络的请求数。一般情况下,此数字为 0。如果数字不为 0,则表示应用和 Google 网络之间可能存在连接问题。 |
支持的 Bigtable 操作 |
|
类型 | 分布 |
可用维度 |
|
客户端阻塞延迟时间
特性 | 说明 |
---|---|
完整指标 | bigtable.googleapis.com/client/client_blocking_latencies |
定义 | 由于客户端在批量操作中待处理的请求过多,导致客户端阻止向服务器发送更多请求时出现的延迟。 对于 2.21.0 及更高版本,此指标还包括在 gRPC 通道上加入队列的请求的延迟时间。 |
支持的 Bigtable 操作 |
|
类型 | 分布 |
可用维度 |
|