Questo argomento descrive come esaminare un componente Spanner per trovare l'origine della latenza e visualizzarla utilizzando OpenTelemetry. Per una panoramica generale dei componenti di questo argomento, consulta Punti di latenza in una richiesta Spanner.
OpenTelemetry è un framework e un toolkit di osservabilità open source che consente puoi creare e gestire dati di telemetria come tracce, metriche e log. È il risultato di una fusione tra OpenTracing e OpenCensus. Per ulteriori informazioni, consulta la sezione Che cos'è OpenTelemetry?
Le librerie client di Spanner forniscono metriche e tracce con l'uso del framework di osservabilità OpenTelemetry. Segui la procedura in Identifica il punto di latenza per trovare componenti o componenti che mostrano latenza in Spanner.
Prima di iniziare
Prima di iniziare ad acquisire le metriche di latenza, familiarizza con le strumentazione con OpenTelemetry. Devi configurare l'SDK OpenTelemetry con le opzioni appropriate per esportare i dati di telemetria. Esistono diversi tipi di Opzioni di esportazione OpenTelemetry disponibili. Ti consigliamo di usare lo strumento OpenTelemetry Esportatore di protocolli (OTLP). Altre opzioni includono l'utilizzo di un OTel Collector con Google Cloud Exporter o Google Managed Service for Prometheus Exporter.
Se esegui l'applicazione su Compute Engine, puoi utilizzare Ops Agent per raccogliere le metriche e le tracce del protocollo OpenTelemetry. Per ulteriori informazioni, consulta Raccolta di metriche e tracce OTLP.
Aggiungi dipendenze
Per configurare l'SDK OpenTelemetry e l'esportatore OTLP, aggiungi le seguenti dipendenze alla tua applicazione.
Java
Vai
Inserisci l'oggetto OpenTelemetry
Quindi, crea un oggetto OpenTelemetry con l'esportatore OTLP e inserisci il valore
Oggetto OpenTelemetry utilizzando SpannerOptions
.
Java
Vai
Acquisisci e visualizza la latenza di round trip del client
La latenza di round trip del client è il periodo di tempo (in millisecondi) che intercorre tra primo byte della richiesta API Spanner che il client invia a il database (tramite il frontend GFE e l'API Spanner), e l'ultimo byte di risposta che il client riceve dal database.
Acquisisci la latenza di round trip del client
La metrica di latenza di round trip del client Spanner non è supportata utilizzando OpenTelemetry. Puoi instrumentare la metrica utilizzando OpenCensus con una ponte ed eseguire la migrazione dei dati in OpenTelemetry.
Visualizza la latenza di round trip del client
Dopo aver recuperato le metriche, puoi visualizzare la latenza di andata e ritorno del client in e configurazione in Cloud Monitoring.
Ecco un esempio di grafico che illustra la latenza del 5° percentile per la latenza di andata e ritorno del client. Per modificare la latenza percentile in il 50° o il 99° percentile, utilizza il menu Aggregatore.
Il programma crea una vista denominata roundtrip_latency
. Questa stringa diventa parte
del nome della metrica quando viene esportata in Cloud Monitoring.
Acquisisci e visualizza la latenza di GFE
La latenza di Google Front End (GFE) è il periodo di tempo (in millisecondi) tra il momento in cui la rete di Google riceve una chiamata di procedura remota dal client e il momento in cui GFE riceve il primo byte della risposta.
Acquisizione della latenza GFE
Puoi acquisire le metriche di latenza dei GFE abilitando le seguenti opzioni usando la libreria client di Spanner.
Java
Vai
Visualizzare la latenza GFE
Dopo aver recuperato le metriche, puoi visualizzare la latenza dei GFE e configurazione in Cloud Monitoring.
Ecco un esempio di grafico che illustra l'aggregazione della distribuzione per la metrica della latenza GFE. Per cambiare la latenza percentile al 5°, 50°, 95° o 99° percentile, utilizza il menu Aggregatore.
Il programma crea una vista denominata spanner/gfe_latency
. Questo
diventa parte del nome della metrica quando viene esportata in
e configurazione in Cloud Monitoring.
Acquisisci e visualizza la latenza delle richieste API Spanner
La latenza delle richieste API Spanner è il periodo di tempo (in secondi) tra il primo byte di richiesta che il frontend dell'API Spanner riceve l'ultimo byte di risposta che l'API Spanner gli invii frontend.
Acquisisci la latenza delle richieste dell'API Spanner
Per impostazione predefinita, questa latenza è disponibile nell'ambito delle metriche di Cloud Monitoring. Non devi fare nulla per acquisirla ed esportarla.
Visualizza la latenza delle richieste API Spanner
Puoi utilizzare Esplora metriche.
per visualizzare il grafico
spanner.googleapis.com/api/request_latencies
in Cloud Monitoring.
Ecco un esempio di grafico che illustra la latenza del 5° percentile per Metrica di latenza delle richieste API Spanner. Per modificare il percentile di latenza al 50° o 99° percentile, utilizza l'Aggregatore o dal menu Fogli Google.
Acquisisci e visualizza la latenza delle query
La latenza delle query è il tempo (in millisecondi) necessario per eseguire query SQL nel database Spanner.
Acquisisci la latenza delle query
Puoi acquisire la latenza delle query nelle seguenti lingue:
Java
Vai
Visualizza la latenza delle query
Dopo aver recuperato le metriche, puoi visualizzare la latenza delle query e configurazione in Cloud Monitoring.
Ecco un esempio di grafico che illustra l'aggregazione della distribuzione per la metrica di latenza GFE. Per cambiare la latenza percentile al 5°, 50°, 95° o 99° percentile, utilizza il menu Aggregatore.
Il programma crea una vista OpenCensus chiamata query_stats_elapsed
.
Questa stringa diventa parte del nome della metrica quando viene esportata in
e configurazione in Cloud Monitoring.
Passaggi successivi
Scopri di più su OpenTelemetry.
Scopri come eseguire la migrazione a OpenTelemetry.
Scopri come utilizzare le metriche per diagnosticare la latenza.