Métricas del cliente heredadas de HBase
En esta página, se describe un conjunto de métricas del cliente que se reemplazó por métricas integradas del cliente. Esta página se mantiene como referencia para los desarrolladores que aún usan las métricas heredadas.
Te recomendamos que uses las métricas integradas del cliente que se describen en la descripción general de las métricas del cliente en lugar de las métricas heredadas que se describen en esta página.
Habilita métricas
Esta información se proporciona a los clientes que usan las métricas heredadas. Para Habilita las métricas integradas del cliente más nuevas; consulta Configura las métricas del cliente métricas.
El cliente HBase de Cloud Bigtable para Java usaba Dropwizard Metrics para recopilar y, también, informar las métricas del cliente. Porque la recopilación de métricas puede agregar una pequeña cantidad de latencia (de un solo dígito microsegundos) a cada solicitud, las métricas no estaban habilitadas de forma predeterminada. Lo siguiente en las que se explica cómo habilitar las métricas heredadas del cliente.
Usa el generador de informes de Log4j
La forma más sencilla de habilitar las métricas heredadas del cliente es agregar la siguiente línea al archivo de configuración de Log4j:
log4j.category.com.google.cloud.bigtable.metrics=DEBUG
Con esta configuración, se activa la recopilación de métricas de Bigtable y se registran con un generador de registros SLF4J.
Usa otros generadores de informes
Para usar otros tipos de generadores de informes, debes actualizar el código de la aplicación. Por ejemplo, este es un generador de informes que envía las métricas a un servidor de Graphite:
Graphite pickledGraphite = new PickledGraphite(new InetSocketAddress("graphite.example.com", 2004));
DropwizardMetricRegistry registry = new DropwizardMetricRegistry();
GraphiteReporter reporter =
GraphiteReporter.forRegistry(registry.getRegistry())
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.filter(MetricFilter.ALL)
.build(pickledGraphite);
reporter.start(1, TimeUnit.MINUTES);
BigtableClientMetrics.setMetricRegistry(registry);
Dropwizard Metrics ofrece generadores de informes para JMX, registros de la consola, SLF4J y CSV. También hay varios generadores de informes de terceros disponibles.
Métricas disponibles
En esta sección, se describen las métricas que están disponibles cuando la versión heredada de HBase métricas del cliente estén habilitadas. Cada métrica tiene uno de los siguientes tipos:
- Contador: Un conteo acumulativo por máquina virtual Java (JVM).
- Medidor: Información del contador más la información de capacidad de procesamiento (conteo del último minuto, los últimos 5 minutos o los últimos 15 minutos)
- Cronómetro: Información del medidor más la información de latencia (como la mediana, el promedio y el percentil 95)
Solo se recopilan métricas determinadas para cada tipo de solicitud. Consulta “Ejemplo: Métricas para una solicitud Put
” si deseas ver un ejemplo de las métricas que se recopilan en una solicitud Put
.
Métricas a nivel de canal
Tipo | Nombre | Descripción |
---|---|---|
Contador | google-cloud-bigtable.sessions.active |
La cantidad de BigtableSession abiertas. Cada Connection de HBase tiene una sola BigtableSession . |
Contador | google-cloud-bigtable.grpc.channel.active |
La cantidad de canales de gRPC/Netty de nivel inferior abiertos. Cada BigtableSession tiene muchos canales de gRPC. |
Métricas generales de RPC
Tipo | Nombre | Descripción |
---|---|---|
Contador | google-cloud-bigtable.grpc.rpc.active |
La cantidad de llamadas de procedimiento remoto (RPC) que se encuentran activas. |
Medidor | google-cloud-bigtable.grpc.rpc.performed |
Rendimiento de la RPC. |
Métricas del método de datos
Estas métricas se recopilan para los siguientes métodos de datos:
ReadRows
: Implementa operaciones “get” y “scan”.MutateRow
: Implementa operaciones “put” y “delete”.MutateRows
: Implementa escrituras masivas.CheckAndMutateRow
: Implementa los métodoscheckAnd*
de HBase.ReadModifyWrite
: Implementa los métodosIncrement
yAppend
de HBase.SampleRowKeys
: Recupera la información de la región que se usa en las operaciones de MapReduce.
Tipo | Nombre | Descripción |
---|---|---|
Cronómetro | google-cloud-bigtable.grpc.method.[METHOD_TYPE].operation.latency |
El tiempo que tardan las operaciones individuales. Las operaciones incluyen el total de latencia de todas las RPC ejecutadas. Por lo general, solo se ejecuta una. Los reintentos del cliente pueden provocar que se vuelva a ejecutar la misma RPC más de una vez si hay un error transitorio. |
Cronómetro | google-cloud-bigtable.grpc.method.ReadRows.firstResponse.latency |
El tiempo que toma recibir la primera respuesta a una solicitud de análisis. |
Medidor | google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.performed |
La cantidad de reintentos ejecutados. |
Medidor | google-cloud-bigtable.grpc.method.[METHOD_TYPE].failures |
La cantidad de fallas que no se pueden reintentar. |
Medidor | google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.exhausted |
La cantidad de veces que se anuló un reintento porque muchos fallaron antes. |
Métricas masivas
Las métricas masivas se proporcionan para los métodos que muestran más de una respuesta, como una escritura masiva.
Tipo | Nombre | Descripción |
---|---|---|
Medidor | google-cloud-bigtable.scanner.results |
La capacidad de procesamiento de las filas individuales que se muestran en una solicitud de análisis. |
Medidor | google-cloud-bigtable.bulk-mutator.mutations.added |
La capacidad de procesamiento de las mutaciones individuales que se agrega a las solicitudes MutateRows . |
Medidor | google-cloud-bigtable.bulk-mutator.mutations.retried |
La cantidad de mutaciones individuales que se reintentaron en el tiempo. |
Métricas de tablas de Bigtable
Convertir los objetos de Bigtable en objetos de HBase puede agregar latencia a las solicitudes. Los siguientes cronómetros pueden correlacionarse con los cronómetros *.operation.latency
especificados para medir el costo de la conversión.
Tipo | Nombre | Descripción |
---|---|---|
Cronómetro | google-cloud-bigtable.table.put.latency |
El tiempo que toman las operaciones Put individuales.
Se correlaciona con google-cloud-bigtable.grpc.method.MutateRow.operation.latency . |
Cronómetro | google-cloud-bigtable.table.get.latency |
El tiempo que toman las operaciones Get individuales.
Se correlaciona con google-cloud-bigtable.grpc.method.ReadRows.operation.latency . |
Ejemplo: Métricas para una solicitud Put
Cuando las métricas del cliente están habilitadas, se recopilan las siguientes métricas para una solicitud Put
correcta que no se reintenta:
- Contador:
google-cloud-bigtable.grpc.rpc.active
- Medidor:
google-cloud-bigtable.grpc.rpc.performed
- Cronómetro:
google-cloud-bigtable.grpc.method.MutateRow.operation.latency
- Cronómetro:
google-cloud-bigtable.table.put.latency
La recopilación de estas métricas agrega alrededor de 1 microsegundo (1/1,000 milisegundos) a la operación Put
. La operación Put
promedio puede durar solo entre 2 y 3 milisegundos, si incluye alrededor de 1 KB de datos.