Configurazione di Cloud Trace per Ruby

Puoi abilitare Cloud Trace per le applicazioni Ruby mediante 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 usi Ruby su Rails, il bundler carica automaticamente la libreria l'applicazione all'avvio.

Non Rails

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

require "google/cloud/trace"

use Google::Cloud::Trace::Middleware

Per ulteriori informazioni o per segnalare problemi relativi alla libreria, consulta le repository di codice sorgente.

Configurazione del client

Puoi personalizzare il comportamento della libreria Cloud Trace per Ruby. Consulta 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 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 credenziali di autenticazione sotto forma di account di servizio alla libreria client. Tuttavia, devi assicurarti che la tua piattaforma Google Cloud ha Ambito di accesso all'API Cloud Trace in un bucket con il controllo delle versioni attivo.

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 Ambito di accesso all'API Cloud Trace è abilitato:

  • Per informazioni su come configurare gli ambiti di accesso per il tuo ambiente utilizzando la console Google Cloud, consulta Configura il 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 se l'Cloud Trace API sia 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 credenziali di autenticazione sotto forma di account di servizio alla libreria client. L'account di servizio deve contenere Ruolo di agente Cloud Trace. Per le istruzioni, consulta la sezione Creazione di un account di servizio.

Librerie client di Google Cloud per l'utilizzo di Ruby Credenziali predefinite dell'applicazione (ADC) per trovare le credenziali dell'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 entrambi nella tua applicazione Ruby.

Variabile di ambiente

Se non imposti esplicitamente l'ID progetto Google Cloud, la libreria Ruby di google-cloud determina automaticamente la variabile di ambiente GOOGLE_CLOUD_PROJECT è impostata e, in questo caso, la variabile usa il valore di GOOGLE_CLOUD_PROJECT come risorsa Google Cloud dell'ID progetto. Per ulteriori informazioni, vai a Autenticazione.

Come descritto in precedenza, le librerie client di Google Cloud utilizzano Credenziali predefinite dell'applicazione (ADC) per trovare le credenziali dell'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 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 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. A abilita Trace in modalità 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 è fornire i parametri attraverso quando utilizzata 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 alle Pagina Risoluzione dei problemi.

Risorse