Eventos estructurados frente a registros de texto
Los registros de texto describen lo que hizo el programa. Los eventos estructurados registran un hecho estable sobre un flujo de trabajo. Ambos son útiles, pero se optimizan para diferentes preguntas.
Un registro de texto es una buena opción para el diagnóstico local: mensajes de inicio, ramas inesperadas, resultados de biblioteca y seguimientos de pila. Su mensaje de formato libre preserva el contexto para una persona que lee un rango de tiempo limitado. Un evento estructurado es más adecuado cuando la misma pregunta debe responderse repetidamente en muchas solicitudes: tasa de falla por ruta, costo por modelo, activación por fuente o reintentos por cola.
La diferencia de consulta
Supongamos que una aplicación escribe invoice sync failed for team_123 in 940ms. Una búsqueda puede encontrar esa frase, pero un gráfico primero debe extraer el equipo, la duración y el resultado. Con campos estructurados, la consulta puede operar directamente:
SELECT
error_type,
COUNT(*) AS failures,
approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms
FROM billing_syncs
WHERE status = 'failed'
AND timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY error_type
ORDER BY failures DESC;
El contrato de evento hace explícitos los tipos y categorías de campos. También evita que pequeños cambios de redacción rompan una consulta guardada.
Utilice ambos sin duplicar todo
Mantenga registros de diagnóstico detallados y de corta duración donde los ingenieros investiguen los incidentes. Emita un conjunto más pequeño de eventos estructurados duraderos en los límites del flujo de trabajo. Vincule los dos con un ID de solicitud, un ID de seguimiento, un ID de trabajo u otro valor de correlación seguro. No copie seguimientos de pila completa ni cuerpos de solicitud en cada evento de análisis.
Un evento no es automáticamente mejor porque sea JSON. Una bolsa de claves cambiantes y cadenas arbitrarias sigue siendo difícil de analizar. El valor proviene de un contrato deliberado: nombre estable, campos documentados, categorías controladas y un propietario que revisa los cambios.
Una regla de selección práctica
Elija un evento estructurado cuando espere agregar, comparar, alertar o crear un panel a partir de los datos. Elija un registro de texto cuando el uso principal sea leer el contexto detallado durante una investigación específica. Si necesita ambos, emita un evento compacto y un registro de diagnóstico que compartan un identificador de correlación.
Lea diseñar un esquema de evento antes de agregar un evento de gran volumen, luego use guía de registro estructurado para instrumentarlo y verificarlo.