Questo documento descrive alcuni attributi del set di dati BigQuery che viene creato quando un sink esporta le tracce da Cloud Trace a BigQuery.
Schema
Lo schema della tabella in cui sono archiviati i dati di traccia è determinato dalla definizione di Span dell'API Trace V2.
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. È necessaria un'operazione di patch quando un intervallo in arrivo contiene voci non visualizzate in precedenza. Ad esempio, se un intervallo di arrivo contiene un nuovo attributo, viene applicata una patch alla tabella.
Conservazione dei dati
Sei tu a configurare i criteri di conservazione dei dati delle tabelle BigQuery. Per informazioni sulla gestione delle tabelle e dei 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 in fase di importazione. Per informazioni dettagliate sulle tabelle partizionate, tra cui come creare, gestire, eseguire query ed eliminare queste tabelle, consulta Utilizzo delle tabelle partizionate.
Query di esempio
Nelle seguenti query, DATASET è il nome del set di dati BigQuery e MY_TABLE è il nome di una tabella nel set di dati.
Per visualizzare tutte le colonne della tabella per la data del 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 la query:
SELECT _PARTITIONTIME as pt FROM `DATASET.MY_TABLE` GROUP BY 1
Query su HipsterShop
HipsterShop è un'applicazione demo disponibile su GitHub.
Di seguito è riportata una query di esempio che illustra come utilizzare le query di BigQuery per raccogliere informazioni non immediatamente disponibili tramite l'interfaccia di Trace.
La query interna trova tutti gli intervalli che corrispondono all'espressione regolare specificata ricevute il 2 dicembre 2019. La query esterna seleziona per la visualizzazione quanto segue:
- name
- numero di intervalli corrispondenti
- numero di ID traccia distinti
- 50°, 90° e 99° quantili
- 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 un'installazione specifica di questa applicazione, il risultato della query è mostrato:
Visualizza dati traccia
Per visualizzare i dati di traccia utilizzando l'interfaccia di BigQuery, seleziona la tabella con le tracce esportate.