Saltearse al contenido

Trazas, historial y rendimiento

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

Cada traza contiene:

CampoDescripcion
workflow_idIdentificador unico de la ejecucion
workflow_nameNombre del workflow
module_nameNombre del nodo que genero la traza
node_idID del nodo en el editor
stepDescripcion del paso ejecutado
detailsDatos detallados en JSON (entrada, salida, metadata)
levelNivel de la traza (ver tabla abajo)
session_idID de sesion para agrupar trazas de una misma ejecucion
timestampFecha y hora exacta
NivelUsoCuando aparece
TRACEFlujo detallado de ejecucionEntrada y salida de cada nodo, resoluciones de variables
DEBUGInformacion de depuracionDatos intermedios, estados internos
INFOInformacion generalInicio/fin de ejecucion, resultados principales
WARNAdvertenciasDatos opcionales faltantes, reintentos, respuestas inesperadas
ERRORErroresFallos de nodos, errores de conexion, excepciones

Las trazas se transmiten en tiempo real via WebSocket a los clientes conectados. Esto permite ver la ejecucion 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 depuracion.
  • /webhooks/{hash}: Modo produccion con trazas minimas. Usar en entornos reales.
EndpointDescripcion
GET /api/tracesListar trazas con filtros (workflow, modulo, nivel, fechas)
GET /api/traces/:workflowIdTrazas de una ejecucion 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

Las trazas se limpian automaticamente segun el plan del cliente (dias de retencion). Tambien se pueden limpiar manualmente:

EndpointDescripcion
DELETE /api/traces/cleanupLimpieza manual (especificar dias a conservar)
DELETE /api/traces/cleanup/by-planLimpieza segun 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 ejecucion de cada workflow con el estado de cada nodo: que datos recibio, que devolvio, cuanto tardo y si hubo errores.

CampoDescripcion
workflow_idHash unico de la ejecucion (ej: wf_abc123)
module_nameNombre del nodo ejecutado
statusEstado: completed, failed, delayed
dataDatos de entrada del nodo (JSON)
resultDatos de salida del nodo (JSON)
retriesNumero de reintentos realizados
error_messageMensaje de error (si fallo)
response_time_msTiempo de ejecucion en milisegundos
last_executionFecha y hora de la ultima ejecucion
stepsArray JSON con el historial acumulado de pasos

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

CampoDescripcion
workflow_idHash unico de la instancia (wf_xxx)
workflow_nameNombre del workflow
workflow_parent_idID del workflow plantilla (para vincular multiples ejecuciones)
created_atCuando se inicio la ejecucion

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

EndpointDescripcion
GET /api/workflow/stats/:idEstadisticas completas de un workflow
GET /api/workflow/stats/:id/nodesEstadisticas por nodo
GET /api/workflow/stats/:id/errorsDistribucion de errores
GET /api/workflow/stats/:id/sessionsUltimas 20 sesiones de ejecucion
GET /api/workflow/stats/:id/timelineLinea de tiempo de ejecucion (para visualizacion waterfall)

Para cada sesion de ejecucion se puede ver:

  • Duracion total de la ejecucion
  • Cantidad de trazas generadas
  • Si hubo errores y en que nodo
  • Estado final (exitoso o fallido)

La plataforma proporciona metricas 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": [ ... ]
}
MetricaDescripcion
total_executionsNumero total de ejecuciones del workflow
success_ratePorcentaje de ejecuciones exitosas
error_ratePorcentaje de ejecuciones con errores
total_errorsNumero total de ejecuciones fallidas
avg_durationTiempo medio de ejecucion en milisegundos
nodes_usedLista de modulos utilizados

Cada nodo tiene sus propias estadisticas:

MetricaDescripcion
total_executionsVeces que se ejecuto el nodo
avg_durationTiempo medio del nodo (ms)
max_durationTiempo maximo 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 ultimos 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 }
]

Util para detectar picos de actividad, incrementos en la tasa de error, o cambios tras una modificacion del workflow.

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

  • Distribucion de errores por nodo (que nodos fallan mas)
  • Agrupacion 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 solucion es ajustar el timeout o mejorar la API destino.

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

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