Client-side metrics descriptions
Client-side metrics are available for multiple Bigtable client libraries. This page provides a detailed description of each client-side metric.
For Go, C++, and Node.js, these metrics are enabled by default in the supported versions. For the Java client libraries, the metrics are available as an opt-in feature or by default, depending on the client library version. For information about the specific versions, see the "Client library support" section of each 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
The following table shows the attributes and details of the operation latencies metric.
bigtable.googleapis.com/client/operation_latencies
For
ReadRows
requests, the operation latencies include
the application processing time for each returned message.-
ReadRow -
ReadRows -
MutateRow -
MutateRows -
SampleRowKeys -
CheckAndMutateRow -
BulkReadRows -
BulkMutateRows
- project ID
- instance ID
- table
- cluster
- zone
- app profile ID
- method name
- final operation status
- streaming operation
- client name
Client library support
The following table shows the minimum client library versions required to use the operation latencies metric.
java-bigtable
java-bigtable-hbase
ReadRows
and ReadRow
operations), 6.3.0 (other operations)Attempt latencies
The following table shows the attributes and details of the attempt latencies metric.
bigtable.googleapis.com/client/attempt_latencies
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.-
ReadRow -
ReadRows -
MutateRow -
MutateRows -
SampleRowKeys -
CheckAndMutateRow -
BulkReadRows -
BulkMutateRows
- project ID
- instance ID
- table
- cluster
- zone
- app profile ID
- method name
- attempt status
- streaming operation
- client name
Client library support
The following table shows the minimum client library versions required to use the attempt latencies metric.
java-bigtable
java-bigtable-hbase
ReadRows
and ReadRow
operations), 6.3.0 (other operations)Retry count
The following table shows the attributes and details of the retry count metric.
bigtable.googleapis.com/client/retry_count
-
ReadRow -
ReadRows -
MutateRow -
MutateRows -
SampleRowKeys -
CheckAndMutateRow -
BulkReadRows -
BulkMutateRows
- project ID
- instance ID
- table
- cluster
- zone
- app profile ID
- method name
- final operation status
- client name
Client library support
The following table shows the minimum client library versions required to use the retry count metric.
java-bigtable
java-bigtable-hbase
ReadRows
and ReadRow
operations), 6.3.0 (other operations)Application blocking latencies
The following table shows the attributes and details of the application blocking latencies metric.
bigtable.googleapis.com/client/application_blocking_latencies
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.-
ReadRow -
ReadRows -
MutateRow -
MutateRows -
SampleRowKeys -
CheckAndMutateRow -
BulkReadRows -
BulkMutateRows
- project ID
- instance ID
- table
- cluster
- zone
- app profile ID
- method name
- client name
Client library support
The following table shows the minimum client library versions required to use the application blocking latencies metric.
java-bigtable
java-bigtable-hbase
ReadRows
operation)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
The following table shows the attributes and details of the first-response latencies metric.
bigtable.googleapis.com/client/first_response_latencies
ReadRows
- project ID
- instance ID
- table
- cluster
- zone
- app profile ID
- method name
- final operation status
- client name
Client library support
The following table shows the minimum client library versions required to use the first-response latencies metric.
java-bigtable
java-bigtable-hbase
ReadRows
and ReadRow
operations), 6.3.0 (other operations)Server latencies
The following table shows the attributes and details of the server latencies metric.
bigtable.googleapis.com/client/server_latencies
-
ReadRow -
ReadRows -
MutateRow -
MutateRows -
SampleRowKeys -
CheckAndMutateRow -
BulkReadRows -
BulkMutateRows
- project ID
- instance ID
- table
- cluster
- zone
- app profile ID
- method name
- attempt status
- streaming operation
- client name
Client library support
The following table shows the minimum client library versions required to use the server latencies metric.
java-bigtable
java-bigtable-hbase
ReadRows
and ReadRow
operations), 6.3.0 (other operations)Connectivity error count
The following table shows the attributes and details of the connectivity error count metric.
bigtable.googleapis.com/client/connectivity_error_count
-
ReadRow -
ReadRows -
MutateRow -
MutateRows -
SampleRowKeys -
CheckAndMutateRow -
BulkReadRows -
BulkMutateRows
- project ID
- instance ID
- table
- cluster
- zone
- app profile ID
- method name
- attempt status
- client name
Client library support
The following table shows the minimum client library versions required to use the connectivity error count metric.
java-bigtable
java-bigtable-hbase
ReadRows
and ReadRow
operations), 6.3.0 (other operations)Client blocking latencies
The following table shows the attributes and details of the client blocking latencies metric.
bigtable.googleapis.com/client/client_blocking_latencies
-
ReadRow -
ReadRows -
MutateRow -
MutateRows -
SampleRowKeys -
CheckAndMutateRow -
BulkReadRows -
BulkMutateRows
- project ID
- instance ID
- table
- cluster
- zone
- app profile ID
- method name
- client name
Client library support
The following table shows the minimum Java client library versions required to use the client blocking latencies metric.
java-bigtable
java-bigtable-hbase

