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

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

Para saber como configurar métricas do lado do cliente, consulte este link. Para uma visão geral, consulte a visão geral das métricas do lado do cliente.

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

Use métricas do lado do cliente com métricas do servidor para depurar o desempenho. Para uma lista abrangente de métricas do lado do servidor e 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. Essa métrica mede o tempo de retorno de uma operação do cliente ao Bigtable e de volta ao cliente, incluindo todas as novas tentativas.

Para solicitações ReadRows, as latências de operação incluem o tempo de processamento do aplicativo para cada mensagem retornada.
Operações compatíveis do Bigtable
  • 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 do aplicativo
  • nome do método
  • status final da operação
  • operação de streaming
  • nome do cliente

Latências de tentativa

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, esse valor é idêntico a operation_latencies. No entanto, se o cliente receber erros transitórios, operation_latencies será a soma de todos os attempt_latencies e atrasos exponenciais.
Operações compatíveis do Bigtable
  • 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 do aplicativo
  • nome do método
  • status da tentativa
  • operação de streaming
  • nome do cliente

Contagem de repetições

Atributo Descrição
Métrica completa bigtable.googleapis.com/client/retry_count
Definição Um contador que registra o número de tentativas que uma operação solicitou a conclusão. Em circunstâncias normais, esse valor está vazio.
Operações compatíveis do Bigtable
  • 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 do aplicativo
  • nome do método
  • status final da operação
  • nome do cliente

Latências de bloqueio de aplicativos

Atributo Descrição
Métrica completa bigtable.googleapis.com/client/application_blocking_latencies
Definição O momento em que o cliente recebe a resposta de uma solicitação até que o aplicativo leia a resposta. Essa métrica é mais relevante para solicitações ReadRows. Os horários de início e término dessa métrica dependem da maneira como você envia a solicitação de leitura. Consulte Exemplos de timer de latência de bloqueio de aplicativos para mais detalhes.
Operações compatíveis do Bigtable
  • 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 do aplicativo
  • nome do método
  • nome do cliente

Exemplos de timer de latência de bloqueio de aplicativos

Geralmente, as solicitações de ReadRows são enviadas de três maneiras: de maneira iterativa, assíncrona ou como uma chamada futura. Os exemplos a seguir demonstram os horários de início e término das latências de bloqueio de aplicativos 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íncrona

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 do aplicativo precisam ser aproximadamente 0 (sem timer) para esse tipo de solicitação ReadRows.

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

Latências de primeira resposta

Atributo Descrição
Métrica completa bigtable.googleapis.com/client/first_response_latencies
Definição Latências de quando um cliente envia uma solicitação e recebe a primeira linha da resposta.
Operação do Bigtable compatível ReadRows
Tipo Distribuição
Dimensões disponíveis
  • ID do projeto
  • ID da instância
  • tabela
  • cluster
  • zona
  • ID do perfil do aplicativo
  • nome do método
  • status final da operação
  • 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 do Google recebe uma RPC e quando ele envia o primeiro byte da resposta.
Operações compatíveis do Bigtable
  • 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 do aplicativo
  • nome do método
  • status da tentativa
  • operação de streaming
  • nome do cliente

Contagem de erros de conectividade

Atributo Descrição
Métrica completa bigtable.googleapis.com/client/connectivity_error_count
Definição O número de solicitações que não chegaram à rede do Google. Em casos normais, esse número é 0. Quando o número não é 0, ele pode indicar problemas de conectividade entre o aplicativo e a rede do Google.
Operações compatíveis do Bigtable
  • 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 do aplicativo
  • nome do método
  • status da tentativa
  • nome do cliente

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 solicitações ao servidor devido a muitas solicitações pendentes em uma operação em massa. Para as versões 2.21.0 e posteriores, essa métrica também inclui as latências de solicitações enfileiradas em canais gRPC.
Operações compatíveis do Bigtable
  • 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 do aplicativo
  • nome do método
  • nome do cliente

A seguir