Questo argomento descrive come esaminare un componente Spanner per trovare l'origine della latenza e visualizzare la latenza utilizzando OpenTelemetry. Per una panoramica generale dei componenti in questo argomento, consulta Punti di latenza in una richiesta Spanner.
OpenTelemetry è un framework e toolkit di osservabilità open source che consente di creare e gestire dati di telemetria come tracce, metriche e log. È il risultato di una fusione tra OpenTraccia e OpenCensus. Per ulteriori informazioni, vedi Che cos'è OpenTelemetry?
Le librerie client di Spanner forniscono metriche e tracce con l'uso del framework di osservabilità OpenTelemetry. Segui la procedura descritta in Identificare il punto di latenza per trovare i componenti o i componenti che mostrano la latenza in Spanner.
Prima di iniziare
Prima di iniziare ad acquisire le metriche di latenza, acquisisci familiarità con la strumentazione manuale con OpenTelemetry. Devi configurare l'SDK OpenTelemetry con le opzioni appropriate per esportare i dati di telemetria. Sono disponibili diverse opzioni di esportazione di OpenTelemetry. Ti consigliamo di utilizzare l'esportatore OpenTelemetry Protocol (OTLP). Altre opzioni includono l'utilizzo di OTel Collector con Google Cloud Exporter o Google Managed Service per Prometheus Exporter.
Se esegui la tua applicazione su Compute Engine, puoi utilizzare Ops Agent per raccogliere metriche e tracce del protocollo OpenTelemetry. Per maggiori informazioni, consulta Raccogliere metriche e tracce OTLP.
Aggiungi dipendenze
Per configurare l'SDK OpenTelemetry e l'esportazione OTLP, aggiungi le seguenti dipendenze all'applicazione.
Java
Go
Inserisci l'oggetto OpenTelemetry
Quindi, crea un oggetto OpenTelemetry con l'esportatore OTLP e inserisci l'oggetto
OpenTelemetry utilizzando SpannerOptions
.
Java
Go
Acquisisci e visualizza la latenza di round trip del client
La latenza di round trip del client è il tempo (in millisecondi) che intercorre tra il primo byte della richiesta dell'API Spanner che il client invia al database (tramite sia il GFE che il frontend dell'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 andata e ritorno del client Spanner non è supportata utilizzando OpenTelemetry. Puoi instrumentare la metrica utilizzando OpenCensus con un 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 Cloud Monitoring.
Di seguito è riportato un esempio di grafico che illustra la latenza del 5° percentile per la metrica latenza di andata e ritorno del client. Per modificare la latenza percentile al 50° o al 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.
Acquisizione e visualizzazione della latenza GFE
La latenza di Google Front End (GFE) è il periodo di tempo (in millisecondi) che intercorre tra il momento in cui la rete Google riceve una chiamata di procedura remota dal client e il momento in cui il GFE riceve il primo byte della risposta.
Acquisizione della latenza GFE
Puoi acquisire le metriche di latenza dei GFE abilitando le seguenti opzioni mediante la libreria client Spanner.
Java
Go
Visualizzare la latenza dei GFE
Dopo aver recuperato le metriche, puoi visualizzare la latenza dei GFE in Cloud Monitoring.
Ecco un esempio di grafico che illustra l'aggregazione della distribuzione per la metrica di latenza GFE. Per modificare la latenza percentile al 5°, 50°, 95° o 99° percentile, utilizza il menu Aggregatore.
Il programma crea una vista denominata spanner/gfe_latency
. Questa
stringa diventa parte del nome della metrica quando viene esportata
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 ricevuto dal frontend dell'API Spanner e l'ultimo byte di risposta inviato dal frontend dell'API Spanner.
Acquisizione della latenza delle richieste API Spanner
Per impostazione predefinita, questa latenza è disponibile nelle metriche di Cloud Monitoring. Non devi fare nulla per acquisirla ed esportarla.
Visualizza la latenza delle richieste API Spanner
Puoi utilizzare lo strumento di creazione dei grafici Metrics Explorer per visualizzare il grafico della metrica spanner.googleapis.com/api/request_latencies
in Cloud Monitoring.
Ecco un esempio di grafico che illustra la latenza del 5° percentile per la metrica di latenza delle richieste dell'API Spanner. Per modificare la latenza percentile al 50° o al 99° percentile, utilizza il menu Aggregatore.
Acquisisci e visualizza la latenza delle query
La latenza delle query è il tempo (in millisecondi) necessario per eseguire query SQL nel database Spanner.
Acquisisci latenza delle query
Puoi acquisire la latenza delle query nelle seguenti lingue:
Java
Go
Visualizza la latenza delle query
Dopo aver recuperato le metriche, puoi visualizzare la latenza delle query in Cloud Monitoring.
Ecco un esempio di grafico che illustra l'aggregazione della distribuzione per la metrica di latenza GFE. Per modificare 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 Cloud Monitoring.
Passaggi successivi
Scopri di più su OpenTelemetry.
Scopri come eseguire la migrazione a OpenTelemetry.
Scopri come utilizzare le metrics per diagnosticare la latenza.