Questa pagina ti guida nei seguenti passaggi:
- Installa i pacchetti OpenTelemetry.
- Configura la tua applicazione per esportare intervalli in Cloud Trace.
- Configura la tua piattaforma.
Per informazioni sulla release, consulta quanto segue:
Per i contenuti di riferimento di OpenTelemetry, consulta quanto segue:
Per i dettagli più recenti su OpenTelemetry per Go, oltre a documentazione aggiuntiva ed esempi, vedi OpenTelemetry.
Prima di iniziare
Attiva l'API richiesta.
Installazione, inizializzazione e utilizzo del client
Consulta le istruzioni seguenti per instrumentare le tue applicazioni Go su Compute Engine e Google Kubernetes Engine. Per un esempio generale di utilizzo di OpenTelemetry, consulta il repository GitHub di OpenTelemetry per Go.
Compute Engine
Installa il pacchetto OpenTelemetry:
go get go.opentelemetry.io/otel
go get github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace
Importa i pacchetti di esportazione OpenTelemetry e Cloud Trace:
Crea l'utilità di esportazione e il fornitore di traccia:
Quando crei l'esportatore, fornisci informazioni sull'identificatore del progetto Google Cloud. In questo esempio, l'identificatore è archiviato nella variabile di ambiente GOOGLE_CLOUD_PROJECT
.
L'applicazione di esempio chiama la funzione WithBatcher
per configurare il provider di traccia
per inviare intervalli a Cloud Monitoring utilizzando un processo in background.
L'esempio è anche configurato in modo da chiamare la funzione Shutdown
dell'esportatore all'uscita dell'applicazione. Quando Shutdown
viene eseguito, invia tutti gli intervalli in attesa a
Cloud Monitoring. La configurazione mostrata nell'esempio è l'implementazione consigliata per tutti gli ambienti operativi, incluso Cloud Run, in cui i container possono essere arresi in qualsiasi momento.
Quando crei l'istanza Tracer
, le fornisci un nome.
Nell'esempio il nome è example.com/trace
. Ti consigliamo di assegnare a queste istanze un nome in base al componente da tracciare, in quanto questa strategia consente di avere più istanze.
Quando viene eseguito l'esempio, viene creata una singola traccia denominata foo
.
GKE
Aggiungi il seguente codice a Dockerfile
:
RUN go get go.opentelemetry.io/otel
RUN go get github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace
Importa i pacchetti di esportazione OpenTelemetry e Cloud Trace:
Crea l'utilità di esportazione e il fornitore di traccia:
Quando crei l'esportatore, fornisci informazioni sull'identificatore del progetto Google Cloud. In questo esempio, l'identificatore è archiviato nella variabile di ambiente GOOGLE_CLOUD_PROJECT
.
L'applicazione di esempio chiama la funzione WithBatcher
per configurare il provider di traccia
per inviare intervalli a Cloud Monitoring utilizzando un processo in background.
L'esempio è anche configurato in modo da chiamare la funzione Shutdown
dell'esportatore all'uscita dell'applicazione. Quando Shutdown
viene eseguito, invia tutti gli intervalli in attesa a
Cloud Monitoring. La configurazione mostrata nell'esempio è l'implementazione consigliata per tutti gli ambienti operativi, incluso Cloud Run, in cui i container possono essere arresi in qualsiasi momento.
Quando crei l'istanza Tracer
, le fornisci un nome.
Nell'esempio il nome è example.com/trace
. Ti consigliamo di assegnare a queste istanze un nome in base al componente da tracciare, in quanto questa strategia consente di avere più istanze.
Quando viene eseguito l'esempio, viene creata una singola traccia denominata foo
.
Come creare un intervallo personalizzato
Puoi aggiungere ulteriori informazioni alla traccia creata dal sistema creando un intervallo personalizzato.
Per creare un intervallo personalizzato con il nome foo
, aggiungi quanto segue al codice sorgente:
In questo caso, example.com/trace
si riferisce al nome dell'istanza del rilevatore.
Configura la tua piattaforma
Puoi utilizzare Cloud Trace su Google Cloud e altre piattaforme.
In esecuzione su Google Cloud
Quando l'applicazione è in esecuzione su Google Cloud, non è necessario fornire credenziali di autenticazione sotto forma di account di servizio alla libreria client. Tuttavia, devi assicurarti che per la tua piattaforma Google Cloud sia abilitato l'ambito di accesso all'API Cloud Trace.
Per un elenco degli ambienti Google Cloud supportati, consulta Assistenza per l'ambiente.
Per le seguenti configurazioni, le impostazioni predefinite dell'ambito dell'accesso abilitano l'Cloud Trace API:
- Ambiente flessibile di App Engine
Ambiente standard di App Engine
Google Kubernetes Engine (GKE)
Compute Engine
Cloud Run
Se utilizzi ambiti di accesso personalizzati, devi assicurarti che l'ambito di accesso all'API Cloud Trace sia abilitato:
Per informazioni su come configurare gli ambiti di accesso per il tuo ambiente utilizzando la console Google Cloud, consulta Configurazione del progetto Google Cloud.
Per gli utenti
gcloud
, specifica gli ambiti di accesso utilizzando il flag--scopes
e includi l'ambito di accesso all'Cloud Trace APItrace.append
. Ad esempio, per creare un cluster GKE con solo l'Cloud Trace APIe abilitata, segui questi passaggi:gcloud container clusters create example-cluster-name --scopes=https://www.googleapis.com/auth/trace.append
Esecuzione in locale e altrove
Se la tua applicazione è in esecuzione al di fuori di Google Cloud, devi fornire le credenziali di autenticazione alla libreria client sotto forma di account di servizio. L'account di servizio deve contenere il ruolo di agente Cloud Trace. Per le istruzioni, consulta la sezione Creazione di un account di servizio.
Le librerie client di Google Cloud utilizzano Credenziali predefinite dell'applicazione (ADC) per trovare le credenziali della tua applicazione.
Puoi fornire queste credenziali in uno dei tre modi seguenti:
Esegui
gcloud auth application-default login
Inserisci l'account di servizio in un percorso predefinito per il tuo sistema operativo. Di seguito sono elencati i percorsi predefiniti per Windows e Linux:
Windows:
%APPDATA%/gcloud/application_default_credentials.json
Linux:
$HOME/.config/gcloud/application_default_credentials.json
Imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALS
sul percorso del tuo account di servizio:
Linux/macOS
export GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
Windows
set GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="path-to-your-service-accounts-private-key"
Visualizza tracce
Nella console Google Cloud, vai alla pagina Esplora tracce.
Puoi trovare questa pagina anche utilizzando la barra di ricerca.
Risoluzione dei problemi
Per informazioni sulla risoluzione dei problemi relativi a Cloud Trace, vai alla pagina Risoluzione dei problemi.