客户端指标说明

使用 Java 版 Bigtable 客户端库或 Java 版 Bigtable HBase 客户端时,您可以使用客户端指标。本页面详细介绍了每个客户端指标。

如需了解如何设置和配置客户端指标,请参阅设置客户端指标。如需查看概览,请参阅客户端指标概览

指标会发布到适用的 Bigtable 集群的区域。如果 Bigtable 无法解析指标的集群(例如操作失败),则指标将发布到全局区域,并且 cluster 标记的值为 unspecified

将客户端指标与服务器端指标结合使用以进行性能调试。如需查看 Bigtable 服务器端和客户端指标的完整列表,请参阅指标

操作延迟时间

特性 说明
完整指标 bigtable.googleapis.com/client/operation_latencies
定义 与 Bigtable 操作相关的所有 RPC 尝试的总端到端延迟时间。此指标衡量从客户端到 Bigtable 再返回客户端的操作的往返次数,包括所有重试。

对于 ReadRows 请求,操作延迟时间包括每条返回消息的应用处理时间。
支持的 Bigtable 操作
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
类型 分布
可用维度
  • 项目 ID
  • 实例 ID
  • 集群
  • 可用区
  • 应用配置文件 ID
  • 方法名称
  • 最终操作状态
  • 流式操作
  • 客户端名称

尝试延迟时间

特性 说明
完整指标 bigtable.googleapis.com/client/attempt_latencies
定义 客户端远程过程调用 (RPC) 尝试的延迟时间。

在正常情况下,此值与 operation_latencies 相同。但是,如果客户端收到暂时性错误,则 operation_latencies 是所有 attempt_latencies 与指数延迟的总和。
支持的 Bigtable 操作
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
类型 分布
可用维度
  • 项目 ID
  • 实例 ID
  • 集群
  • 可用区
  • 应用配置文件 ID
  • 方法名称
  • 尝试状态
  • 流式操作
  • 客户端名称

重试次数

特性 说明
完整指标 bigtable.googleapis.com/client/retry_count
定义 记录操作需要完成的尝试次数的计数器。正常情况下,此值为空。
支持的 Bigtable 操作
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
类型 INT64
可用维度
  • 项目 ID
  • 实例 ID
  • 集群
  • 可用区
  • 应用配置文件 ID
  • 方法名称
  • 最终操作状态
  • 客户端名称

应用阻塞延迟时间

特性 说明
完整指标 bigtable.googleapis.com/client/application_blocking_latencies
定义 从客户端收到请求响应到应用读取响应的时间。此指标与 ReadRows 请求相关性最高。此指标的开始时间和停止时间取决于您发送读取请求的方式;如需了解详情,请参阅应用阻塞延迟计时器示例
支持的 Bigtable 操作
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
类型 分布
可用维度
  • 项目 ID
  • 实例 ID
  • 集群
  • 可用区
  • 应用配置文件 ID
  • 方法名称
  • 客户端名称

应用阻塞延迟时间计时器示例

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
类型 分布
可用维度
  • 项目 ID
  • 实例 ID
  • 集群
  • 可用区
  • 应用配置文件 ID
  • 方法名称
  • 最终操作状态
  • 客户端名称

服务器延迟时间

特性 说明
完整指标 bigtable.googleapis.com/client/server_latencies
定义 Google 前端接收远程过程调用 (RPC) 与发送响应的第一个字节之间的延迟时间。
支持的 Bigtable 操作
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
类型 分布
可用维度
  • 项目 ID
  • 实例 ID
  • 集群
  • 可用区
  • 应用配置文件 ID
  • 方法名称
  • 尝试状态
  • 流式操作
  • 客户端名称

连接错误数

特性 说明
完整指标 bigtable.googleapis.com/client/connectivity_error_count
定义 无法连接 Google 网络的请求数。一般情况下,此数字为 0。如果数字不为 0,则表示应用和 Google 网络之间可能存在连接问题。
支持的 Bigtable 操作
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
类型 分布
可用维度
  • 项目 ID
  • 实例 ID
  • 集群
  • 可用区
  • 应用配置文件 ID
  • 方法名称
  • 尝试状态
  • 客户端名称

客户端阻塞延迟时间

特性 说明
完整指标 bigtable.googleapis.com/client/client_blocking_latencies
定义 由于客户端在批量操作中待处理的请求过多,导致客户端阻止向服务器发送更多请求时出现的延迟。 对于 2.21.0 及更高版本,此指标还包括在 gRPC 通道上加入队列的请求的延迟时间。
支持的 Bigtable 操作
  • ReadRow for version 2.21.0 or later
  • ReadRows for version 2.21.0 or later
  • MutateRow for version 2.21.0 or later
  • MutateRows for version 2.21.0 or later
  • SampleRowKeys for version 2.21.0 or later
  • CheckAndMutateRow for version 2.21.0 or later
  • BulkReadRows
  • BulkMutateRows
类型 分布
可用维度
  • 项目 ID
  • 实例 ID
  • 集群
  • 可用区
  • 应用配置文件 ID
  • 方法名称
  • 客户端名称

后续步骤