Descripciones de las métricas del lado del cliente
Las métricas del lado del cliente están disponibles para varias bibliotecas de cliente de Bigtable. En esta página se ofrece una descripción detallada de cada métrica del lado del cliente.
En Go, C++ y Node.js, estas métricas están habilitadas de forma predeterminada en las versiones compatibles. En el caso de las bibliotecas de cliente de Java, las métricas están disponibles como función opcional o de forma predeterminada, según la versión de la biblioteca de cliente. Para obtener información sobre las versiones específicas, consulta la sección "Compatibilidad con bibliotecas de cliente" de cada métrica.
Para saber cómo configurar métricas del lado del cliente, consulte el artículo Configurar métricas del lado del cliente. Para obtener una descripción general, consulta el artículo Descripción general de las métricas del lado del cliente.
Las métricas se publican en la región del clúster de Bigtable al que corresponden. Si Bigtable no puede resolver el clúster de una métrica (por ejemplo, cuando falla una operación), la métrica se publica en la región global y la etiqueta cluster tiene el valor unspecified.
Usa métricas del lado del cliente junto con métricas del lado del servidor para depurar el rendimiento. Para ver una lista completa de las métricas del lado del servidor y del lado del cliente de Bigtable, consulta Métricas.
Latencias de operaciones
En la siguiente tabla se muestran los atributos y los detalles de la métrica latencias_operación.
| Atributo | Descripción |
|---|---|
| Métrica completa | bigtable.googleapis.com/client/operation_latencies |
| Definición | La latencia total de extremo a extremo de todos los intentos de RPC asociados a una operación de Bigtable. Esta métrica mide el tiempo de ida y vuelta de una operación desde el cliente a Bigtable y de vuelta al cliente, e incluye todos los reintentos. En el caso de las solicitudes ReadRows, las latencias de las operaciones incluyen el tiempo de procesamiento de la aplicación de cada mensaje devuelto. |
| Operaciones de Bigtable admitidas |
|
| Tipo | Distribución |
| Dimensiones disponibles |
|
Asistencia para bibliotecas de cliente
En la siguiente tabla se muestran las versiones mínimas de la biblioteca de cliente necesarias para usar la métrica de latencias de las operaciones.
| Idioma | Cliente | Versión (habilitación) | Versión (habilitada de forma predeterminada) |
|---|---|---|---|
| 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 (operaciones ReadRows y ReadRow), 6.3.0 (otras operaciones) |
||
| C++ | 2.40.0 | ||
Latencias de intentos
En la siguiente tabla se muestran los atributos y los detalles de la métrica Latencias de intentos.
| Atributo | Descripción |
|---|---|
| Métrica completa | bigtable.googleapis.com/client/attempt_latencies |
| Definición | Latencias de un intento de RPC de cliente. En circunstancias normales, este valor es idéntico a operation_latencies. Sin embargo, si el cliente recibe errores transitorios, operation_latencies es la suma de todos los attempt_latencies y los retrasos exponenciales. |
| Operaciones de Bigtable admitidas |
|
| Tipo | Distribución |
| Dimensiones disponibles |
|
Asistencia para bibliotecas de cliente
En la siguiente tabla se muestran las versiones mínimas de la biblioteca de cliente necesarias para usar la métrica de latencias de intentos.
| Idioma | Cliente | Versión (habilitación) | Versión (habilitada de forma predeterminada) |
|---|---|---|---|
| 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 (operaciones ReadRows y ReadRow), 6.3.0 (otras operaciones) |
||
| C++ | 2.40.0 | ||
Número de reintentos
En la siguiente tabla se muestran los atributos y los detalles de la métrica de recuento de reintentos.
| Atributo | Descripción |
|---|---|
| Métrica completa | bigtable.googleapis.com/client/retry_count |
| Definición | Un contador que registra el número de intentos que ha necesitado una operación para completarse. En circunstancias normales, este valor está vacío. |
| Operaciones de Bigtable admitidas |
|
| Tipo | INT64 |
| Dimensiones disponibles |
|
Asistencia para bibliotecas de cliente
En la siguiente tabla se muestran las versiones mínimas de la biblioteca de cliente necesarias para usar la métrica de recuento de reintentos.
| Idioma | Cliente | Versión (habilitación) | Versión (habilitada de forma predeterminada) |
|---|---|---|---|
| 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 (operaciones ReadRows y ReadRow), 6.3.0 (otras operaciones) |
||
| C++ | 2.40.0 | ||
Latencias de bloqueo de aplicaciones
En la siguiente tabla se muestran los atributos y los detalles de la métrica de latencias de bloqueo de aplicaciones.
| Atributo | Descripción |
|---|---|
| Métrica completa | bigtable.googleapis.com/client/application_blocking_latencies |
| Definición | El tiempo que transcurre desde que el cliente recibe la respuesta a una solicitud hasta que la aplicación lee la respuesta. Esta métrica es más
relevante para las solicitudes ReadRows. Las horas de inicio y de finalización de esta métrica dependen de la forma en que envíes la solicitud de lectura. Consulta los ejemplos del temporizador de latencias de bloqueo de aplicaciones para obtener más información.
|
| Operaciones de Bigtable admitidas |
|
| Tipo | Distribución |
| Dimensiones disponibles |
|
Asistencia para bibliotecas de cliente
En la siguiente tabla se muestran las versiones mínimas de la biblioteca de cliente necesarias para usar la métrica de latencias de bloqueo de aplicaciones.
| Idioma | Cliente | Versión (habilitación) | Versión (habilitada de forma predeterminada) |
|---|---|---|---|
| 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 (operación ReadRows) |
||
| C++ | 2.41.0 | ||
Ejemplos de temporizador de latencias de bloqueo de aplicaciones
Las solicitudes ReadRows suelen enviarse de tres formas: de forma iterativa, asíncrona o como una llamada futura. En los siguientes ejemplos se muestran las horas de inicio y de finalización de las latencias de bloqueo de aplicaciones de cada tipo de operación ReadRows.
Iterativo
long totaLatency=0;
ServerStream<Row> stream = bigtableDataClient.readRows(query);
for (Row row : stream) {
timer.start();
// Do something with row
timer.stop();
totalLatency += timer.elapsed();
}
Asíncrono
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() {
}
});
Llamada futura
Las latencias de bloqueo de aplicaciones deben ser de aproximadamente 0 (sin temporizador) para este tipo de solicitud de ReadRows.
List<Row> rows = bigtableDataClient.readRowsCallable().all().call(query);
Latencias de primera respuesta
En la siguiente tabla se muestran los atributos y los detalles de la métrica Latencias de primera respuesta.
| Atributo | Descripción |
|---|---|
| Métrica completa | bigtable.googleapis.com/client/first_response_latencies |
| Definición | Latencias desde que un cliente envía una solicitud y recibe la primera fila de la respuesta. |
| Operación de Bigtable admitida | ReadRows |
| Tipo | Distribución |
| Dimensiones disponibles |
|
Asistencia para bibliotecas de cliente
En la siguiente tabla se muestran las versiones mínimas de las bibliotecas de cliente necesarias para usar la métrica de latencias de primera respuesta.
| Idioma | Cliente | Versión (habilitación) | Versión (habilitada de forma predeterminada) |
|---|---|---|---|
| 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 (operaciones ReadRows y ReadRow), 6.3.0 (otras operaciones) |
||
| C++ | 2.40.0 | ||
Latencias del servidor
En la siguiente tabla se muestran los atributos y los detalles de la métrica de latencias del servidor.
| Atributo | Descripción |
|---|---|
| Métrica completa | bigtable.googleapis.com/client/server_latencies |
| Definición | Latencias entre el momento en que el frontend de Google recibe una RPC y el momento en que envía el primer byte de la respuesta. |
| Operaciones de Bigtable admitidas |
|
| Tipo | Distribución |
| Dimensiones disponibles |
|
Asistencia para bibliotecas de cliente
En la siguiente tabla se muestran las versiones mínimas de la biblioteca de cliente necesarias para usar la métrica de latencias del servidor.
| Idioma | Cliente | Versión (habilitación) | Versión (habilitada de forma predeterminada) |
|---|---|---|---|
| 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 (operaciones ReadRows y ReadRow), 6.3.0 (otras operaciones) |
||
| C++ | 2.41.0 | ||
Número de errores de conectividad
En la siguiente tabla se muestran los atributos y los detalles de la métrica de recuento de errores de conectividad.
| Atributo | Descripción |
|---|---|
| Métrica completa | bigtable.googleapis.com/client/connectivity_error_count |
| Definición | Número de solicitudes que no han llegado a la red de Google. En casos normales, este número es 0. Si el número no es 0, puede indicar problemas de conectividad entre la aplicación y la red de Google. |
| Operaciones de Bigtable admitidas |
|
| Tipo | Distribución |
| Dimensiones disponibles |
|
Asistencia para bibliotecas de cliente
En la siguiente tabla se muestran las versiones mínimas de la biblioteca de cliente necesarias para usar la métrica de recuento de errores de conectividad.
| Idioma | Cliente | Versión (habilitación) | Versión (habilitada de forma predeterminada) |
|---|---|---|---|
| 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 (operaciones ReadRows y ReadRow), 6.3.0 (otras operaciones) |
||
| C++ | 2.41.0 | ||
Latencias de bloqueo de clientes
En la siguiente tabla se muestran los atributos y los detalles de la métrica de latencias de bloqueo del cliente.
| Atributo | Descripción |
|---|---|
| Métrica completa | bigtable.googleapis.com/client/client_blocking_latencies |
| Definición | Latencias introducidas cuando el cliente bloquea el envío de más solicitudes al servidor debido a que hay demasiadas solicitudes pendientes en una operación masiva. En las versiones 2.21.0 y posteriores, esta métrica también incluye las latencias de las solicitudes en cola en los canales gRPC cuando el cliente crea un canal. |
| Operaciones de Bigtable admitidas |
|
| Tipo | Distribución |
| Dimensiones disponibles |
|
Asistencia para bibliotecas de cliente
En la siguiente tabla se muestran las versiones mínimas de la biblioteca de cliente de Java necesarias para usar la métrica de latencias de bloqueo del cliente.
| Idioma | Cliente | Versión (habilitación) | Versión (habilitada de forma predeterminada) |
|---|---|---|---|
| Java | java-bigtable |
2.16.0 | 2.38.0 |
java-bigtable-hbase |
2.6.4 | 2.14.1 |