舊版 HBase 用戶端指標

本頁說明一組已由內建用戶端指標取代的用戶端指標。本頁面會持續維護,供仍使用舊版指標的開發人員參考。

建議您使用「用戶端指標總覽」頁面所述的內建用戶端指標,而非本頁面所述的舊版指標。

啟用指標

這項資訊適用於使用舊版指標的客戶。如要啟用較新的內建用戶端指標,請參閱「設定用戶端指標」。

Java 適用的 Cloud Bigtable HBase 用戶端使用 Dropwizard Metrics 收集及回報用戶端指標。由於收集指標可能會為每個要求增加極少的延遲時間 (個位數微秒),因此預設不會啟用指標。下列各節說明如何啟用舊版用戶端指標。

使用 Log4j 報告工具

如要啟用舊版用戶端指標,最簡單的方法是在 Log4j 設定檔中加入下列程式碼:

log4j.category.com.google.cloud.bigtable.metrics=DEBUG

這項設定會啟用指標收集功能,並透過 SLF4J 記錄器記錄 Bigtable 指標。

使用其他記者

您可以藉由更新您應用程式的程式碼,使用其他類型的報告程式。舉例來說,有一個報告程式會將指標傳送至 Graphite 伺服器:

Graphite pickledGraphite = new PickledGraphite(new InetSocketAddress("graphite.example.com", 2004));
DropwizardMetricRegistry registry = new DropwizardMetricRegistry();
GraphiteReporter reporter =
    GraphiteReporter.forRegistry(registry.getRegistry())
        .convertRatesTo(TimeUnit.SECONDS)
        .convertDurationsTo(TimeUnit.MILLISECONDS)
        .filter(MetricFilter.ALL)
        .build(pickledGraphite);
reporter.start(1, TimeUnit.MINUTES);
BigtableClientMetrics.setMetricRegistry(registry);

Dropwizard Metrics 提供報告程式,適用於 JMX、主控台記錄、SLF4J 和 CSV。此外,還有各種第三方報告程式可供使用。

可用的指標

本節說明啟用舊版 HBase 用戶端指標時可用的指標。每一個指標具有下列類型之一:

  • 計數器:每一個 Java 虛擬機器 (JVM) 的累積計數。
  • 計量器:計數資訊加上總處理量資訊 (最後一分鐘、每 5 分鐘或每 15 分鐘的計數)
  • 計時器:計量器資訊加上延遲資訊 (如中位數、平均數及第 95 個百分位數)

系統只會針對每種要求類型收集特定指標。如需在 Put 要求期間收集的指標範例,請參閱「範例:Put 要求的指標」。

管道層級指標

類型 名稱 說明
計數器 google-cloud-bigtable.sessions.active 開啟的 BigtableSession 數量。每個 HBase Connection 都有單一 BigtableSession
計數器 google-cloud-bigtable.grpc.channel.active 已開啟的較低層 gRPC/Netty 頻道數量。每個 BigtableSession 都有許多 gRPC 管道。

一般 RPC 指標

類型 名稱 說明
計數器 google-cloud-bigtable.grpc.rpc.active 目前使用中的遠端程序呼叫 (RPC) 數量。
計量器 google-cloud-bigtable.grpc.rpc.performed RPC 總處理量。

資料方法指標

系統會收集下列資料方法指標:

  • ReadRows:實作取得和掃描作業。
  • MutateRow:實作放置和刪除作業。
  • MutateRows:實作大量寫入作業。
  • CheckAndMutateRow:實作 HBase 的 checkAnd* 方法。
  • ReadModifyWrite:實作 HBase 的 AppendIncrement 方法。
  • SampleRowKeys:擷取用於 MapReduce 作業的地區資訊。
類型 名稱 說明
計時器 google-cloud-bigtable.grpc.method.[METHOD_TYPE].operation.latency 個別作業所花費的時間長度。作業包括執行所有 RPC 的總延遲時間。(通常只執行一個 RPC。如果發生短暫錯誤,用戶端重試作業可能導致同一個 RPC 執行一次以上。)
計時器 google-cloud-bigtable.grpc.method.ReadRows.firstResponse.latency 接收掃描要求的第一個回應所花費的時間長度。
計量器 google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.performed 執行的重試次數。
計量器 google-cloud-bigtable.grpc.method.[METHOD_TYPE].failures 無法重試的失敗次數。
計量器 google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.exhausted 因重試失敗次數過多而中止的重試次數。

大量指標

系統會提供有關傳回多個回應之方法 (如大量寫入) 的大量指標。

類型 名稱 說明
計量器 google-cloud-bigtable.scanner.results 掃描傳回之個別資料列的總處理量。
計量器 google-cloud-bigtable.bulk-mutator.mutations.added 為每個 MutateRows 要求新增的個別突變輸送量。
計量器 google-cloud-bigtable.bulk-mutator.mutations.retried 在一段時間內重試的個別變動數量。

Bigtable 資料表指標

將 Bigtable 物件轉換為 HBase 物件可能會增加要求延遲。下列計時器可與指定的 *.operation.latency 計時器相互關聯,用來評估轉換費用。

類型 名稱 說明
計時器 google-cloud-bigtable.table.put.latency 個別Put作業所需的時間長度。 相關性: google-cloud-bigtable.grpc.method.MutateRow.operation.latency
計時器 google-cloud-bigtable.table.get.latency 個別Get作業所需的時間長度。 相關性: google-cloud-bigtable.grpc.method.ReadRows.operation.latency

示例:Put 要求的指標

啟用用戶端指標後,系統會針對未重試的成功 Put 要求收集下列指標:

  • 計數器google-cloud-bigtable.grpc.rpc.active
  • 電錶google-cloud-bigtable.grpc.rpc.performed
  • 計時器google-cloud-bigtable.grpc.method.MutateRow.operation.latency
  • 計時器google-cloud-bigtable.table.put.latency

收集這些指標會為 Put 作業增加約 1 微秒 (1/1000 毫秒)。假設作業包含約 1 KB 的資料,整體 Put 作業的速度可能為 2 至 3 毫秒。