Configurazione di Cloud Trace per Ruby

Puoi abilitare le applicazioni Cloud Trace per Ruby utilizzando la libreria Cloud Trace per Ruby.

Installazione della libreria

  1. Installa Ruby 2.2 o versioni successive.

  2. Aggiungi la gemma di Stackdriver al tuo file Gemfile:

    gem "stackdriver"
  3. Utilizza bundler per installare la gemma:

    bundle install
    

Attivazione della libreria

Rotaie

Se utilizzi Ruby su Rails, bundler carica automaticamente la libreria nella tua applicazione all'avvio.

Non Rails

Altre applicazioni basate su rack possono utilizzare il Middleware rack fornito dalla libreria:

require "google/cloud/trace"

use Google::Cloud::Trace::Middleware

Per ulteriori informazioni o per segnalare problemi con la libreria, consulta il repository del codice sorgente della libreria.

Configurazione del client

Puoi personalizzare il comportamento della libreria Cloud Trace per Ruby. Consulta la configurazione della libreria per un elenco di possibili opzioni di configurazione.

Aggiungi intervallo Trace personalizzato

La libreria Cloud Trace per Ruby crea automaticamente un record di traccia per ogni richiesta ricevuta dall'applicazione rack. Puoi anche aggiungere intervalli di traccia personalizzati all'interno di ogni richiesta:

Google::Cloud::Trace.in_span "my_task" do |_span|
  # Insert task

  Google::Cloud::Trace.in_span "my_subtask" do |subspan|
    # Insert subtask
  end
end

Configura la tua piattaforma

Puoi utilizzare Cloud Trace su Google Cloud e altre piattaforme.

In esecuzione su Google Cloud

Quando la tua applicazione è in esecuzione su Google Cloud, non è necessario fornire alla libreria client le credenziali di autenticazione sotto forma di account di servizio. 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 la pagina relativa all'assistenza per gli ambienti.

Per le seguenti configurazioni, le impostazioni predefinite dell'ambito di accesso abilitano l'Cloud Trace API:

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 API trace.append. Ad esempio, per creare un cluster GKE in cui è abilitata solo l'Cloud Trace API:

    gcloud container clusters create example-cluster-name --scopes=https://www.googleapis.com/auth/trace.append

Esecuzione in locale e altrove

Se la tua applicazione viene eseguita al di fuori di Google Cloud, devi fornire alla libreria client le credenziali di autenticazione sotto forma di account di servizio. L'account di servizio deve contenere il ruolo agente Cloud Trace. Per le istruzioni, vedi Creazione di un account di servizio.

Le librerie client di Google Cloud per Ruby utilizzano le Credenziali predefinite dell'applicazione (ADC) per trovare le credenziali della tua applicazione. La seguente sezione descrive come impostare queste credenziali e l'ID progetto Google Cloud.

Impostare l'ID e le credenziali del progetto Google Cloud

In questa sezione vengono descritti tre diversi approcci che puoi utilizzare per impostare l'ID progetto Google Cloud, le credenziali di autenticazione o entrambi nell'applicazione Ruby.

Variabile di ambiente

Se non imposti esplicitamente l'ID progetto Google Cloud, la libreria Ruby google-cloud determina automaticamente se è impostata la variabile di ambiente GOOGLE_CLOUD_PROJECT. In tal caso, la libreria utilizza il valore GOOGLE_CLOUD_PROJECT come ID progetto Google Cloud. Per ulteriori informazioni, vai ad Autenticazione.

Come descritto in precedenza, le librerie client di Google Cloud utilizzano le credenziali predefinite dell'applicazione (ADC) per trovare le credenziali della tua applicazione. Puoi fornire queste credenziali impostando la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS:

Linux/macOS

export GOOGLE_CLOUD_PROJECT=your-project-id
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json

Windows

Finestra di comando:

set GOOGLE_CLOUD_PROJECT=your-project-id
set GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json

PowerShell:

$env:GOOGLE_CLOUD_PROJECT="your-project-id"
$env:GOOGLE_APPLICATION_CREDENTIALS="/path/to/key.json"

Interfaccia di configurazione Ruby on Rails

Se utilizzi Ruby su Rails, puoi fornire i parametri tramite l'interfaccia di configurazione Ruby on Rails:

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  # Stackdriver Trace specific parameters
  config.google_cloud.trace.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.trace.keyfile    = "/path/to/service-account.json"
end

Puoi anche impostare una configurazione condivisa per tutte le gemme di Stackdriver utilizzando:

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  # Stackdriver Shared parameters
  config.google_cloud.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.keyfile    = "/path/to/service-account.json"
end

Trace è abilitato per impostazione predefinita quando Rails è in esecuzione in modalità di produzione. Per abilitare Trace in modalità di sviluppo, aggiungi quanto segue:

# Add this to config/environments/development.rb
Rails.application.configure do |config|
  config.google_cloud.use_trace = true
end

Interfaccia di configurazione della strumentazione

Un'altra alternativa per Ruby è fornire i parametri tramite l'interfaccia di configurazione quando utilizzati in altre applicazioni basate su rack:

require "google/cloud/trace"

Google::Cloud.configure do |config|
  # Stackdriver Trace specific parameters
  config.trace.project_id = "YOUR-PROJECT-ID"
  config.trace.keyfile    = "/path/to/service-account.json"
end

Puoi anche impostare una configurazione condivisa per tutte le gemme di Stackdriver utilizzando:

require "stackdriver"

Google::Cloud.configure do |config|
  # Stackdriver Shared parameters
  config.project_id = "YOUR-PROJECT-ID"
  config.keyfile    = "/path/to/service-account.json"
end

Visualizza tracce

Nel pannello di navigazione della console Google Cloud, seleziona Trace e poi Trace Explorer:

Vai a Trace Explorer

Risoluzione dei problemi

Per informazioni sulla risoluzione dei problemi relativi a Cloud Trace, vai alla pagina Risoluzione dei problemi.

Risorse