舊版 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 的Append
和Increment
方法。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 毫秒。