Descripciones de las métricas del cliente

Las métricas del cliente están disponibles cuando usas la biblioteca cliente de Bigtable para Java o el cliente de HBase de Bigtable para Java. En esta página, se proporciona una descripción detallada de cada métrica del cliente.

Para obtener información sobre cómo configurar las métricas del cliente, consulta Configura métricas del cliente. Para obtener una descripción general, consulta la Descripción general de las métricas del cliente.

Las métricas se publican en la región del clúster de Bigtable para el que se crearon. Si Bigtable no puede resolver el clúster para una métrica, como cuando falla una operación, la métrica se publica en la región global y la etiqueta cluster tiene el valor unspecified.

Usa las métricas del cliente junto con las métricas del servidor para depurar el rendimiento. Para obtener una lista completa de las métricas del servidor y del cliente de Bigtable, consulta Métricas.

Latencias de las operaciones

Atributo Descripción
Métrica completa bigtable.googleapis.com/client/operation_latencies
Definición La latencia total de extremo a extremo en todos los intentos de RPC asociados con una operación de Bigtable. Esta métrica mide el recorrido de una operación del cliente a Bigtable y de vuelta al cliente, además incluye todos los reintentos.

Para las solicitudes de ReadRows, las latencias de la operación incluyen el tiempo de procesamiento de la aplicación de cada mensaje devuelto.
Operaciones de Bigtable compatibles
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribución
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • tabla
  • clúster
  • zona
  • ID del perfil de la app
  • nombre del método
  • estado de la operación final
  • operación de transmisión
  • nombre del cliente

Latencias de los intentos

Atributo Descripción
Métrica completa bigtable.googleapis.com/client/attempt_latencies
Definición Las 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 compatibles
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribución
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • tabla
  • clúster
  • zona
  • ID del perfil de la app
  • nombre del método
  • estado del intento
  • operación de transmisión
  • nombre del cliente

Conteo de repeticiones de intento

Atributo Descripción
Métrica completa bigtable.googleapis.com/client/retry_count
Definición Es un contador que registra la cantidad de intentos que requirió una operación para completarse. En circunstancias normales, este valor está vacío.
Operaciones de Bigtable compatibles
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo INT64
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • tabla
  • clúster
  • zona
  • ID del perfil de la app
  • nombre del método
  • estado de la operación final
  • nombre del cliente

Latencias de bloqueo de aplicaciones

Atributo Descripción
Métrica completa bigtable.googleapis.com/client/application_blocking_latencies
Definición Es el tiempo desde que el cliente recibe la respuesta a una solicitud hasta que la aplicación la lee. Esta métrica es más relevante para las solicitudes ReadRows. Los tiempos de inicio y de detención de esta métrica dependen de la forma en que envíes la solicitud de lectura. Para obtener detalles, consulta Ejemplos de temporizador de latencias de bloqueo de aplicaciones.
Operaciones de Bigtable compatibles
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribución
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • tabla
  • clúster
  • zona
  • ID del perfil de la app
  • nombre del método
  • nombre del cliente

Ejemplos de temporizadores de latencia de bloqueo de aplicaciones

Por lo general, las solicitudes de ReadRows se envían de una de estas tres maneras: de forma iterativa, asíncrona o como una llamada futura. En los siguientes ejemplos, se muestran los tiempos de inicio y detención de las latencias de bloqueo de la aplicación para 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 la aplicación deben ser de aproximadamente 0 (sin temporizador) para este tipo de solicitud ReadRows.

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

Latencias de la primera respuesta

Atributo Descripción
Métrica completa bigtable.googleapis.com/client/first_response_latencies
Definición Latencias desde el momento en que un cliente envía una solicitud y recibe la primera fila de la respuesta.
Operación de Bigtable compatible ReadRows
Tipo Distribución
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • tabla
  • clúster
  • zona
  • ID del perfil de la app
  • nombre del método
  • estado de la operación final
  • nombre del cliente

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 compatibles
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribución
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • tabla
  • clúster
  • zona
  • ID del perfil de la app
  • nombre del método
  • estado del intento
  • operación de transmisión
  • nombre del cliente

Recuento de errores de conectividad

Atributo Descripción
Métrica completa bigtable.googleapis.com/client/connectivity_error_count
Definición Es la cantidad de solicitudes que no pudieron llegar a la red de Google. En los casos normales, este número es 0. Cuando el número no es 0, puede indicar problemas de conectividad entre la aplicación y la red de Google.
Operaciones de Bigtable compatibles
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribución
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • tabla
  • clúster
  • zona
  • ID del perfil de la app
  • nombre del método
  • estado del intento
  • nombre del cliente

Latencias de bloqueo del cliente

Atributo Descripción
Métrica completa bigtable.googleapis.com/client/client_blocking_latencies
Definición Latencias que se producen 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 de gRPC.
Operaciones de Bigtable compatibles
  • 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
Tipo Distribución
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • tabla
  • clúster
  • zona
  • ID del perfil de la app
  • nombre del método
  • nombre del cliente

¿Qué sigue?