Este documento descreve alguns atributos do conjunto de dados do BigQuery que é criado quando um coletor exporta rastros do Cloud Trace para o BigQuery.
Esquema
O esquema da tabela que armazena dados de trace é determinado pela definição da API Trace V2 de período.
O Trace rastreia as colunas da tabela e faz o patch da tabela quando um novo período contém campos que não podem ser armazenados na tabela existente. Uma operação de patch é necessária quando um período de chegada contém entradas não vistas anteriormente. Por exemplo, se um período de chegada tiver um novo atributo, a tabela será corrigida.
Retenção de dados
Você configura as políticas de retenção de dados das tabelas do BigQuery. Para informações sobre como gerenciar tabelas e dados de tabelas, consulte Como trabalhar com tabelas.
Tipo de tabela
Se você configurar um coletor para exportar traces para o BigQuery, o Trace configurará uma tabela particionada por tempo de processamento. Para informações detalhadas sobre tabelas particionadas, incluindo como criar, gerenciar, consultar e excluir essas tabelas, consulte Como trabalhar com tabelas particionadas.
Consultas de amostra
Nas consultas a seguir, DATASET é o nome do conjunto de dados do BigQuery e MY_TABLE é o nome de uma tabela nesse conjunto de dados.
Para exibir todas as colunas na tabela para a data de 20 de novembro de 2019 e limitar o resultado a 10 linhas, execute a consulta:
SELECT * FROM `DATASET.MY_TABLE` WHERE DATE(_PARTITIONTIME) = "2019-11-20" LIMIT 10
Para exibir todas as partições disponíveis na tabela, execute a consulta:
SELECT _PARTITIONTIME as pt FROM `DATASET.MY_TABLE` GROUP BY 1
Consulta do HipsterShop
O HipsterShop é um aplicativo de demonstração disponível no GitHub.
Veja a seguir um exemplo de consulta que ilustra como você pode usar consultas do BigQuery para coletar informações que não estão prontamente disponíveis usando a interface do Trace.
A consulta interna encontra todos os períodos que correspondem à expressão regular especificada que foi recebida em 2 de dezembro de 2019. A consulta externa seleciona para exibir o seguinte:
- name
- número de períodos correspondentes
- número de códigos de trace distintos
- 50º, 90º e 99º quantis
- Caminho HTTP
- Mensagem de erro
e exibe os resultados classificados pelas contagens de trace:
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
Para uma instalação específica desse aplicativo, o resultado da consulta é o seguinte:
Visualizar dados de trace
Para visualizar seus dados de trace usando o Interface do BigQuery, selecione a tabela com os traces exportados.