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 aprender a configurar las métricas del cliente, consulta Configura métricas del cliente. Para obtener una descripción general, consulta Descripción general de las métricas del cliente.

Las métricas se publican en la región del clúster de Bigtable que son. Si Bigtable no puede resolver el clúster de 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 métricas del cliente junto con 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 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 un el recorrido de ida y vuelta de la operación desde el cliente hasta Bigtable 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 del 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
  • 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 Un contador que registra la cantidad de intentos que una operación que se necesitan para completar. En circunstancias normales, este valor está vacío.
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
  • nombre del cliente

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 un hasta que la aplicación lea la respuesta. Esta métrica es la 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 admitidas
  • 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 las siguientes tres maneras: de forma iterativa, asíncrona o como una llamada futura. En los siguientes ejemplos, se muestra el horas de inicio y finalización de las latencias de bloqueo de la aplicación para cada tipo de 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 aproximadamente 0 (sin temporizador) para este tipo de solicitud ReadRows.

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

Latencias de 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 admitidas
  • 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 admitidas
  • 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 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?