Descrizioni delle metriche lato client

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

Per scoprire come impostare e configurare le metriche lato client, consulta Configura le metriche lato client. Per una panoramica, consulta Panoramica delle metriche lato client.

Le metriche vengono pubblicate nella regione del cluster Bigtable a cui sono destinati. Se Bigtable non può risolvere il cluster per una metrica, ad esempio in caso di errore di un'operazione, 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 di Bigtable lato server e lato client, 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 un di andata e ritorno dell'operazione dal client a Bigtable al client e include tutti i nuovi tentativi.

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

Latenze dei tentativi

Attributo Descrizione
Metrica completa bigtable.googleapis.com/client/attempt_latencies
Definizione 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 di Bigtable supportate
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribuzione
Dimensioni disponibili
  • ID progetto
  • ID istanza
  • tabella
  • cluster
  • zona
  • ID profilo dell'app
  • nome metodo
  • stato tentativo
  • operazione di flusso
  • nome cliente

Numero di tentativi

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

Latenze di blocco delle applicazioni

Attributo Descrizione
Metrica completa bigtable.googleapis.com/client/application_blocking_latencies
Definizione L'intervallo di tempo tra il momento in cui il client riceve la risposta a un finché l'applicazione non legge la risposta. Questa metrica è la pertinente per le richieste di ReadRows. I tempi di inizio e di interruzione per questa metrica dipendono dal modo in cui invii la richiesta di lettura. Per maggiori dettagli, consulta Esempi di timer delle latenze di blocco dell'applicazione.
Operazioni di Bigtable supportate
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribuzione
Dimensioni disponibili
  • ID progetto
  • ID istanza
  • tabella
  • cluster
  • zona
  • ID profilo dell'app
  • nome metodo
  • nome cliente

Esempi di timer per le latenze di blocco delle applicazioni

Le richieste di ReadRows vengono generalmente inviate in tre modi: iterativamente, in modo asincrono o come chiamata futura. Gli esempi riportati di seguito mostrano le ore di inizio e di interruzione delle latenze di blocco dell'applicazione 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 dell'applicazione dovrebbero essere circa 0 (nessun timer) per questo tipo di richiesta ReadRows.

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

Latenze di prima risposta

Attributo Descrizione
Metrica completa bigtable.googleapis.com/client/first_response_latencies
Definizione Latenze da quando 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 dell'app
  • nome metodo
  • stato finale dell'operazione
  • nome cliente

Latenze 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 quando 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 dell'app
  • nome metodo
  • stato tentativo
  • operazione di flusso
  • 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. In casi normali, questo numero è 0. Se il numero è diverso da 0, può essere indicare problemi di connettività tra l'applicazione e Google in ogni rete.
Operazioni di Bigtable supportate
  • ReadRow
  • ReadRows
  • MutateRow
  • MutateRows
  • SampleRowKeys
  • CheckAndMutateRow
  • BulkReadRows
  • BulkMutateRows
Tipo Distribuzione
Dimensioni disponibili
  • ID progetto
  • ID istanza
  • tabella
  • cluster
  • zona
  • ID profilo dell'app
  • nome metodo
  • stato 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 altri richieste al server a causa di troppe richieste in sospeso contemporaneamente operativa. Per le versioni 2.21.0 e successive, questa metrica include anche le latenze delle richieste in coda sui canali gRPC.
Operazioni di 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 dell'app
  • nome metodo
  • nome cliente

Passaggi successivi