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 impostare e configurare le metriche lato client, consulta Configurare le metriche lato client. Per una panoramica, consulta la Panoramica delle metriche lato client.

Le metriche vengono pubblicate nella regione del cluster Bigtable a cui sono destinate. Se Bigtable non riesce a risolvere il cluster per una metrica, come 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 cliente 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 dell'app
  • nome metodo
  • stato dell'operazione finale
  • 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 dell'app
  • nome metodo
  • stato del tentativo
  • operazione di streaming
  • nome cliente

Numero di 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 dell'app
  • nome metodo
  • stato dell'operazione finale
  • 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 quello in cui l'applicazione la legge. Questa metrica è più pertinente per le richieste 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 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 delle latenze del blocco delle applicazioni

Le richieste ReadRows vengono in genere inviate in uno dei tre modi seguenti: in modo iterativo, 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 devono essere approssimativamente pari a 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 dell'app
  • nome metodo
  • stato dell'operazione finale
  • 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 un RPC e quello 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 dell'app
  • nome 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. In casi normali, questo numero è 0. Se il numero non è 0, può indicare problemi di connettività tra l'applicazione e la rete di 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 dell'app
  • nome 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 altre richieste al server a causa di un numero eccessivo di richieste in attesa in un'operazione collettiva. Per le versioni 2.21.0 e successive, questa metrica include anche le latenze delle richieste in coda sui canali gRPC.
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 dell'app
  • nome metodo
  • nome cliente

Passaggi successivi