Descrizioni delle metriche lato client

Le metriche lato client sono disponibili quando utilizzi la libreria client Bigtable per Java o il client Bigtable HBase per Java. Questa pagina fornisce una descrizione dettagliata di ogni metrica lato client.

Per scoprire come configurare le metriche lato client, consulta Configurare le metriche lato client. Per una panoramica, consulta Panoramica delle metriche lato client.

Le metriche vengono pubblicate nella regione del cluster Bigtable a cui si riferiscono. Se Bigtable non riesce a risolvere il cluster per una metrica, ad esempio quando un'operazione non va a buon fine, la metrica viene pubblicata nella regione globale e il tag cluster ha il valore unspecified.

Utilizza le metriche lato client insieme a quelle lato server per il debug delle prestazioni. Per un elenco completo delle metriche lato server e lato client di Bigtable, consulta Metriche.

Latenze delle operazioni

Attributo Descrizione
Metrica completa bigtable.googleapis.com/client/operation_latencies
Definizione La latenza end-to-end totale tra tutti i tentativi RPC associati a un'operazione Bigtable. Questa metrica misura il round trip di un'operazione dal client a Bigtable e di nuovo al client e include tutti i tentativi.

Per le richieste ReadRows, le latenze delle operazioni includono il tempo di elaborazione dell'applicazione per ogni messaggio restituito.
Operazioni Bigtable supportate
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribuzione
Dimensioni disponibili
  • ID progetto
  • ID istanza
  • tabella
  • cluster
  • zona
  • ID profilo app
  • nome del metodo
  • stato finale dell'operazione
  • operazione di streaming
  • nome cliente

Latenze dei tentativi

Attributo Descrizione
Metrica completa bigtable.googleapis.com/client/attempt_latencies
Definizione Le latenze di un tentativo RPC del client.

In circostanze normali, questo valore è identico a operation_latencies. Se il client riceve errori temporanei, tuttavia, operation_latencies è la somma di tutti i valori di attempt_latencies e dei ritardi esponenziali.
Operazioni Bigtable supportate
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribuzione
Dimensioni disponibili
  • ID progetto
  • ID istanza
  • tabella
  • cluster
  • zona
  • ID profilo app
  • nome del metodo
  • stato del tentativo
  • operazione di streaming
  • nome cliente

Conteggio tentativi

Attributo Descrizione
Metrica completa bigtable.googleapis.com/client/retry_count
Definizione Un contatore che registra il numero di tentativi necessari per completare un'operazione. In circostanze normali, questo valore è vuoto.
Operazioni Bigtable supportate
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo INT64
Dimensioni disponibili
  • ID progetto
  • ID istanza
  • tabella
  • cluster
  • zona
  • ID profilo app
  • nome del metodo
  • stato finale dell'operazione
  • nome cliente

Latenze di blocco delle applicazioni

Attributo Descrizione
Metrica completa bigtable.googleapis.com/client/application_blocking_latencies
Definizione Il tempo che intercorre tra il momento in cui il client riceve la risposta a una richiesta e il momento in cui l'applicazione legge la risposta. Questa metrica è più pertinente per le richieste ReadRows. Gli orari di inizio e fine per questa metrica dipendono dal modo in cui invii la richiesta di lettura. Per maggiori dettagli, consulta Esempi di timer di latenza di blocco delle applicazioni.
Operazioni Bigtable supportate
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribuzione
Dimensioni disponibili
  • ID progetto
  • ID istanza
  • tabella
  • cluster
  • zona
  • ID profilo app
  • nome del metodo
  • nome cliente

Esempi di timer di latenza del blocco delle applicazioni

Le richieste ReadRows vengono in genere inviate in tre modi: in modo iterativo, asincrono o come chiamata futura. Gli esempi seguenti mostrano gli orari di inizio e fine delle latenze di blocco delle applicazioni per ogni tipo di operazione 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();
}

Asincrona

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

Chiamata futura

Le latenze di blocco delle applicazioni devono essere pari a circa 0 (nessun timer) per questo tipo di richiesta ReadRows.

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

Latenze della prima risposta

Attributo Descrizione
Metrica completa bigtable.googleapis.com/client/first_response_latencies
Definizione Latenze dal momento in cui un client invia una richiesta e riceve la prima riga della risposta.
Operazione Bigtable supportata ReadRows
Tipo Distribuzione
Dimensioni disponibili
  • ID progetto
  • ID istanza
  • tabella
  • cluster
  • zona
  • ID profilo app
  • nome del metodo
  • stato finale dell'operazione
  • nome cliente

Latenze del server

Attributo Descrizione
Metrica completa bigtable.googleapis.com/client/server_latencies
Definizione Latenze tra il momento in cui il frontend di Google riceve una RPC e il momento in cui invia il primo byte della risposta.
Operazioni Bigtable supportate
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribuzione
Dimensioni disponibili
  • ID progetto
  • ID istanza
  • tabella
  • cluster
  • zona
  • ID profilo app
  • nome del metodo
  • stato del tentativo
  • operazione di streaming
  • nome cliente

Conteggio degli errori di connettività

Attributo Descrizione
Metrica completa bigtable.googleapis.com/client/connectivity_error_count
Definizione Il numero di richieste che non sono riuscite a raggiungere la rete di Google. Nei casi normali, questo numero è 0. Quando il numero non è 0, può indicare problemi di connettività tra l'applicazione e la rete Google.
Operazioni Bigtable supportate
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribuzione
Dimensioni disponibili
  • ID progetto
  • ID istanza
  • tabella
  • cluster
  • zona
  • ID profilo app
  • nome del metodo
  • stato del tentativo
  • nome cliente

Latenze di blocco del client

Attributo Descrizione
Metrica completa bigtable.googleapis.com/client/client_blocking_latencies
Definizione Latenze introdotte quando il client blocca l'invio di ulteriori richieste al server a causa di troppe richieste in attesa in un'operazione bulk. Per le versioni 2.21.0 e successive, questa metrica include anche le latenze delle richieste accodate sui canali gRPC quando il client crea un canale.
Operazioni Bigtable supportate
  • 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 Distribuzione
Dimensioni disponibili
  • ID progetto
  • ID istanza
  • tabella
  • cluster
  • zona
  • ID profilo app
  • nome del metodo
  • nome cliente

Passaggi successivi