Descrições das métricas do lado do cliente

As métricas do lado do cliente estão disponíveis quando usa a biblioteca cliente do Bigtable para Java ou o cliente HBase do Bigtable para Java. Esta página oferece uma descrição detalhada de cada métrica do lado do cliente.

Para saber como configurar métricas do lado do cliente, consulte o artigo Configure métricas do lado do cliente. Para uma vista geral, consulte o artigo Vista geral das métricas do lado do cliente.

As métricas são publicadas na região do cluster do Bigtable a que se destinam. Se o Bigtable não conseguir resolver o cluster para uma métrica, como quando uma operação falha, a métrica é publicada na região global e a etiqueta cluster tem o valor unspecified.

Use métricas do lado do cliente em conjunto com métricas do lado do servidor para a depuração do desempenho. Para ver uma lista abrangente de métricas do lado do servidor e do lado do cliente do Bigtable, consulte Métricas.

Latências de operação

Atributo Descrição
Métrica completa bigtable.googleapis.com/client/operation_latencies
Definição A latência total de ponta a ponta em todas as tentativas de RPC associadas a uma operação do Bigtable. Esta métrica mede a viagem de ida e volta de uma operação do cliente para o Bigtable e de volta para o cliente, e inclui todas as novas tentativas.

Para pedidos ReadRows, as latências de operação incluem o tempo de processamento da aplicação para cada mensagem devolvida.
Operações do Bigtable suportadas
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribuição
Dimensões disponíveis
  • ID do projeto
  • ID da instância
  • tabela
  • cluster
  • zona
  • ID do perfil da app
  • nome do método
  • estado de funcionamento final
  • operação de streaming
  • nome do cliente

Latências de tentativas

Atributo Descrição
Métrica completa bigtable.googleapis.com/client/attempt_latencies
Definição As latências de uma tentativa de RPC do cliente.

Em circunstâncias normais, este valor é idêntico a operation_latencies. No entanto, se o cliente receber erros temporários, operation_latencies é a soma de todos os attempt_latencies e os atrasos exponenciais.
Operações do Bigtable suportadas
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribuição
Dimensões disponíveis
  • ID do projeto
  • ID da instância
  • tabela
  • cluster
  • zona
  • ID do perfil da app
  • nome do método
  • estado da tentativa
  • operação de streaming
  • nome do cliente

Número de tentativas

Atributo Descrição
Métrica completa bigtable.googleapis.com/client/retry_count
Definição Um contador que regista o número de tentativas que uma operação precisou para ser concluída. Em circunstâncias normais, este valor está vazio.
Operações do Bigtable suportadas
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo INT64
Dimensões disponíveis
  • ID do projeto
  • ID da instância
  • tabela
  • cluster
  • zona
  • ID do perfil da app
  • nome do método
  • estado de funcionamento final
  • nome do cliente

Latências de bloqueio de aplicações

Atributo Descrição
Métrica completa bigtable.googleapis.com/client/application_blocking_latencies
Definição O tempo desde o momento em que o cliente recebe a resposta a um pedido até a aplicação ler a resposta. Esta métrica é mais relevante para pedidos ReadRows. As horas de início e fim desta métrica dependem da forma como envia o pedido de leitura. Consulte os exemplos do temporizador de latências de bloqueio de aplicações para ver detalhes.
Operações do Bigtable suportadas
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribuição
Dimensões disponíveis
  • ID do projeto
  • ID da instância
  • tabela
  • cluster
  • zona
  • ID do perfil da app
  • nome do método
  • nome do cliente

Exemplos de temporizador de latências de bloqueio de aplicações

Normalmente, os pedidos ReadRows são enviados de uma das seguintes três formas: iterativamente, de forma assíncrona ou como uma chamada futura. Os exemplos seguintes demonstram as horas de início e fim das latências de bloqueio de aplicações para cada tipo de operação 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();
}

Assí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() {
    }
});

Chamada futura

As latências de bloqueio de aplicações devem ser aproximadamente 0 (sem temporizador) para este tipo de pedido ReadRows.

List<Row> rows = bigtableDataClient.readRowsCallable().all().call(query);

Latências da primeira resposta

Atributo Descrição
Métrica completa bigtable.googleapis.com/client/first_response_latencies
Definição Latências desde o momento em que um cliente envia um pedido e recebe a primeira linha da resposta.
Operação do Bigtable suportada ReadRows
Tipo Distribuição
Dimensões disponíveis
  • ID do projeto
  • ID da instância
  • tabela
  • cluster
  • zona
  • ID do perfil da app
  • nome do método
  • estado de funcionamento final
  • nome do cliente

Latências do servidor

Atributo Descrição
Métrica completa bigtable.googleapis.com/client/server_latencies
Definição Latências entre o momento em que o front-end da Google recebe um RPC e o momento em que envia o primeiro byte da resposta.
Operações do Bigtable suportadas
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribuição
Dimensões disponíveis
  • ID do projeto
  • ID da instância
  • tabela
  • cluster
  • zona
  • ID do perfil da app
  • nome do método
  • estado da tentativa
  • operação de streaming
  • nome do cliente

Contagem de erros de conetividade

Atributo Descrição
Métrica completa bigtable.googleapis.com/client/connectivity_error_count
Definição O número de pedidos que não conseguiram alcançar a rede da Google. Em casos normais, este número é 0. Quando o número não é 0, pode indicar problemas de conetividade entre a aplicação e a rede Google.
Operações do Bigtable suportadas
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribuição
Dimensões disponíveis
  • ID do projeto
  • ID da instância
  • tabela
  • cluster
  • zona
  • ID do perfil da app
  • nome do método
  • estado da tentativa
  • nome do cliente

Latências de bloqueio de clientes

Atributo Descrição
Métrica completa bigtable.googleapis.com/client/client_blocking_latencies
Definição Latências introduzidas quando o cliente bloqueia o envio de mais pedidos ao servidor devido a demasiados pedidos pendentes numa operação em massa. Para as versões 2.21.0 e posteriores, esta métrica também inclui as latências dos pedidos colocados em fila nos canais gRPC.
Operações do Bigtable suportadas
  • 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 Distribuição
Dimensões disponíveis
  • ID do projeto
  • ID da instância
  • tabela
  • cluster
  • zona
  • ID do perfil da app
  • nome do método
  • nome do cliente

O que se segue?