Query SQL di esempio per Trace

Puoi utilizzare query SQL di esempio in Observability Analytics per analizzare i dati di Cloud Trace, identificare i valori anomali di latenza e calcolare i percentili di rendimento degli span nei tuoi servizi.

Questi esempi mostrano come filtrare, raggruppare e aggregare gli span archiviati nella vista _AllSpans. Se non hai scritto query in Observability Analytics, consulta prima Eseguire query e analizzare le tracce.

Supporto del linguaggio SQL

Le query utilizzate nella pagina Observability Analytics supportano le funzioni GoogleSQL con alcune eccezioni.

I seguenti comandi SQL non sono supportati per le query SQL emesse utilizzando la pagina Observability Analytics:

  • Comandi DDL e DML
  • Funzioni definite dall'utente in JavaScript
  • Funzioni BigQuery ML
  • Variabili SQL

I seguenti elementi sono supportati solo quando esegui una query su un set di dati BigQuery collegato utilizzando le pagine BigQuery Studio e Looker Studio o utilizzando lo strumento a riga di comando bq:

  • Funzioni definite dall'utente in JavaScript
  • Funzioni BigQuery ML
  • Variabili SQL

Best practice

Per impostare l'intervallo di tempo della query, ti consigliamo di utilizzare il selettore dell'intervallo di tempo. Ad esempio, per visualizzare i dati dell'ultima settimana, seleziona Ultimi 7 giorni dal selettore dell'intervallo di tempo. Puoi anche utilizzare il selettore dell'intervallo di tempo per specificare un'ora di inizio e di fine, specificare un'ora da visualizzare e modificare i fusi orari.

Se includi un campo start_time nella clausola WHERE, l'impostazione del selettore dell'intervallo di tempo non viene utilizzata. L'esempio seguente mostra come filtrare in base al timestamp:

-- Matches trace spans whose start_time is within the most recent 1 hour.
WHERE start_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)

Per saperne di più su come filtrare in base all'ora, consulta Funzioni temporali e Funzioni timestamp.

Prima di iniziare

  1. Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  8. Per ottenere le autorizzazioni necessarie per caricare la pagina Observability Analytics , scrivere, eseguire e salvare query private sui dati di traccia, chiedi all'amministratore di concederti i seguenti ruoli IAM:

    • Observability View Accessor (roles/observability.viewAccessor) sulle viste di osservabilità su cui vuoi eseguire query. Questo ruolo supporta le condizioni IAM, che ti consentono di limitare la concessione a una vista specifica. Se non associ una condizione alla concessione del ruolo, l'entità può accedere a tutte le viste di osservabilità.
    • Observability Analytics User (roles/observability.analyticsUser) sul tuo progetto. Questo ruolo contiene le autorizzazioni necessarie per salvare ed eseguire query private ed eseguire query condivise.

    Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Come utilizzare le query in questa pagina

  1. Nella Google Cloud console, vai alla Observability Analytics pagina:

    Vai a Observability Analytics

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

  2. Nel riquadro Query, fai clic su  SQL, quindi copia e incolla una query nel riquadro della query SQL.

    Di seguito è riportato il formato della clausola FROM per eseguire query sulla vista _AllSpans:

    FROM `PROJECT_ID.LOCATION._Trace.Spans._AllSpans`

    La clausola FROM contiene i seguenti campi:

    • PROJECT_ID: l'identificatore del progetto.
    • LOCATION: la località del bucket di osservabilità.
    • _Trace è il nome del bucket di osservabilità
    • Spans è il nome del set di dati.
    • _AllSpans è il nome della vista.

Per utilizzare le query mostrate in questo documento nella pagina BigQuery Studio o per utilizzare lo strumento a riga di comando bq, quindi modifica la clausola FROM e inserisci il percorso del set di dati BigQuery collegato. Ad esempio, per eseguire una query sulla vista _AllSpans nel set di dati BigQuery collegato denominato my_linked_dataset che si trova nel progetto myproject, il percorso è `myproject.my_linked_dataset._AllSpans`.

Casi d'uso comuni

Questa sezione elenca diversi casi d'uso comuni che potrebbero aiutarti a creare le tue query personalizzate.

Mostra tutti i dati di traccia

Per eseguire una query sulla vista _AllSpans, esegui la seguente query:

-- Display all data.
SELECT *
FROM `PROJECT_ID.LOCATION._Trace.Spans._AllSpans`
-- Limit to 10 entries.
LIMIT 10

Mostra le informazioni comuni degli span

Per mostrare le informazioni comuni degli span, come l'ora di inizio e la durata, esegui la seguente query:

SELECT
  start_time,
  -- Set the value of service name based on the first non-null value in the list.
  COALESCE(
    JSON_VALUE(resource.attributes, '$."service.name"'),
    JSON_VALUE(attributes