Ce document décrit certains attributs de l'ensemble de données BigQuery créé lorsqu'un récepteur exporte des traces de Cloud Trace vers BigQuery.
Schéma
Le schéma de votre table qui stocke les données de trace est déterminé par la définition du Délai de l'API Trace V2.
Trace effectue le suivi de vos colonnes de table et corrige la table lorsqu'un nouveau délai contient des champs qui ne peuvent pas être stockés dans la table existante. Une opération de correctif est requise lorsqu'un délai entrant contient des entrées qui n'ont pas encore été vues. Par exemple, si un délai d'arrivée contient un nouvel Attribut, la table est corrigée.
Conservation des données
Vous configurez les règles de conservation des données de vos tables BigQuery. Pour en savoir plus sur la gestion des tables et des données de table, consultez la page Utiliser des tables.
Type de table
Si vous configurez un récepteur pour exporter des traces vers BigQuery, Trace configure une table partitionnée par date d'ingestion. Pour en savoir plus sur les tables partitionnées, y compris sur la création, la gestion, l'interrogation et la suppression de ces tables, consultez la section Utiliser des tables partitionnées.
Exemples de requêtes
Dans les requêtes suivantes, DATASET est le nom de l'ensemble de données BigQuery et MY_TABLE le nom d'une table de cet ensemble de données.
Pour afficher toutes les colonnes de la table pour la date du 20 novembre 2019 tout en limitant le résultat à 10 lignes, exécutez la requête :
SELECT * FROM `DATASET.MY_TABLE` WHERE DATE(_PARTITIONTIME) = "2019-11-20" LIMIT 10
Pour afficher toutes les partitions disponibles dans la table, exécutez la requête :
SELECT _PARTITIONTIME as pt FROM `DATASET.MY_TABLE` GROUP BY 1
Requête HipsterShop
HipsterShop est une application de démonstration disponible sur GitHub.
Voici un exemple de requête illustrant comment utiliser les requêtes BigQuery pour collecter des informations qui ne sont pas immédiatement disponibles à l'aide de l'interface Trace.
La requête interne recherche tous les segments qui correspondent à l'expression régulière spécifiée reçues le 2 décembre 2019. La requête externe sélectionne les éléments suivants :
- nom
- nombre de délais qui correspondent
- nombre d'ID de trace distincts
- 50e, 90e et 99e quantiles
- Chemin HTTP
- Message d'erreur
et affiche les résultats triés en fonction du nombre de traces :
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
Pour une installation particulière de cette application, le résultat de la requête est le suivant :
Afficher les données de trace
Pour afficher vos données de trace à l'aide de la méthode Interface BigQuery sélectionnez la table contenant vos traces exportées.