用戶端指標說明
多個 Bigtable 用戶端程式庫都提供用戶端指標。本頁面詳細說明各項用戶端指標。
如果是 Go、C++ 和 Node.js,系統預設會在支援的版本中啟用這些指標。如果是 Java 用戶端程式庫,指標會視用戶端程式庫版本而定,以預設或選用功能的形式提供。如需特定版本的相關資訊,請參閱各項指標的「用戶端程式庫支援」部分。
如要瞭解如何設定及配置用戶端指標,請參閱「設定用戶端指標」。如需總覽,請參閱「用戶端指標總覽」。
指標會發布至所屬 Bigtable 叢集的區域。如果 Bigtable 無法解析指標的叢集 (例如作業失敗時),指標會發布至全球區域,且 cluster 標記的值為 unspecified。
搭配使用用戶端和伺服器端指標,進行效能偵錯。如需 Bigtable 伺服器端和用戶端指標的完整清單,請參閱「指標」。
作業延遲
下表列出作業延遲指標的屬性和詳細資料。
| 屬性 | 說明 |
|---|---|
| 完整指標 | bigtable.googleapis.com/client/operation_latencies |
| 定義 | 針對某項 Bigtable 作業,所有相關聯遠端程序呼叫 (RPC) 嘗試的端對端總延遲時間。這項指標會測量作業從用戶端到 Bigtable 再回到用戶端的往返時間,包括所有重試情況。 以 ReadRows 要求來說,作業延遲時間包含應用程式處理各則訊息並傳回的時間。 |
| 支援的 Bigtable 作業 |
|
| 類型 | 分布 |
| 可用維度 |
|
用戶端程式庫支援
下表列出使用作業延遲時間指標時,用戶端程式庫的最低版本需求。
| 語言 | 客戶 | 版本 (選擇啟用) | 版本 (預設為啟用) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.27.0 | ||
| Node.js | 6.2.0 (ReadRows 和 ReadRow 作業)、6.3.0 (其他作業) |
||
| C++ | 2.40.0 | ||
嘗試延遲時間
下表列出嘗試延遲指標的屬性和詳細資料。
| 屬性 | 說明 |
|---|---|
| 完整指標 | bigtable.googleapis.com/client/attempt_latencies |
| 定義 | 用戶端遠端程序呼叫 (RPC) 嘗試的延遲時間。 一般來說,這個值與 operation_latencies相同。不過,如果用戶端收到暫時性錯誤,operation_latencies 則是所有 attempt_latencies 和指數延遲時間的總和。 |
| 支援的 Bigtable 作業 |
|
| 類型 | 分布 |
| 可用維度 |
|
用戶端程式庫支援
下表列出使用嘗試延遲指標時,用戶端程式庫的最低版本。
| 語言 | 客戶 | 版本 (選擇啟用) | 版本 (預設為啟用) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.27.0 | ||
| Node.js | 6.2.0 (ReadRows 和 ReadRow 作業)、6.3.0 (其他作業) |
||
| C++ | 2.40.0 | ||
重試次數
下表列出重試次數指標的屬性和詳細資料。
| 屬性 | 說明 |
|---|---|
| 完整指標 | bigtable.googleapis.com/client/retry_count |
| 定義 | 這個計數器會記錄作業完成所需的嘗試次數。一般來說,這個值為空白。 |
| 支援的 Bigtable 作業 |
|
| 類型 | INT64 |
| 可用維度 |
|
用戶端程式庫支援
下表列出使用重試次數指標所需的最低用戶端程式庫版本。
| 語言 | 客戶 | 版本 (選擇啟用) | 版本 (預設為啟用) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.27.0 | ||
| Node.js | 6.2.0 (ReadRows 和 ReadRow 作業)、6.3.0 (其他作業) |
||
| C++ | 2.40.0 | ||
應用程式封鎖延遲時間
下表列出應用程式封鎖延遲時間指標的屬性和詳細資料。
| 屬性 | 說明 |
|---|---|
| 完整指標 | bigtable.googleapis.com/client/application_blocking_latencies |
| 定義 | 從用戶端收到要求的回應,到應用程式讀取回應為止的時間。這項指標與 ReadRows 要求最相關。這項指標的開始和停止時間取決於您傳送讀取要求的方式;詳情請參閱應用程式封鎖延遲時間計時器範例。
|
| 支援的 Bigtable 作業 |
|
| 類型 | 分布 |
| 可用維度 |
|
用戶端程式庫支援
下表列出使用應用程式封鎖延遲時間指標時,所需的最低用戶端程式庫版本。
| 語言 | 客戶 | 版本 (選擇啟用) | 版本 (預設為啟用) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.38.0 | ||
| Node.js | 6.3.0 (ReadRows 作業) |
||
| C++ | 2.41.0 | ||
應用程式封鎖延遲計時器範例
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 要求應不會造成應用程式封鎖延遲 (沒有計時器)。
List<Row> rows = bigtableDataClient.readRowsCallable().all().call(query);
首次回應延遲
下表列出首次回應延遲指標的屬性和詳細資料。
| 屬性 | 說明 |
|---|---|
| 完整指標 | bigtable.googleapis.com/client/first_response_latencies |
| 定義 | 從用戶端傳送要求到收到回應的第一列資料,這段時間的延遲。 |
| 支援的 Bigtable 作業 | ReadRows |
| 類型 | 分布 |
| 可用維度 |
|
用戶端程式庫支援
下表列出使用首次回應延遲指標時,用戶端程式庫的最低版本。
| 語言 | 客戶 | 版本 (選擇啟用) | 版本 (預設為啟用) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.27.0 | ||
| Node.js | 6.2.0 (ReadRows 和 ReadRow 作業)、6.3.0 (其他作業) |
||
| C++ | 2.40.0 | ||
伺服器延遲
下表列出伺服器延遲指標的屬性和詳細資料。
| 屬性 | 說明 |
|---|---|
| 完整指標 | bigtable.googleapis.com/client/server_latencies |
| 定義 | Google 前端收到 RPC 到傳送回應的第一個位元組之間,所經過的延遲時間。 |
| 支援的 Bigtable 作業 |
|
| 類型 | 發行 |
| 可用維度 |
|
用戶端程式庫支援
下表列出使用伺服器延遲時間指標所需的最低用戶端程式庫版本。
| 語言 | 客戶 | 版本 (選擇啟用) | 版本 (預設為啟用) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.27.0 | ||
| Node.js | 6.2.0 (ReadRows 和 ReadRow 作業)、6.3.0 (其他作業) |
||
| C++ | 2.41.0 | ||
連線錯誤數
下表列出連線錯誤計數指標的屬性和詳細資料。
| 屬性 | 說明 |
|---|---|
| 完整指標 | bigtable.googleapis.com/client/connectivity_error_count |
| 定義 | 無法傳送至 Google 聯播網的請求數。在正常情況下,這個數字為 0。如果不是 0,可能表示應用程式與 Google 網路之間有連線問題。 |
| 支援的 Bigtable 作業 |
|
| 類型 | 發行 |
| 可用維度 |
|
用戶端程式庫支援
下表列出使用連線錯誤計數指標所需的最低用戶端程式庫版本。
| 語言 | 客戶 | 版本 (選擇啟用) | 版本 (預設為啟用) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 | |
| Go | 1.38.0 | ||
| Node.js | 6.2.0 (ReadRows 和 ReadRow 作業)、6.3.0 (其他作業) |
||
| C++ | 2.41.0 | ||
用戶端封鎖延遲時間
下表列出用戶端封鎖延遲指標的屬性和詳細資料。
| 屬性 | 說明 |
|---|---|
| 完整指標 | bigtable.googleapis.com/client/client_blocking_latencies |
| 定義 | 如果大量作業中有太多待處理要求,用戶端會封鎖傳送至伺服器的要求,導致延遲。如果是 2.21.0 以上版本,這項指標也會納入用戶端建立管道時,在 gRPC 管道中排隊等候的要求延遲時間。 |
| 支援的 Bigtable 作業 |
|
| 類型 | 發行 |
| 可用維度 |
|
用戶端程式庫支援
下表列出使用用戶端封鎖延遲時間指標所需的最低 Java 用戶端程式庫版本。
| 語言 | 客戶 | 版本 (選擇啟用) | 版本 (預設為啟用) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 |
後續步驟
- 查看所有指標。Google Cloud
- 安裝及設定用戶端指標。