Cloud Trace, un sistema di tracciamento distribuito per Google Cloud, ti aiuta a capire quanto tempo impiega la tua applicazione per gestire le richieste in entrata da utenti o altre applicazioni e quanto tempo impiega per completare operazioni come le chiamate RPC eseguite durante la gestione delle richieste. Trace può anche aiutarti durante lo sviluppo di un servizio o la risoluzione dei problemi di un errore. Ad esempio, può aiutarti a capire come vengono elaborate le richieste in un'architettura di microservizi complessa e potrebbe aiutarti a identificare i log da esaminare.
Poiché Trace riceve dati di latenza da alcuni Google Cloudservizi, come App Engine, e da applicazioni instrumentate con l'API Cloud Trace, può aiutarti a rispondere alle seguenti domande:
- Quanto tempo impiega la mia applicazione per gestire una determinata richiesta?
- Perché la mia applicazione impiega così tanto tempo per gestire una richiesta?
- Perché alcune delle mie richieste richiedono più tempo di altre?
- Qual è la latenza complessiva delle richieste alla mia applicazione?
- La latenza della mia applicazione è aumentata o diminuita nel tempo?
- Cosa posso fare per ridurre la latenza dell'applicazione?
- Quali sono le dipendenze della mia applicazione?
Se ti interessa sapere come utilizzare Trace per gestire le tue applicazioni, leggi il post del blog Risoluzione dei problemi delle applicazioni distribuite: utilizzo congiunto di tracce e log per l'analisi della causa principale.
Per informazioni sulla profilazione dell'applicazione, consulta Cloud Profiler.
Supporto dell'ambiente
Trace viene eseguito su Linux nei seguenti ambienti:
- Compute Engine
- Google Kubernetes Engine (GKE)
- Apigee (anteprima pubblica)
- Ambiente flessibile di App Engine
- Ambiente standard di App Engine
- Cloud Run
- Cloud Service Mesh
- Query query SQL SQL
- Ambienti non-Google Cloud
Trace fornisce librerie client per instrumentare l'applicazione in modo da acquisire informazioni di traccia. Per istruzioni di configurazione per lingua, consulta Instrumentazione per Trace.
Configurazioni con tracciamento automatico
Alcune configurazioni comportano l'acquisizione automatica dei dati di traccia:
Ambiente standard di App Engine
Le applicazioni Java 8, Python 2 e PHP 5 non devono utilizzare le librerie client di Trace. Questi runtime inviano automaticamente i dati di latenza a Trace per le richieste agli URI delle applicazioni. Le richieste includono i dati di latenza per le chiamate RPC di andata e ritorno ai servizi App Engine. Trace funziona con tutte le API di amministrazione di App Engine, ad eccezione di Cloud SQL.
Cloud Run Functions e Cloud Run
Per le richieste HTTP in entrata e in uscita, i dati di latenza vengono inviati automaticamente a Trace.
API che importano dati di traccia
Puoi inviare dati di traccia al tuo progetto utilizzando l'API Telemetry o l'Cloud Trace API. Ti consigliamo di utilizzare l'API Telemetry per il seguente motivo:
L'API fornisce la compatibilità con l'ecosistema OpenTelemetry open source e i suoi limiti sono spesso più generosi dei limiti di Cloud Trace API, che è un'API proprietaria Google Cloud
I dati di traccia vengono archiviati in un formato generalmente coerente con i file proto definiti dal protocollo OTLP di OpenTelemetry. Alcuni campi potrebbero essere convertiti da un tipo di dati specifico di OpenTelemetry a un tipo di dati JSON prima dell'archiviazione. Per saperne di più sul formato di archiviazione, consulta Schema per i dati di traccia.
Per l'esportazione dei dati di traccia basata su collector, la strumentazione non si basa su un Google Cloud-esportatore specifico.
Alcune funzionalità, come il monitoraggio delle applicazioni, si basano su informazioni disponibili solo quando invii i dati di traccia all'API Telemetry.
Se vuoi impedire al tuo Google Cloud progetto di archiviare i dati di traccia, disattiva l'Cloud Trace API. La disattivazione dell'Cloud Trace API comporta quanto segue:
- Google Cloud I servizi non inviano dati di traccia al tuo progetto.
- Google Cloud Risponde alle richieste inviate a un endpoint API Cloud Trace con un codice di errore.
- Google Cloud Observability scarta i dati di traccia inviati all'endpoint dell'API Telemetry specifico per le tracce. Non disattivare l'API Telemetry, perché questa API può ricevere dati di log, metriche e tracce.
Supporto dei linguaggi
La tabella seguente riassume la disponibilità delle librerie client di Trace e delle librerie OpenTelemetry per le quali è disponibile un esportatore per Trace.
| Lingua | Libreria client disponibile |
Libreria/esportatore OpenTelemetry disponibile |
|---|---|---|
| C++ | Sì | Sì |
| C# ASP.NET Core | Sì | No |
| C# ASP.NET | Sì | No |
| Go | Sì | Sì |
| Java | Sì | Sì |
| Node.js | Sì | Sì |
| PHP | Sì | No |
| Python | Sì | Sì |
| Ruby | Sì | Sì |
OpenTelemetry OpenTelemetry sono più semplici da utilizzare rispetto alle librerie client di Trace perché nascondono parte della complessità dell'API Trace corrispondente. Per i consigli sull'instrumentazione, consulta Scegliere un approccio di instrumentazione.
Componenti
Trace è costituito da un client di tracciamento, che raccoglie le tracce e le invia al tuo Google Cloud progetto. Puoi quindi utilizzare la Google Cloud console per visualizzare e analizzare i dati raccolti dall'agente. Per informazioni sul modello dei dati, consulta Tracce e intervalli.
Client di tracciamento
OpenTelemetry Oltre a essere più semplice da utilizzare, OpenTelemetry implementa il batching, che potrebbe migliorare le prestazioni.
Se non esiste una libreria OpenTelemetry, instrumenta il codice importando la libreria SDK Trace e utilizzando l'Cloud Trace API. L'API Cloud Trace invia i dati di traccia al tuo Google Cloud progetto.
Interfaccia di tracciamento
Puoi visualizzare e analizzare i dati di traccia quasi in tempo reale nell'interfaccia di Trace.
Per visualizzare e analizzare i dati degli span, puoi utilizzare le pagine Esplora tracce e Observability Analytics nella Google Cloud console:
Esplora tracce: mostra informazioni aggregate sui dati di traccia e consente di esaminare in dettaglio le singole tracce. I dati di latenza aggregati vengono visualizzati in una mappa termica, che puoi esplorare con il puntatore. Per limitare i dati visualizzati, puoi aggiungere filtri. Questa pagina consente anche di visualizzare ed esplorare singoli intervalli e tracce:
- Per informazioni su come visualizzare i dati di traccia archiviati in più progetti, consulta Creare e gestire l'ambito di traccia.
- Per informazioni sul filtraggio e la visualizzazione dei dati di traccia, consulta Trovare ed esplorare le tracce.
Observability Analytics: questa pagina consente di eseguire query che eseguono un'analisi aggregata degli intervalli utilizzando SQL. Le query SQL possono anche unire i dati di traccia e di log. Puoi visualizzare i risultati della query in formato tabellare o con grafici. Se crei un set di dati collegato, puoi utilizzare BigQuery per analizzare gli intervalli. Per saperne di più, consulta Eseguire query e analizzare le tracce.
Supporto dei Controlli di servizio VPC
Trace è un servizio supportato dai Controlli di servizio VPC. Il nome del servizio Trace è cloudtrace.googleapis.com. Eventuali limitazioni dei Controlli di servizio VPC create per il servizio Trace si applicano solo a quel servizio. Queste limitazioni
non si applicano ad altri servizi, inclusi quelli come il
telemetry.googleapis.com servizio,
che possono anche acquisire dati di traccia.
Per ulteriori informazioni, consulta le seguenti risorse:
Cloud Trace e localizzazione dei dati
Se utilizzi Assured Workloads perché hai requisiti di localizzazione dei dati o livello di impatto 4 (IL4) requisiti, non utilizzare l'Cloud Trace API per inviare intervalli di traccia.
Se vuoi impedire al tuo Google Cloud progetto di archiviare i dati di traccia, disattiva l'Cloud Trace API. La disattivazione dell'Cloud Trace API comporta quanto segue:
- Google Cloud I servizi non inviano dati di traccia al tuo progetto.
- Google Cloud Risponde alle richieste inviate a un endpoint API Cloud Trace con un codice di errore.
- Google Cloud Observability scarta i dati di traccia inviati all'endpoint dell'API Telemetry specifico per le tracce. Non disattivare l'API Telemetry, perché questa API può ricevere dati di log, metriche e tracce.
Prezzi
Per informazioni sui prezzi di Cloud Trace, consulta la pagina dei prezzi di Google Cloud Observability.
Passaggi successivi
Prova la guida rapida.
Per informazioni su quote e limiti, consulta Quote e limiti.
Leggi le nostre risorse su DevOps ed esplora il programma di ricerca e valutazione DevOps.