Métricas antigas do lado do cliente do HBase
Esta página descreve um conjunto de métricas do lado do cliente que foi substituído por métricas do lado do cliente incorporadas. Esta página é mantida como referência para os programadores que ainda usam as métricas antigas.
Recomendamos que use as métricas do lado do cliente incorporadas descritas na vista geral das métricas do lado do cliente em vez das métricas antigas descritas nesta página.
Ative as métricas
Estas informações são fornecidas para os clientes que estão a usar as métricas antigas. Para ativar as métricas mais recentes incorporadas do lado do cliente, consulte o artigo Configure métricas do lado do cliente.
O cliente HBase do Cloud Bigtable para Java usou o Dropwizard Metrics para recolher e comunicar métricas do lado do cliente. Uma vez que a recolha de métricas pode adicionar uma quantidade muito pequena de latência (microssegundos de um único dígito) a cada pedido, as métricas não foram ativadas por predefinição. As secções seguintes explicam como ativar as métricas antigas do lado do cliente.
Use o repórter Log4j
A forma mais simples de ativar as métricas do lado do cliente antigas é adicionar a seguinte linha ao ficheiro de configuração do Log4j:
log4j.category.com.google.cloud.bigtable.metrics=DEBUG
Esta definição de configuração ativa a recolha de métricas e regista métricas do Bigtable com um registador SLF4J.
Use outros repórteres
Pode usar outros tipos de relatórios atualizando o código da sua aplicação. Por exemplo, segue-se um repórter que envia métricas para 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);
O Dropwizard Metrics oferece repórteres para JMX, registo na consola, SLF4J e CSV. Também estão disponíveis vários criadores de relatórios de terceiros.
Métricas disponíveis
Esta secção descreve as métricas que estão disponíveis quando as métricas do lado do cliente do HBase antigo estão ativadas. Cada métrica tem um dos seguintes tipos:
- Contador: uma contagem cumulativa por máquina virtual Java (JVM).
- Medidor: informações de contagem, além de informações de débito (uma contagem por o último minuto, 5 minutos ou 15 minutos)
- Temporizador: informações do medidor, além de informações de latência (como mediana, média e percentil 95)
Apenas são recolhidas determinadas métricas para cada tipo de pedido. Consulte "Exemplo:
métricas para um pedido Put
" para ver um exemplo das métricas que
são recolhidas durante um pedido Put
.
Métricas ao nível do canal
Tipo | Nome | Descrição |
---|---|---|
Contrapropor | google-cloud-bigtable.sessions.active |
Quantos BigtableSession s estão abertos. Cada HBase
Connection tem um único BigtableSession . |
Contrapropor | google-cloud-bigtable.grpc.channel.active |
Quantos canais gRPC/Netty de nível inferior estão abertos. Cada
BigtableSession tem muitos canais gRPC. |
Métricas gerais de RPC
Tipo | Nome | Descrição |
---|---|---|
Contrapropor | google-cloud-bigtable.grpc.rpc.active |
O número de chamadas de procedimento remoto (RPCs) que estão atualmente ativas. |
Contador | google-cloud-bigtable.grpc.rpc.performed |
Débito de RPC. |
Métricas do método de dados
As métricas do método de dados são recolhidas para os seguintes métodos de dados:
ReadRows
: implementa obtenções e análises.MutateRow
: implementa puts e eliminações.MutateRows
: implementa gravações em massa.CheckAndMutateRow
: implementa os métodoscheckAnd*
do HBase.ReadModifyWrite
: implementa os métodosAppend
eIncrement
do HBase.SampleRowKeys
: obtém informações da região que sã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 demoram. As operações incluem o valor total da latência de todos os RPCs realizados. (Normalmente, só é feita uma RPC. As novas tentativas do lado do cliente podem fazer com que a mesma RPC seja realizada mais do que uma vez se ocorrer um erro transitório.) |
Temporizador | google-cloud-bigtable.grpc.method.ReadRows.firstResponse.latency |
O tempo que demora a receber a primeira resposta a um pedido de análise. |
Contador | google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.performed |
O número de novas tentativas que foram realizadas. |
Contador | google-cloud-bigtable.grpc.method.[METHOD_TYPE].failures |
O número de falhas não repetíveis. |
Contador | google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.exhausted |
O número de vezes que a nova tentativa foi anulada porque demasiadas tentativas falharam. |
Métricas em massa
As métricas em massa são fornecidas para métodos que devolvem mais do que uma resposta, como uma gravação em massa.
Tipo | Nome | Descrição |
---|---|---|
Contador | google-cloud-bigtable.scanner.results |
A taxa de transferência de linhas individuais devolvidas por uma análise. |
Contador | google-cloud-bigtable.bulk-mutator.mutations.added |
O débito das mutações individuais adicionadas para cada pedido.MutateRows |
Contador | google-cloud-bigtable.bulk-mutator.mutations.retried |
O número de mutações individuais repetidas ao longo do tempo. |
Métricas de tabelas do Bigtable
A conversão de objetos do Bigtable em objetos do HBase pode aumentar a latência de um pedido. Os seguintes temporizadores podem ser correlacionados com os temporizadores *.operation.latency
especificados para medir o custo da conversão.
Tipo | Nome | Descrição |
---|---|---|
Temporizador | google-cloud-bigtable.table.put.latency |
O tempo que as operações individuais Put demoram.
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 demoram.
Correlaciona-se com
google-cloud-bigtable.grpc.method.ReadRows.operation.latency . |
Exemplo: métricas para um pedido Put
Quando as métricas do lado do cliente estão ativadas, são recolhidas as seguintes métricas para um pedido Put
bem-sucedido que não é repetido:
- 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 recolha destas métricas adiciona aproximadamente 1 microssegundo (1/1000 de um milissegundo) à operação Put
. A operação Put
geral pode ser tão rápida quanto 2 a 3 milissegundos, assumindo que a operação inclui cerca de 1 KB de dados.