Client-side metrics descriptions

Client-side metrics are available when you use the Bigtable client library for Java or the Bigtable HBase client for Java. This page provides a detailed description of each client-side metric.

To learn how to set up and configure client-side metrics, see Set up client-side metrics . For an overview, see the Client-side metrics overview .

Metrics are published to the region of the Bigtable cluster that they are for. If Bigtable can't resolve the cluster for a metric, like when an operation fails, then the metric is published to the global region and the cluster tag has the value unspecified .

Use client-side metrics in conjunction with server-side metrics for performance debugging. For a comprehensive list of Bigtable server-side and client-side metrics, see Metrics .

Operation latencies

Attribute
Description
Full metric
bigtable.googleapis.com/client/operation_latencies
Definition
The total end-to-end latency across all RPC attempts associated with a Bigtable operation. This metric measures an operation's round trip from the client to Bigtable and back to the client and includes all retries.

For ReadRows requests, the operation latencies include the application processing time for each returned message.
Supported Bigtable operations
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Type
Distribution
Available dimensions
  • project ID
  • instance ID
  • table
  • cluster
  • zone
  • app profile ID
  • method name
  • final operation status
  • streaming operation
  • client name

Attempt latencies

Attribute
Description
Full metric
bigtable.googleapis.com/client/attempt_latencies
Definition
The latencies of a client RPC attempt.

Under normal circumstances, this value is identical to operation_latencies . If the client receives transient errors, however, then operation_latencies is the sum of all attempt_latencies and the exponential delays.
Supported Bigtable operations
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Type
Distribution
Available dimensions
  • project ID
  • instance ID
  • table
  • cluster
  • zone
  • app profile ID
  • method name
  • attempt status
  • streaming operation
  • client name

Retry count

Attribute
Description
Full metric
bigtable.googleapis.com/client/retry_count
Definition
A counter that records the number of attempts that an operation required to complete. Under normal circumstances, this value is empty.
Supported Bigtable operations
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Type
INT64
Available dimensions
  • project ID
  • instance ID
  • table
  • cluster
  • zone
  • app profile ID
  • method name
  • final operation status
  • client name

Application blocking latencies

Attribute
Description
Full metric
bigtable.googleapis.com/client/application_blocking_latencies
Definition
The time from when the client receives the response to a request until the application reads the response. This metric is most relevant for ReadRows requests. The start and stop times for this metric depend on the way that you send the read request; see Application blocking latencies timer examples for details.
Supported Bigtable operations
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Type
Distribution
Available dimensions
  • project ID
  • instance ID
  • table
  • cluster
  • zone
  • app profile ID
  • method name
  • client name

Application blocking latencies timer examples

ReadRows requests are typically sent in one of three ways: iteratively, asynchronously, or as a future call. The following examples demonstrate the start and stop times for the application blocking latencies for each type of ReadRows operation.

Iterative

  long 
  
 totaLatency 
 = 
 0 
 ; 
 ServerStream<Row> 
  
 stream 
  
 = 
  
 bigtableDataClient 
 . 
 readRows 
 ( 
 query 
 ); 
 for 
  
 ( 
 Row 
  
 row 
  
 : 
  
 stream 
 ) 
  
 { 
  
 timer 
 . 
 start 
 (); 
  
 // Do something with row 
  
 timer 
 . 
 stop 
 (); 
  
 totalLatency 
  
 += 
  
 timer 
 . 
 elapsed 
 (); 
 } 
 

Asynchronous

  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 
 () 
  
 { 
  
 } 
 }); 
 

Future call

The application blocking latencies should be approximately 0 (no timer) for this type of ReadRows request.

  List<Row> 
  
 rows 
  
 = 
  
 bigtableDataClient 
 . 
 readRowsCallable 
 (). 
 all 
 (). 
 call 
 ( 
 query 
 ); 
 

First-response latencies

Attribute
Description
Full metric
bigtable.googleapis.com/client/first_response_latencies
Definition
Latencies from when a client sends a request and receives the first row of the response.
Supported Bigtable operation
ReadRows
Type
Distribution
Available dimensions
  • project ID
  • instance ID
  • table
  • cluster
  • zone
  • app profile ID
  • method name
  • final operation status
  • client name

Server latencies

Attribute
Description
Full metric
bigtable.googleapis.com/client/server_latencies
Definition
Latencies between the time when the Google frontend receives an RPC and when it sends the first byte of the response.
Supported Bigtable operations
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Type
Distribution
Available dimensions
  • project ID
  • instance ID
  • table
  • cluster
  • zone
  • app profile ID
  • method name
  • attempt status
  • streaming operation
  • client name

Connectivity error count

Attribute
Description
Full metric
bigtable.googleapis.com/client/connectivity_error_count
Definition
The number of requests that failed to reach Google's network. In normal cases, this number is 0. When the number is not 0, it can indicate connectivity issues between the application and the Google network.
Supported Bigtable operations
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Type
Distribution
Available dimensions
  • project ID
  • instance ID
  • table
  • cluster
  • zone
  • app profile ID
  • method name
  • attempt status
  • client name

Client blocking latencies

Attribute
Description
Full metric
bigtable.googleapis.com/client/client_blocking_latencies
Definition
Latencies introduced when the client blocks the sending of more requests to the server because of too many pending requests in a bulk operation. For versions 2.21.0 and later, this metric also includes the latencies of requests queued on gRPC channels.
Supported Bigtable operations
  • 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
Type
Distribution
Available dimensions
  • project ID
  • instance ID
  • table
  • cluster
  • zone
  • app profile ID
  • method name
  • client name

What's next

Create a Mobile Website
View Site in Mobile | Classic
Share by: