Metriche HBase lato client legacy
Questa pagina descrive un insieme di metriche lato client che è stato sostituito con metriche lato client integrate. Questa pagina viene gestita come riferimento per tutti gli sviluppatori che utilizzano ancora le metriche legacy.
Ti consigliamo di utilizzare le metriche lato client integrate descritte nella panoramica delle metriche lato client anziché le metriche precedenti descritte in questa pagina.
Attiva le metriche
Queste informazioni vengono fornite ai clienti che utilizzano le metriche precedenti. Per attivare le nuove metriche lato client integrate, consulta Configurare le metriche lato client.
Il client HBase di Cloud Bigtable per Java utilizza le metriche della procedura guidata Drop per raccogliere e generare rapporti sulle metriche lato client. Poiché la raccolta delle metriche può aggiungere una minima quantità di latenza (microsecondi a una cifra) a ogni richiesta, le metriche non erano abilitate per impostazione predefinita. Le seguenti sezioni spiegano come attivare le metriche lato client legacy.
Utilizzare il reporter di Log4j
Il modo più semplice per abilitare le metriche lato client legacy è aggiungere la seguente riga al file di configurazione Log4j:
log4j.category.com.google.cloud.bigtable.metrics=DEBUG
Questa impostazione di configurazione attiva la raccolta delle metriche e registra le metriche di Bigtable con un logger SLF4J.
Utilizzi altri reporter
Puoi utilizzare altri tipi di reporter aggiornando il codice della tua applicazione. Ad esempio, ecco un reporter che invia metriche a un server Gaphite:
Graphite pickledGraphite = new PickledGraphite(new InetSocketAddress("graphite.example.com", 2004));
DropwizardMetricRegistry registry = new DropwizardMetricRegistry();
GraphiteReporter reporter =
GraphiteReporter.forRegistry(registry.getRegistry())
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.filter(MetricFilter.ALL)
.build(pickledGraphite);
reporter.start(1, TimeUnit.MINUTES);
BigtableClientMetrics.setMetricRegistry(registry);
Le metriche della procedura guidata forniscono reporter per JMX, logging della console, SLF4J e CSV. È inoltre disponibile una vasta gamma di reporter di terze parti.
Metriche disponibili
Questa sezione descrive le metriche disponibili quando sono attivate le metriche lato client HBase legacy. Ogni metrica può avere uno dei seguenti tipi:
- Contatore: un conteggio cumulativo per JVM (Java Virtual Machine).
- Misuratore: conteggia le informazioni più le informazioni sulla velocità effettiva (un conteggio nell'ultimo minuto, negli ultimi 5 minuti o negli ultimi 15 minuti)
- Timer: informazioni sullo strumento di misurazione più informazioni sulla latenza (ad esempio mediana, media e 95° percentile)
Per ogni tipo di richiesta vengono raccolte solo alcune metriche. Vedi "Esempio: metriche per una richiesta Put
" per un esempio delle metriche che vengono raccolte durante una richiesta Put
.
Metriche a livello di canale
Tipo | Nome | Descrizione |
---|---|---|
Contatore | google-cloud-bigtable.sessions.active |
Quanti BigtableSession sono aperti. Ogni Connection HBase ha un singolo valore BigtableSession . |
Contatore | google-cloud-bigtable.grpc.channel.active |
Il numero di canali gRPC/Netty di livello inferiore aperti. Ogni BigtableSession ha molti canali gRPC. |
Metriche RPC generali
Tipo | Nome | Descrizione |
---|---|---|
Contatore | google-cloud-bigtable.grpc.rpc.active |
Il numero di chiamate di procedura remota (RPC) attualmente attive. |
Meter | google-cloud-bigtable.grpc.rpc.performed |
Velocità effettiva RPC. |
Metriche dei metodi dati
Le metriche dei metodi di dati vengono raccolte per i seguenti metodi di dati:
ReadRows
: implementa get e scansioni.MutateRow
: implementa put ed eliminazioni.MutateRows
: implementa le scritture collettive.CheckAndMutateRow
: implementa i metodicheckAnd*
di HBase.ReadModifyWrite
: implementa i metodiAppend
eIncrement
di HBase.SampleRowKeys
: recupera le informazioni sulla regione utilizzate per le operazioni MapReduce.
Tipo | Nome | Descrizione |
---|---|---|
Timer | google-cloud-bigtable.grpc.method.[METHOD_TYPE].operation.latency |
Il tempo richiesto dalle singole operazioni. Le operazioni includono la quantità totale di latenza di tutte le RPC eseguite. (Di solito viene eseguita una sola RPC. Se si verifica un errore temporaneo, i nuovi tentativi lato client possono causare l'esecuzione della stessa RPC più di una volta. |
Timer | google-cloud-bigtable.grpc.method.ReadRows.firstResponse.latency |
Il tempo necessario per ricevere la prima risposta a una richiesta di scansione. |
Meter | google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.performed |
Il numero di nuovi tentativi eseguiti. |
Meter | google-cloud-bigtable.grpc.method.[METHOD_TYPE].failures |
Il numero di errori non ripetibili. |
Meter | google-cloud-bigtable.grpc.method.[METHOD_TYPE].retries.exhausted |
Il numero di volte in cui il nuovo tentativo è stato interrotto perché un numero eccessivo di nuovi tentativi non è riuscito. |
Metriche collettive
Le metriche collettive sono fornite per i metodi che restituiscono più di una risposta, ad esempio la scrittura collettiva.
Tipo | Nome | Descrizione |
---|---|---|
Meter | google-cloud-bigtable.scanner.results |
La velocità effettiva delle singole righe restituite da una scansione. |
Meter | google-cloud-bigtable.bulk-mutator.mutations.added |
La velocità effettiva delle singole mutazioni aggiunte per ogni richiesta MutateRows . |
Meter | google-cloud-bigtable.bulk-mutator.mutations.retried |
Il numero di singole mutazioni riprovate nel tempo. |
Metriche della tabella Bigtable
La conversione degli oggetti Bigtable in oggetti HBase può aumentare la latenza di una richiesta. I seguenti timer possono essere correlati ai timer *.operation.latency
specificati per misurare il costo della conversione.
Tipo | Nome | Descrizione |
---|---|---|
Timer | google-cloud-bigtable.table.put.latency |
Il tempo richiesto dalle singole operazioni Put .
Correla con
google-cloud-bigtable.grpc.method.MutateRow.operation.latency . |
Timer | google-cloud-bigtable.table.get.latency |
Il tempo richiesto dalle singole operazioni Get .
Correla con
google-cloud-bigtable.grpc.method.ReadRows.operation.latency . |
Esempio: metriche per una richiesta Put
Quando le metriche lato client sono abilitate, vengono raccolte le seguenti metriche per una richiesta Put
riuscita che non viene ripetuta:
- Contatore:
google-cloud-bigtable.grpc.rpc.active
- Misuratore:
google-cloud-bigtable.grpc.rpc.performed
- Timer:
google-cloud-bigtable.grpc.method.MutateRow.operation.latency
- Timer:
google-cloud-bigtable.table.put.latency
La raccolta di queste metriche aggiunge circa 1 microsecondo (1/1000 di millisecondo) all'operazione Put
. L'operazione Put
complessiva potrebbe richiedere
fino a 2-3 millisecondi, supponendo che l'operazione includa circa 1 kB di
dati.