Metriche lato client HBase legacy
Questa pagina descrive un insieme di metriche lato client che sono state sostituite con quelle predefinite. Questa pagina viene mantenuta come riferimento per gli sviluppatori che utilizzano ancora le metriche precedenti.
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 sono fornite per i clienti che utilizzano le metriche precedenti. Per attivare le metriche lato client integrate più recenti, consulta Configurare le metriche lato client.
Il client Cloud Bigtable HBase per Java utilizzava Dropwizard Metrics per raccogliere e generare report sulle metriche lato client. Poiché la raccolta delle metriche può aggiungere una quantità molto piccola di latenza (microsecondi a una cifra) a ogni richiesta, le metriche non sono state attivate per impostazione predefinita. Le sezioni seguenti spiegano come attivare le metriche lato client precedenti.
Utilizzare il reporter Log4j
Il modo più semplice per attivare le metriche lato client precedenti è aggiungere la seguente riga al file di configurazione di Log4j:
log4j.category.com.google.cloud.bigtable.metrics=DEBUG
Questa impostazione di configurazione attiva la raccolta delle metriche e registra le metriche Bigtable con un logger SLF4J.
Utilizzare altri report
Puoi utilizzare altri tipi di report aggiornando il codice dell'applicazione. Ad esempio, di seguito è riportato un report che invia le metriche a un server Graphite:
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);
Dropwizard Metrics fornisce report per JMX, logging della console, SLF4J e CSV. Sono inoltre disponibili diversi reporter di terze parti.
Metriche disponibili
Questa sezione descrive le metriche disponibili quando sono attivate le metriche lato client HBase legacy. Ogni metrica ha uno dei seguenti tipi:
- Contatore: un conteggio cumulativo per ogni macchina virtuale Java (JVM).
- Meter: informazioni sul conteggio più informazioni sul throughput (un conteggio per l'ultimo minuto, 5 minuti o 15 minuti)
- Timer: informazioni sul misuratore più informazioni sulla latenza (ad es. mediana, media e 95° percentile)
Per ogni tipo di richiesta vengono raccolte solo determinate metriche. Consulta "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 |
Il numero di BigtableSession aperti. Ogni tabella HBase
Connection ha un solo 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 |
Throughput RPC. |
Metriche del metodo di dati
Le metriche dei metodi di dati vengono raccolte per i seguenti metodi di dati:
ReadRows
: implementa get e scansioni.MutateRow
: implementa put ed elimina.MutateRows
: implementa le scritture collettive.CheckAndMutateRow
: implementa i metodicheckAnd*
di HBase.ReadModifyWrite
: implementa i metodiAppend
eIncrement
di HBase.SampleRowKeys
: recupera le informazioni sulle regioni utilizzate per le operazioni MapReduce.
Tipo | Nome | Descrizione |
---|---|---|
Timer | google-cloud-bigtable.grpc.method.[METHOD_TYPE].operation.latency |
La durata delle singole operazioni. Le operazioni includono la quantità totale di latenza di tutte le RPC eseguite. Di solito viene eseguita solo una RPC. I nuovi tentativi lato client possono causare l'esecuzione della stessa RPC più di una volta se si verifica un errore transitorio. |
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é troppi tentativi non sono riusciti. |
Metriche collettive
Le metriche collettive sono fornite per i metodi che restituiscono più di una risposta, come una scrittura collettiva.
Tipo | Nome | Descrizione |
---|---|---|
Meter | google-cloud-bigtable.scanner.results |
Il throughput delle singole righe restituite da una scansione. |
Meter | google-cloud-bigtable.bulk-mutator.mutations.added |
Il throughput delle singole mutazioni aggiunte per ogni
MutateRows richiesta. |
Meter | google-cloud-bigtable.bulk-mutator.mutations.retried |
Il numero di singole mutazioni riprovate nel tempo. |
Metriche delle tabelle Bigtable
La conversione di 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 |
La durata delle singole operazioni Put .
Correla con
google-cloud-bigtable.grpc.method.MutateRow.operation.latency . |
Timer | google-cloud-bigtable.table.get.latency |
La durata delle 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 attivate, per una richiesta Put
riuscita per la quale non viene eseguito alcun nuovo tentativo vengono raccolte le seguenti metriche:
- Contatore:
google-cloud-bigtable.grpc.rpc.active
- Contatore:
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 millesimo di secondo) all'operazione Put
. L'operazione Put
complessiva potrebbe essere rapida come da 2 a 3 millisecondi, supponendo che l'operazione includa circa 1 KB di dati.