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 Bigtable HBase para Java. En esta página, se proporciona una descripción detallada de cada métrica del cliente.

Si quieres aprender a configurar las métricas del cliente, consulta Configura las 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 la que se publican. 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 operación

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 ida y vuelta de una operación desde el cliente hasta Bigtable y de vuelta al cliente; además, incluye todos los reintentos.

En las solicitudes ReadRows, las latencias de operación incluyen el tiempo de procesamiento de la aplicación para cada mensaje que se muestra.
Operaciones compatibles de Bigtable
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribución
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • table
  • clúster
  • zona
  • ID de perfil de la app
  • nombre del método
  • estado de la operación final
  • 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 del 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 las demoras exponenciales.
Operaciones compatibles de Bigtable
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribución
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • table
  • clúster
  • zona
  • ID de 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 requirió para completarse. En circunstancias normales, este valor está vacío.
Operaciones compatibles de Bigtable
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribución
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • table
  • clúster
  • zona
  • ID de 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 una solicitud hasta que la aplicación la lee. Esta métrica es más relevante para las solicitudes ReadRows. Las horas de inicio y finalización de esta métrica dependen de la forma en que envíes la solicitud de lectura. Consulta Ejemplos del temporizador de latencias de bloqueo de aplicaciones para obtener más información.
Operaciones compatibles de Bigtable
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribución
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • table
  • clúster
  • zona
  • ID de perfil de la app
  • nombre del método
  • nombre del cliente

Ejemplos de temporizadores de latencia de bloqueo de aplicaciones

En general, las solicitudes ReadRows se envían de una de estas tres maneras: iterativa, asíncrona o como una llamada futura. En los siguientes ejemplos, se muestran las horas de inicio y finalización de las latencias de bloqueo de la aplicación para cada tipo de operación ReadRows.

Iterativa

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íncrona

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 cuando 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
  • ID del proyecto
  • ID de instancia
  • table
  • clúster
  • zona
  • ID de 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 compatibles de Bigtable
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribución
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • table
  • clúster
  • zona
  • ID de 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 llegaron a 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 la red de Google.
Operaciones compatibles de Bigtable
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribución
Dimensiones disponibles
  • ID del proyecto
  • ID de instancia
  • table
  • clúster
  • zona
  • ID de perfil de la app
  • nombre del método
  • estado del intento
  • nombre del cliente

Latencias de bloqueo de clientes

Atributo Descripción
Métrica completa bigtable.googleapis.com/client/client_blocking_latencies
Definición Las latencias se presentan 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. Para 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 compatibles de Bigtable
  • 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
  • table
  • clúster
  • zona
  • ID de perfil de la app
  • nombre del método
  • nombre del cliente

¿Qué sigue?