回報用戶端指標

Cloud Bigtable 的 Java 版 HBase 用戶端可以收集用戶端指標,讓您能夠監控 Cloud Bigtable 的效能。其他的 Cloud Bigtable 用戶端程式庫不提供用戶端指標。本頁說明如何在 Java 版 HBase 用戶端中啟用用戶端指標,並列出可用的指標。

啟用指標

Cloud Bigtable 的 Java 版 HBase 用戶端使用 Dropwizard Metrics 收集及回報用戶端指標。由於收集指標可導致每一個要求的延遲微量增加 (在個位數微秒以內),所以預設不會啟用指標。下列各節說明如何啟用用戶端指標。

使用 Log4j 報告程式

啟用指標的最簡單方式就是將下列這行字加到 Log4j 設定檔中:

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

這項配置設定會開啟指標收集功能,並使用 SLF4J 記錄器記錄 Cloud 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。此外,還有各種第三方報告程式可供使用。

可用的指標

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

  • 計數器:每一個 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 在一段時間內重試的個別變動數量。

Cloud Bigtable 資料表指標

將 Cloud 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 KB 的資料,整體 Put 作業的速度可能為 2 至 3 毫秒。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Bigtable 說明文件