Descripciones de las métricas del cliente

Las métricas del cliente están disponibles cuando usas el cliente de Bigtable la biblioteca cliente de Bigtable para Java o el cliente de HBase de Bigtable para Java. Esta página 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 ReadRows, las latencias de la operación incluyen el tiempo de procesamiento de la aplicación para cada mensaje devuelto.
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 final de la operación
  • operación de transmisión
  • nombre del cliente

Latencias de 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 Si el cliente recibe transitorios sin embargo, 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 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 final de la operación
  • 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. Las horas de inicio y finalización para esta métrica dependen de la forma en que envíes la solicitud de lectura. ver Temporizador de latencias de bloqueo de aplicaciones ejemplos para obtener más detalles.
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 cronómetro de latencias de bloqueo de la aplicación

Por lo general, las solicitudes ReadRows se envían de una de tres maneras: iterativamente, de forma 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 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 final de la operación
  • 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 cuándo 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 La cantidad de solicitudes que no alcanzaron la red de Google. En casos normales, este número es 0. Cuando el número no es 0, puede indicar problemas de conectividad entre la aplicación y el servicio de Google en cada red.
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 ingresan cuando el cliente bloquea el envío de más de solicitudes al servidor debido a la existencia de demasiadas solicitudes pendientes de forma masiva una sola operación. 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 admitidas
  • 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?