Ir al contenido

Trazas, historial y rendimiento

Las trazas son el registro detallado de todo lo que ocurre durante la ejecución de un workflow. Cada nodo genera trazas con información de entrada, salida, errores y tiempos.

Cada traza contiene:

CampoDescripción
workflow_idIdentificador único de la ejecución
workflow_nameNombre del workflow
module_nameNombre del nodo que genero la traza
node_idID del nodo en el editor
stepDescripción del paso ejecutado
detailsDatos detallados en JSON (entrada, salida, metadata)
levelNivel de la traza (ver tabla abajo)
session_idID de sesión para agrupar trazas de una misma ejecución
timestampFecha y hora exacta
NivelUsoCuando aparece
TRACEFlujo detallado de ejecuciónEntrada y salida de cada nodo, resoluciones de variables
DEBUGInformación de depuraciónDatos intermedios, estados internos
INFOInformación generalInicio/fin de ejecución, resultados principales
WARNAdvertenciasDatos opcionales faltantes, reintentos, respuestas inesperadas
ERRORErroresFallos de nodos, errores de conexión, excepciones

Las trazas se transmiten en tiempo real via WebSocket a los clientes conectados. Esto permite ver la ejecución de un workflow en vivo:

  1. El cliente se conecta al WebSocket
  2. Define filtros con setFilters: workflow especifico, tipo de evento, etc.
  3. Recibe eventos workflowEvent con cada traza generada
  4. Solo recibe las trazas que coinciden con sus filtros
  • /webhooks-dev/{hash}: Activa trazas detalladas (nivel TRACE). Usar para depuración.
  • /webhooks/{hash}: Modo producción con trazas minimas. Usar en entornos reales.
EndpointDescripción
GET /api/tracesListar trazas con filtros (workflow, modulo, nivel, fechas)
GET /api/traces/:workflowIdTrazas de una ejecución especifica
GET /api/traces/workflow/:nameTrazas por nombre de workflow
GET /api/traces/module/:nameTrazas de un modulo especifico
GET /api/traces/levels/summaryResumen por nivel (ultimas 24h)
GET /api/traces/search/:termBusqueda de texto completo en trazas
GET /api/traces/statsEstadisticas de almacenamiento

Floogos permite controlar que trazas se almacenan y durante cuanto tiempo. Existen dos niveles de configuración que trabajan en conjunto:

Ve a la pestaña Cuenta en tu perfil de usuario. La tarjeta Retención de trazas permite configurar:

ModoDescripción
CompletoSe guardan todas las trazas (valor por defecto). Configura cuantos dias conservar (1-7).
Solo hoySolo se conservan las trazas del dia actual. Las anteriores se eliminan automáticamente.
Solo erroresÚnicamente se guardan las ejecuciones fallidas. Las exitosas no dejan registro. Configura dias de retención (1-7).
DesactivadoNo se escriben trazas. Máximo rendimiento, sin visibilidad.

Esta configuración aplica a todos los workflows de la cuenta salvo que un workflow la sobreescriba.

Nivel de workflow (sobreescritura por workflow)

Sección titulada «Nivel de workflow (sobreescritura por workflow)»

En la lista de workflows, hace clic en el icono de edición (lapiz) de cualquier workflow. El selector Retención de trazas permite elegir:

OpciónDescripción
Heredar del clienteUsa la configuración global del cliente (valor por defecto).
CompletoSiempre guarda todas las trazas para este workflow, independientemente de la configuración del cliente.
Solo hoySolo conserva las trazas del dia actual para este workflow.
Solo erroresSolo guarda trazas de error para este workflow.
DesactivadoSin trazas para este workflow.
Default del cliente → Sobreescritura por workflow (si no esta en "heredar")

Si un workflow esta en heredar, usa el modo del cliente. Si el workflow tiene un modo explicito, ese tiene prioridad.

Las trazas se limpian automáticamente según el plan del cliente (dias de retención). También se pueden limpiar manualmente:

EndpointDescripción
DELETE /api/traces/cleanupLimpieza manual (especificar dias a conservar)
DELETE /api/traces/cleanup/by-planLimpieza según limites del plan
DELETE /api/traces/workflow/:idEliminar trazas de un workflow especifico
DELETE /api/traces/clear-allEliminar todo el historial del cliente

El historial registra cada ejecución de cada workflow con el estado de cada nodo: que datos recibio, que devolvio, cuanto tardo y si hubo errores.

CampoDescripción
workflow_idHash único de la ejecución (ej: wf_abc123)
module_nameNombre del nodo ejecutado
statusEstado: completed, failed, delayed
dataDatos de entrada del nodo (JSON)
resultDatos de salida del nodo (JSON)
retriesNúmero de reintentos realizados
error_messageMensaje de error (si fallo)
response_time_msTiempo de ejecución en milisegundos
last_executionFecha y hora de la última ejecución
stepsArray JSON con el historial acumulado de pasos

Cada vez que un workflow se ejecuta, se crea una instancia única en la tabla workflowinstances:

CampoDescripción
workflow_idHash único de la instancia (wf_xxx)
workflow_nameNombre del workflow
workflow_parent_idID del workflow plantilla (para vincular múltiples ejecuciones)
created_atCuando se inicio la ejecución

Esto permite consultar todas las ejecuciones de un workflow especifico, comparar ejecuciones entre si, y detectar tendencias.

EndpointDescripción
GET /api/workflow/stats/:idEstadisticas completas de un workflow
GET /api/workflow/stats/:id/nodesEstadisticas por nodo
GET /api/workflow/stats/:id/errorsDistribución de errores
GET /api/workflow/stats/:id/sessionsUltimas 20 sesiones de ejecución
GET /api/workflow/stats/:id/timelineLínea de tiempo de ejecución (para visualización waterfall)

Para cada sesión de ejecución se puede ver:

  • Duración total de la ejecución
  • Cantidad de trazas generadas
  • Si hubo errores y en que nodo
  • Estado final (exitoso o fallido)

La plataforma proporciona métricas detalladas para analizar la performance de cada workflow y cada nodo individual.

Al consultar GET /api/workflow/stats/:id, se obtiene:

{
"total_executions": 1250,
"success_rate": 97.5,
"error_rate": 2.5,
"total_errors": 31,
"avg_duration": 2340,
"nodes_used": ["Webhook", "HTTP", "Decision", "SendMail", "End"],
"node_stats": { ... },
"execution_trend": [ ... ]
}
MétricaDescripción
total_executionsNúmero total de ejecuciones del workflow
success_ratePorcentaje de ejecuciones exitosas
error_ratePorcentaje de ejecuciones con errores
total_errorsNúmero total de ejecuciones fallidas
avg_durationTiempo medio de ejecución en milisegundos
nodes_usedLista de modulos utilizados

Cada nodo tiene sus propias estadisticas:

MétricaDescripción
total_executionsVeces que se ejecuto el nodo
avg_durationTiempo medio del nodo (ms)
max_durationTiempo máximo registrado (ms)
error_countCantidad de fallos del nodo
success_ratePorcentaje de exito del nodo

Esto permite identificar cuellos de botella: si un nodo HTTP tarda en promedio 3 segundos mientras el resto tarda milisegundos, sabes donde optimizar.

El campo execution_trend muestra las ejecuciones de los últimos 10 dias, agrupadas por fecha:

[
{ "date": "2026-03-20", "executions": 45, "errors": 1 },
{ "date": "2026-03-21", "executions": 52, "errors": 0 },
{ "date": "2026-03-22", "executions": 48, "errors": 3 },
{ "date": "2026-03-23", "executions": 38, "errors": 0 }
]

Útil para detectar picos de actividad, incrementos en la tasa de error, o cambios tras una modificación del workflow.

GET /api/workflow/stats/:id/errors devuelve:

  • Distribución de errores por nodo (que nodos fallan mas)
  • Agrupación de mensajes de error (errores repetitivos)
  • Top 20 errores mas frecuentes

Esto permite priorizar las correcciones: si el 80% de los errores son “timeout” en un nodo HTTP, la solución es ajustar el timeout o mejorar la API destino.

GET /api/workflow/stats/:id/timeline proporciona la secuencia cronologica de ejecución de cada nodo, ideal para visualizar:

  • El orden real de ejecución
  • Nodos que se ejecutan en paralelo
  • Donde se concentra el tiempo de ejecución
  • Puntos de espera (delays, merges)