Configurazione di Cloud Trace per Ruby

Abilita Cloud Trace per le applicazioni Ruby usando la libreria Cloud Trace per Ruby.

Installazione della libreria

  1. Installa Ruby 2.2 o versioni successive.

  2. Aggiungi il gem Stackdriver al tuo file Gem:

    gem "stackdriver"
  3. Utilizza bundler per installare il gem:

    bundle install
    

Attivazione della raccolta

Binari

Se utilizzi Ruby su Rails, bundler carica automaticamente la libreria nell'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 di 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 di 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 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:

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 con solo l&#39Cloud 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 per Ruby utilizzano le credenziali predefinite dell'applicazione (ADC) per trovare le credenziali della tua applicazione. La sezione seguente descrive come impostare queste credenziali e l'ID progetto Google Cloud.

Impostazione dell'ID progetto e delle credenziali di Google Cloud

Questa sezione descrive 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 di google-cloud determina automaticamente se la variabile di ambiente GOOGLE_CLOUD_PROJECT è impostata e, in questo caso, la libreria utilizza il valore GOOGLE_CLOUD_PROJECT come ID progetto Google Cloud. Per maggiori 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 on Rails, puoi fornire i parametri tramite l'interfaccia di configurazione di 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 la configurazione condivisa per tutti i gem 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 attivare 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 a Ruby è quella di fornire i parametri tramite l'interfaccia di configurazione quando vengono 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 la 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

Nella console Google Cloud, vai alla pagina Esplora tracce.

Vai a Trace Explorer

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.

Risorse