Puoi utilizzare gli esemplari per correlare i dati delle metriche e delle tracce. Un esemplare è una richiesta di campione rappresentativo o uno span associato a una misurazione della metrica. La tua applicazione può creare e allegare esemplari ai dati delle metriche. In alternativa, Google Cloud Observability può generarli dinamicamente quando traccia i risultati delle query. Collegando un singolo ID traccia a una metrica aggregata, gli esemplari ti aiutano a esaminare rapidamente la causa principale dei picchi di latenza o degli errori.
Questo documento descrive come configurare OpenTelemetry per creare e allegare esemplari di traccia ai dati delle metriche.
Se tracci i risultati delle query SQL su una dashboard, Google Cloud Observability può anche generare automaticamente gli esemplari. Per saperne di più, vedi Generare e visualizzare gli esemplari di traccia.
Informazioni sugli esemplari
Gli esemplari sono un modo per associare dati arbitrari ai dati delle metriche. Puoi utilizzarli per allegare dati non metrici alle misurazioni.
Un utilizzo degli esemplari è l'associazione dei dati di traccia ai dati delle metriche.
In Cloud Monitoring, gli esemplari possono essere
allegati ai dati delle metriche con il Distribution
tipo di valore. Le metriche con valori di distribuzione raccolgono molte misurazioni e le raggruppano in bucket.
Ogni "punto" è un istogramma, ovvero un array che elenca i conteggi dei bucket.
Le misurazioni effettive non vengono conservate, solo i conteggi dei bucket. Per saperne di più, vedi
Informazioni sulle metriche con valori di distribuzione.
Quando viene scritto un punto dati della metrica, è possibile allegare un array di Exemplar
oggetti a questi dati. Gli esemplari, se utilizzati, allegano informazioni utili ai dati delle metriche. Ad esempio,
quando OpenTelemetry scrive un esemplare, allega un link all'intervallo corrente
di una traccia.
I dati dell'istogramma vengono in genere visualizzati utilizzando una mappa termica. Quando un "punto" contiene un esemplare, Cloud Monitoring annota la mappa termica con un punto:
- Per visualizzare le informazioni di riepilogo sul punto della metrica, attiva la descrizione comando per l'annotazione.
- Per accedere alla traccia, seleziona l'annotazione.
Ad esempio, il
campione di strumentazione Go utilizza OpenTelemetry per
scrivere dati delle metriche, dati di traccia ed esemplari.
Lo screenshot seguente mostra il valore della metrica prometheus/http_server_duration_milliseconds/histogram dopo diverse esecuzioni dell'applicazione:

Lo screenshot precedente mostra più esemplari. La descrizione comando di un esemplare è espansa e mostra la data, il nome della traccia, i percentili e un valore di latenza.
Quando viene selezionata l'annotazione, viene visualizzata la traccia collegata nell'esemplare:

Se le informazioni visualizzate non sono sufficientemente dettagliate, puoi selezionare Visualizza in Trace per aprire la pagina Esplora tracce. In questa pagina puoi visualizzare gli attributi della traccia e accedere ai link alle voci di log.
Come abilitare gli esemplari di OpenTelemetry
Come illustrato nell'esempio precedente, puoi configurare OpenTelemetry per scrivere esemplari che collegano l'intervallo corrente span di una traccia a una misurazione della metrica. Tuttavia, per scrivere gli esemplari, devi:
- Configurare gli SDK delle metriche e delle tracce di OpenTelemetry.
Per includere gli esemplari nella strumentazione personalizzata, assicurati che la metrica venga registrata all'interno di un intervallo e di passare il contesto dall'intervallo con la misurazione della metrica.
Ad esempio, la funzione
computeSubrequestssegue le indicazioni precedenti. La funzionesubRequestsHistogram.Recordviene richiamata dopotracer.Starte prima dispan.End, che viene rinviata. Tieni presente che il contesto,ctx, viene passato datracer.Startalla funzioneRecord:Per saperne di più su questo esempio, vedi Aggiungere tracce e metriche personalizzate alla tua app.
Passaggi successivi
- OpenTelemetry
- Esemplari di OpenTelemetry
- Modello di dati delle metriche di OpenTelemetry
- Istogramma di OpenTelemetry