Metriche lato client HBase legacy
Questa pagina descrive un insieme di metriche lato client che sono state sostituite con quelle predefinite. Questa pagina è gestita come un per gli sviluppatori che usano ancora le metriche precedenti.
Ti consigliamo di utilizzare le metriche integrate lato client descritte in 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 Metriche 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 abilitare le metriche lato client legacy è aggiungere 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 Bigtable con un logger SLF4J.
Utilizzare altri reporter
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 alcune 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 |
Numero di BigtableSession aperti. Ogni tabella HBase
Connection ha un solo BigtableSession . |
Contatore | google-cloud-bigtable.grpc.channel.active |
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 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 MapReduce operazioni aziendali.
Tipo | Nome | Descrizione |
---|---|---|
Timer | google-cloud-bigtable.grpc.method.[METHOD_TYPE].operation.latency |
Il periodo di tempo richiesto dalle singole operazioni. Le operazioni includono e la latenza totale di tutte le RPC eseguite. (di solito solo una RPC in esecuzione. I nuovi tentativi lato client possono causare l'esecuzione della stessa RPC più di una volta sola se si verifica un errore temporaneo.) |
Timer | google-cloud-bigtable.grpc.method.ReadRows.firstResponse.latency |
Il tempo necessario per ricevere la prima risposta a una scansione richiesta. |
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 è stato interrotto il nuovo tentativo a causa di un numero eccessivo di nuovi tentativi non riuscito. |
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 |
La velocità effettiva 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 tentate 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
*.operation.latency
timer 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 un
millisecondi) all'operazione Put
. L'operazione complessiva di Put
potrebbe essere
rapidamente da 2 a 3 millisecondi, supponendo che l'operazione includa circa 1 KB di
e i dati di Google Cloud.