Questo documento descrive come acquisire metriche client personalizzate utilizzando OpenTelemetry. Le metriche client personalizzate sono disponibili utilizzando le librerie client Java e Go.
Le metriche personalizzate lato client possono aiutarti a trovare l'origine della latenza nel tuo sistema. Per saperne di più, vedi Punti di latenza in una richiesta Spanner.
Le librerie client Spanner forniscono anche statistiche e tracce utilizzando il framework di osservabilità OpenTelemetry. Per saperne di più, vedi Configurare la raccolta delle tracce utilizzando OpenTelemetry.
OpenTelemetry è un framework e un toolkit di osservabilità open source che ti consente di creare e gestire dati di telemetria come tracce, metriche e log.
Prima di iniziare
Devi configurare l'SDK OpenTelemetry con le opzioni appropriate per esportare i dati di telemetria. Ti consigliamo di utilizzare l'esportatore del protocollo OpenTelemetry (OTLP).
Per configurare metriche personalizzate lato client utilizzando OpenTelemetry, devi configurare l'SDK OpenTelemetry e l'esportatore OTLP:
Aggiungi le dipendenze necessarie alla tua applicazione utilizzando il seguente codice:
Java
Go
Crea un oggetto OpenTelemetry con l'esportatore OTLP e inseriscilo in Spanner utilizzando
SpannerOptions
:Java
Go
Acquisire la latenza di GFE
La latenza di Google Front End (GFE) è la durata in millisecondi tra il momento in cui la rete Google riceve una chiamata di procedura remota dal client e il momento in cui GFE riceve il primo byte della risposta.
Puoi acquisire la latenza di GFE utilizzando il seguente codice:
Java
Go
L'app di esempio di codice aggiunge la stringa spanner/gfe_latency
al nome della metrica quando
viene esportata in Cloud Monitoring. Puoi cercare questa metrica su
Cloud Monitoring utilizzando la stringa aggiunta.
Acquisire la latenza delle richieste API Cloud Spanner
La latenza delle richieste dell'API Cloud Spanner è il tempo in secondi tra il primo byte della richiesta del client ricevuto dal frontend dell'API Cloud Spanner e l'ultimo byte della risposta inviato dal frontend dell'API Cloud Spanner.
Questa metrica di latenza è disponibile nell'ambito delle metriche di Cloud Monitoring.
Acquisire la latenza di andata e ritorno del client
La latenza di andata e ritorno del client è la durata in millisecondi tra il primo byte della richiesta API Cloud Spanner che il client invia al database (tramite GFE e il frontend dell'API Cloud Spanner) e l'ultimo byte della risposta che il client riceve dal database.
La metrica relativa alla latenza round trip del client Spanner non è supportata utilizzando OpenTelemetry. Puoi visualizzare la metrica lato client della latenza dell'operazione. Per saperne di più, vedi Descrizioni delle metriche lato client.
Puoi anche instrumentare la metrica utilizzando OpenCensus con un bridge ed eseguire la migrazione dei dati a OpenTelemetry.
Acquisire la latenza delle query
La latenza delle query è la durata in millisecondi per eseguire query SQL nel database Spanner.
Puoi acquisire la latenza delle query utilizzando il seguente codice:
Java
Go
L'app di esempio di codice aggiunge la stringa spanner/query_stats_elapsed
al nome della metrica quando
viene esportata in Cloud Monitoring. Puoi cercare questa metrica su
Cloud Monitoring utilizzando la stringa aggiunta.
Visualizzare le metriche in Metrics Explorer
Nella console Google Cloud , vai alla pagina Metrics Explorer.
Seleziona il progetto.
Fai clic su Seleziona una metrica.
Cerca una metrica di latenza utilizzando le seguenti stringhe:
roundtrip_latency
: per la metrica della latenza di andata e ritorno del client.spanner/gfe_latency
: per la metrica di latenza GFE.spanner/query_stats_elapsed
: per la metrica della latenza delle query.
Seleziona la metrica, poi fai clic su Applica.
Per ulteriori informazioni sul raggruppamento o sull'aggregazione della metrica, consulta Creare query utilizzando i menu.
Passaggi successivi
- Scopri di più su OpenTelemetry.
- Scopri come configurare l'SDK OpenTelemetry.
- Scopri come eseguire la migrazione a OpenTelemetry.
- Scopri come utilizzare le metriche per diagnosticare la latenza.