Métricas legadas do lado do cliente HBase
Nesta página, descrevemos um conjunto de métricas do lado do cliente que foi substituído por métricas integradas do lado do cliente. Essa página é mantida como uma referência para os desenvolvedores que ainda usam as métricas legadas.
Recomendamos o uso das métricas integradas do lado do cliente descritas na Visão geral das métricas do lado do cliente, em vez das métricas legadas descritas nesta página.
Ativar métricas
Essas informações são destinadas a clientes que usam as métricas legadas. Para ativar as métricas mais recentes integradas ao lado do cliente, consulte Configurar métricas do lado do cliente.
O cliente HBase do Cloud Bigtable para Java usava o DropBoard Metrics para coletar e reportar métricas do lado do cliente. Como a coleta de métricas pode adicionar uma quantidade muito pequena de latência (microssegundos de um dígito) a cada solicitação, as métricas não eram ativadas por padrão. As seções a seguir explicam como ativar as métricas legadas do lado do cliente.
Usar o gerador de relatórios Log4j
A maneira mais simples de ativar as métricas legadas do lado do cliente é adicionar a linha a seguir ao arquivo de configuração Log4j:
log4j.category.com.google.cloud.bigtable.metrics=DEBUG
Essa definição de configuração ativa a coleta de métricas e registra métricas do Bigtable com um SLF4J logger.
Usar outros geradores de relatórios
Você pode usar outros tipos de geradores de relatórios por meio da atualização do código do aplicativo. Por exemplo, veja um gerador de relatórios que envia métricas a um servidor 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);
São fornecidos pelos geradores de relatórios do Dropwizard Metrics para JMX, a geração de registros de console, SLF4J e CSV. Também estão disponíveis vários geradores de relatórios de terceiros.
Métricas disponíveis
Nesta seção, descrevemos as métricas disponíveis quando as métricas legadas do lado do cliente do HBase estão ativadas. Cada métrica tem um dos seguintes tipos:
- Contador: contagem cumulativa por máquina virtual Java (JVM, na sigla em inglês).
- Medidor: informações de contagem mais informações de capacidade (uma contagem para o último minuto, 5 minutos ou 15 minutos).
- Temporizador: informações do medidor mais dados de latência (como mediana, média e 95º percentil).
Somente determinadas métricas são coletadas para cada tipo de solicitação. Consulte "Exemplo: métricas de uma solicitação Put
" para ver um exemplo das métricas coletadas durante uma solicitação Put
.
Métricas de canal
Tipo | Nome | Descrição |
---|---|---|
Contador | google-cloud-bigtable.sessions.active |
Quantos BigtableSession s são abertos. Cada Connection do HBase tem um único BigtableSession . |
Contador | google-cloud-bigtable.grpc.channel.active |
Quantos canais gRPC/Netty de baixo nível são abertos. Cada BigtableSession tem muitos canais gRPC. |
Métricas de RPC gerais
Tipo | Nome | Descrição |
---|---|---|
Contador | google-cloud-bigtable.grpc.rpc.active |
O número de chamadas de procedimento remoto (RPCs, na sigla em inglês) ativas no momento. |
Medidor | google-cloud-bigtable.grpc.rpc.performed |
Capacidade de RPC. |
Métricas de método de dados
As métricas de método de dados são coletadas para os seguintes métodos de dados:
ReadRows
: implementa recebimentos e verificações.MutateRow
: implementa inserções e exclusões.MutateRows
: implementa gravações em massa.CheckAndMutateRow
: implementa os métodoscheckAnd*
do HBase.ReadModifyWrite
: implementa os métodosAppend
eIncrement
do HBase.SampleRowKeys
: recupera informações de região usadas para operações de MapReduce.
Tipo | Nome | Descrição |
---|---|---|
Temporizador | google-cloud-bigtable.grpc.method.[METHOD_TYPE].operation.latency |
O tempo que as operações individuais levam. As operações incluem a quantidade total de latência de todos os RPCs que são realizados. (Geralmente, apenas um RPC é realizado. Novas tentativas no lado do cliente podem fazer com que o mesmo RPC seja executado mais de uma vez se houver um erro temporário.) |
Temporizador | google-cloud-bigtable.grpc.method.ReadRows.firstResponse.latency |
O tempo necessário para receber a primeira resposta a uma solicitação de verificação. |
Medidor | google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.performed |
O número de novas tentativas que foram realizadas. |
Medidor | google-cloud-bigtable.grpc.method.[METHOD_TYPE].failures |
O número de falhas não repetidas. |
Medidor | google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.exhausted |
O número de vezes que a repetição foi cancelada porque muitas tentativas falharam. |
Métricas em massa
Métricas em massa são fornecidas para métodos que retornam mais de uma resposta, como uma gravação em massa.
Tipo | Nome | Descrição |
---|---|---|
Medidor | google-cloud-bigtable.scanner.results |
A capacidade de linhas individuais retornadas por uma verificação. |
Medidor | google-cloud-bigtable.bulk-mutator.mutations.added |
A capacidade de mutações individuais adicionadas para cada solicitação MutateRows . |
Medidor | google-cloud-bigtable.bulk-mutator.mutations.retried |
O número de mutações individuais repetidas ao longo do tempo. |
Métricas da tabela do Bigtable
A conversão de objetos do Bigtable em objetos do HBase pode aumentar a
latência de uma solicitação. Os timers a seguir podem ser correlacionados com os timers *.operation.latency
especificados para avaliar o custo da conversão.
Tipo | Nome | Descrição |
---|---|---|
Temporizador | google-cloud-bigtable.table.put.latency |
O tempo que as operações individuais Put levam.
Correlaciona-se com google-cloud-bigtable.grpc.method.MutateRow.operation.latency . |
Temporizador | google-cloud-bigtable.table.get.latency |
O tempo que as operações individuais Get levam.
Correlaciona-se com google-cloud-bigtable.grpc.method.ReadRows.operation.latency . |
Exemplo: métricas para uma solicitação Put
Quando as métricas do lado do cliente estão ativadas, as seguintes métricas são coletadas para uma solicitação Put
bem-sucedida que não é repetida:
- Contador:
google-cloud-bigtable.grpc.rpc.active
- Medidor:
google-cloud-bigtable.grpc.rpc.performed
- Temporizador:
google-cloud-bigtable.grpc.method.MutateRow.operation.latency
- Temporizador:
google-cloud-bigtable.table.put.latency
A coleta dessas métricas adiciona aproximadamente 1 microssegundo (1/1000 de milésimo de segundo) à operação Put
. A operação Put
geral pode ser de 2 a 3 milissegundos, supondo que a operação inclua cerca de 1 KB de dados.