Descrições das métricas por parte do cliente

As métricas por parte do cliente estão disponíveis para várias bibliotecas de cliente do Bigtable. Esta página oferece uma descrição detalhada de cada métrica do lado do cliente.

Para Go, C++ e Node.js, estas métricas estão ativadas por predefinição nas versões suportadas. Para as bibliotecas cliente Java, as métricas estão disponíveis como uma funcionalidade opcional ou por predefinição, consoante a versão da biblioteca cliente. Para obter informações acerca das versões específicas, consulte a secção "Suporte da biblioteca de cliente" de cada métrica.

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 o artigo Métricas.

Latências de operação

A tabela seguinte mostra os atributos e os detalhes da métrica de latências de operações.

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 o tempo de resposta de uma operação desde o cliente até ao Bigtable e de volta ao 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

Apoio técnico da biblioteca cliente

A tabela seguinte mostra as versões mínimas da biblioteca de cliente necessárias para usar a métrica de latências de operações.

Idioma Cliente Versão (aceitar) Versão (ativada por predefinição)
Java java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Ir 1.27.0
Node.js 6.2.0 (operações ReadRows e ReadRow), 6.3.0 (outras operações)
C++ 2.40.0

Latências de tentativas

A tabela seguinte mostra os atributos e os detalhes da métrica de 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

Apoio técnico da biblioteca cliente

A tabela seguinte mostra as versões mínimas da biblioteca de cliente necessárias para usar a métrica de latências de tentativas.

Idioma Cliente Versão (aceitar) Versão (ativada por predefinição)
Java java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Ir 1.27.0
Node.js 6.2.0 (operações ReadRows e ReadRow), 6.3.0 (outras operações)
C++ 2.40.0

Número de tentativas

A tabela seguinte mostra os atributos e os detalhes da métrica de contagem de novas 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

Apoio técnico da biblioteca cliente

A tabela seguinte mostra as versões mínimas da biblioteca de cliente necessárias para usar a métrica de número de repetições.

Idioma Cliente Versão (aceitar) Versão (ativada por predefinição)
Java java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Ir 1.27.0
Node.js 6.2.0 (operações ReadRows e ReadRow), 6.3.0 (outras operações)
C++ 2.40.0

Latências de bloqueio de aplicações

A tabela seguinte mostra os atributos e os detalhes da métrica de latências de bloqueio da aplicação.

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

Apoio técnico da biblioteca cliente

A tabela seguinte mostra as versões mínimas da biblioteca cliente necessárias para usar a métrica de latências de bloqueio de aplicações.

Idioma Cliente Versão (aceitar) Versão (ativada por predefinição)
Java java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Ir 1.38.0
Node.js 6.3.0 (ReadRows operação)
C++ 2.41.0

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

A tabela seguinte mostra os atributos e os detalhes da métrica de 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

Apoio técnico da biblioteca cliente

A tabela seguinte mostra as versões mínimas da biblioteca de cliente necessárias para usar a métrica de latências da primeira resposta.

Idioma Cliente Versão (aceitar) Versão (ativada por predefinição)
Java java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Ir 1.27.0
Node.js 6.2.0 (operações ReadRows e ReadRow), 6.3.0 (outras operações)
C++ 2.40.0

Latências do servidor

A tabela seguinte mostra os atributos e os detalhes da métrica de 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

Apoio técnico da biblioteca cliente

A tabela seguinte mostra as versões mínimas da biblioteca de cliente necessárias para usar a métrica de latências do servidor.

Idioma Cliente Versão (aceitar) Versão (ativada por predefinição)
Java java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Ir 1.27.0
Node.js 6.2.0 (operações ReadRows e ReadRow), 6.3.0 (outras operações)
C++ 2.41.0

Contagem de erros de conetividade

A tabela seguinte mostra os atributos e os detalhes da métrica de 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

Apoio técnico da biblioteca cliente

A tabela seguinte mostra as versões mínimas da biblioteca de cliente necessárias para usar a métrica de contagem de erros de conetividade.

Idioma Cliente Versão (aceitar) Versão (ativada por predefinição)
Java java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1
Ir 1.38.0
Node.js 6.2.0 (operações ReadRows e ReadRow), 6.3.0 (outras operações)
C++ 2.41.0

Latências de bloqueio de clientes

A tabela seguinte mostra os atributos e os detalhes da métrica de latências de bloqueio do cliente.

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 um número excessivo de 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 quando o cliente cria um canal.
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

Apoio técnico da biblioteca cliente

A tabela seguinte mostra as versões mínimas da biblioteca cliente Java necessárias para usar a métrica de latências de bloqueio do cliente.

Idioma Cliente Versão (aceitar) Versão (ativada por predefinição)
Java java-bigtable 2.16.0 2.38.0
java-bigtable-hbase 2.6.4 2.14.1

O que se segue?