Escribe tu primera consulta SQL en Telemetry
Comience con una pregunta cuya respuesta pueda verificar a partir de filas sintéticas conocidas. Este tutorial consulta la tabla api_request_completed creada en los pasos iniciales anteriores.
Inspeccionar filas recientes
Comience con el grano del evento en lugar de un agregado:
SELECT
timestamp_utc,
request_id,
route_template,
status_code,
latency_ms,
release,
environment
FROM api_request_completed
WHERE environment = 'development'
ORDER BY timestamp_utc DESC
LIMIT 100;
Encuentre la fila sintética req_demo_001. Si falta o se escribió incorrectamente, regrese a Verificar la ingesta y el esquema de eventos.
Calcular el volumen de solicitudes y los errores
Una vez que las filas sin procesar se vean correctas, agregue en la ruta del grano:
SELECT
route_template,
COUNT(*) AS requests,
SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END) AS server_errors,
ROUND(
100.0 * SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0),
2
) AS server_error_pct
FROM api_request_completed
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'development'
GROUP BY route_template
ORDER BY requests DESC;
El denominador es el volumen de solicitudes para cada ruta durante el mismo período de tiempo. NULLIF protege la división si la consulta se adapta posteriormente a una unión o genera una columna de tiempo con un depósito vacío.
Agregue latencia solo después de verificar la unidad
SELECT
route_template,
COUNT(*) AS requests,
approx_percentile_cont(0.5) WITHIN GROUP (ORDER BY latency_ms)
AS p50_latency_ms,
approx_percentile_cont(0.95) WITHIN GROUP (ORDER BY latency_ms)
AS p95_latency_ms
FROM api_request_completed
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'development'
GROUP BY route_template
ORDER BY p95_latency_ms DESC;
Confirme que latency_ms sea numérico y siempre se mida en milisegundos antes de interpretar un percentil. Lea Percentiles SQL para conocer grupos dispersos, funciones aproximadas y precauciones sobre el tamaño de la muestra.
Validar antes de guardar
Utilice un dispositivo pequeño con solicitudes conocidas exitosas y fallidas. Calcule manualmente el recuento de solicitudes esperado y la tasa de error, luego compárelo con el resultado SQL.
Comprueba cuatro cosas:
- Grano: una fila representa una solicitud completa.
- Denominador: los reintentos y el tráfico interno se incluyen o excluyen deliberadamente.
- Ventana: el depósito incompleto más reciente no se compara con los depósitos llenos.
- Dimensiones: las plantillas de ruta, las versiones y los entornos utilizan valores estables.
Un SQL válido aún puede responder la pregunta comercial incorrecta. Guarde la definición y las exclusiones con la consulta.
Continuar
Utilice el Receta de tasa de error API para obtener un esquema completo, dispositivos, visualización y recomendaciones de alertas. Para practicar en una base de datos sintética conectada, abra el Laboratorio SaaS SQL. Luego continúe con Cree su primer panel y alerta.