Exporta a BigQuery

En este documento, se describen algunos atributos del conjunto de datos de BigQuery que se crea cuando un receptor exporta seguimientos de Cloud Trace a BigQuery.

Esquema

El esquema de tu tabla que almacena datos de seguimiento está determinado por la definición de la API de Trace V2 del intervalo.

El seguimiento realiza un seguimiento de las columnas de tu tabla y corrige la tabla cuando un nuevo intervalo contiene campos que no se pueden almacenar en la tabla existente. Se requiere una operación de parche cuando un intervalo entrante contiene entradas que no se vieron anteriormente. Por ejemplo, si un intervalo entrante contiene un nuevo atributo, se aplica un parche a la tabla.

Retención de datos

Configura las políticas de retención de datos de tus tablas de BigQuery. Para obtener más información sobre cómo administrar tablas y datos de tablas, consulta Trabaja con tablas.

Tipo de tabla

Si configuras un receptor para exportar seguimientos a BigQuery, Trace configura una tabla particionada por tiempo de transferencia. Para obtener información detallada sobre las tablas particionadas, lo que incluye cómo crearlas, administrarlas, consultarlas y borrarlas, consulta Cómo trabajar con tablas particionadas.

Consultas de muestra

En las siguientes consultas, DATASET es el nombre del conjunto de datos de BigQuery y MY_TABLE es el nombre de una tabla en ese conjunto de datos.

  • Para mostrar todas las columnas en la tabla de la fecha del 20 de noviembre de 2019 y, a la vez, limitar el resultado a 10 filas, ejecuta la consulta:

    SELECT
      *
    FROM
      `DATASET.MY_TABLE`
    WHERE
      DATE(_PARTITIONTIME) = "2019-11-20" LIMIT 10
  • Para mostrar todas las particiones disponibles en la tabla, ejecuta la consulta siguiente:

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

Consulta de HipsterShop

HipsterShop es una aplicación de demostración disponible en GitHub.

La siguiente es una consulta de muestra que ilustra cómo puedes usar las consultas de BigQuery para recopilar información que no está disponible fácilmente con la interfaz de Trace.

La consulta interna encuentra todos los intervalos que coincidan con la expresión regular especificada. que se recibieron el 2 de diciembre de 2019. La consulta externa selecciona los siguientes elementos para mostrarlos:

  • name
  • la cantidad de intervalos que coinciden
  • la cantidad de ID de seguimiento distintos
  • Cuartiles número 50, 90 y 99
  • Ruta HTTP
  • Mensaje de error

También muestra los resultados ordenados según los recuentos de seguimiento:

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 una instalación en particular de esta aplicación, el resultado de la consulta es el siguiente:

Muestra la respuesta a la búsqueda anterior.

Visualiza datos de seguimiento

Para ver tus datos de seguimiento con la interfaz de BigQuery, selecciona la tabla con los seguimientos exportados.