Esporta in BigQuery

Questo documento descrive alcuni attributi del set di dati BigQuery che creato quando un sink esporta le tracce da Cloud Trace a BigQuery.

Schema

Lo schema per la tabella in cui sono archiviati i dati di traccia viene determinato dal valore-chiave Definizione dell'API Trace V2 di Intervallo.

Trace tiene traccia delle colonne della tabella e applica patch alla tabella quando un nuovo intervallo contiene campi che non possono essere archiviati nella tabella esistente. Un'operazione di patch è necessaria quando uno span in arrivo contiene voci non viste in precedenza. Ad esempio, se uno spazio in arrivo contiene un nuovo attributo, la tabella viene corretta.

Conservazione dei dati

Configura le norme di conservazione dei dati delle tabelle BigQuery. Per informazioni sulla gestione di tabelle e dati delle tabelle, consulta Utilizzo delle tabelle.

Tipo di tabella

Se configuri un sink per esportare le tracce in BigQuery, Trace configura una tabella partizionata per data di importazione. Per informazioni dettagliate sulle tabelle partizionate, inclusa la procedura per crearle, gestirle, eseguire query ed eliminarle, consulta Utilizzare le tabelle partizionate.

Query di esempio

Nelle seguenti query, DATASET è il nome del set di dati BigQuery e MY_TABLE è il nome di una tabella al suo interno.

  • Per visualizzare tutte le colonne della tabella per la data di 20 novembre 2019, limitando il risultato a 10 righe, esegui la query:

    SELECT
      *
    FROM
      `DATASET.MY_TABLE`
    WHERE
      DATE(_PARTITIONTIME) = "2019-11-20" LIMIT 10
  • Per visualizzare tutte le partizioni disponibili nella tabella, esegui il comando query:

    SELECT
      _PARTITIONTIME as pt
    FROM
      `DATASET.MY_TABLE`
    GROUP BY 1

Query HipsterShop

HipsterShop è un'applicazione di demo disponibile su GitHub.

Di seguito è riportato un esempio di query che illustra come utilizzare Esegue query in BigQuery per raccogliere informazioni non immediatamente disponibili tramite l'interfaccia di Trace.

La query interna trova tutti gli intervalli corrispondenti all'espressione regolare specificata ricevute il 2 dicembre 2019. La query esterna seleziona per la visualizzazione quanto segue:

  • nome
  • numero di intervalli che corrispondono
  • numero di ID traccia distinti
  • Quantili al 50°, 90° e 99°
  • Percorso HTTP
  • Messaggio di errore

e visualizza i risultati ordinati in base al numero di tracce:

SELECT t0.span.displayName.value, count(t0.span.spanId) as spanCount, count(distinct traceId) as traceCount,
APPROX_QUANTILES(milliseconds, 100)[OFFSET(50)] as p50,
APPROX_QUANTILES(milliseconds, 100)[OFFSET(95)] as p95,
APPROX_QUANTILES(milliseconds, 100)[OFFSET(99)] as p99,
t0.span.attributes.attributeMap._http_path,
t0.span.attributes.attributeMap._error_message
FROM (
SELECT *,
REGEXP_EXTRACT(span.name, r"./traces/([a-f0-9]+).") as traceId,
TIMESTAMP_DIFF(span.endTime,span.startTime, MILLISECOND) as milliseconds
FROM `hipstershop-demo.Hipstershop_trace_export.cloud_trace`
WHERE DATE(_PARTITIONTIME) = "2019-12-02") AS t0
WHERE t0.span.parentSpanId is NULL
GROUP by t0.span.displayName.value, t0.span.attributes.attributeMap._http_path,t0.span.attributes.attributeMap._error_message
ORDER BY traceCount DESC
LIMIT 1000
 

Per una determinata installazione di questa applicazione, il risultato della query è come mostrato di seguito:

Mostra la risposta alla query precedente.

Visualizzare i dati di traccia

Per visualizzare i dati delle tracce utilizzando l'interfaccia BigQuery, seleziona la tabella con le tracce esportate.