Ir al contenido

Panel de Insights y rendimiento

El panel de Insights centraliza las métricas de actividad de todos los workflows de un cliente. Está compuesto por varios módulos que cubren distintas dimensiones de análisis:

MóduloDescripción
ResumenKPIs globales: total de ejecuciones, tasa de éxito, workflows activos
TendenciasVolumen diario y tasa de éxito semanal en el período seleccionado
WorkflowsRanking de workflows por ejecuciones, errores y ahorro estimado
HeatmapDistribución de actividad por hora del día y día de la semana
ErroresWorkflows más problemáticos y módulos más lentos
SaludWorkflows zombie, incidentes activos, retries elevados
CostoConsumo de tokens LLM y costo estimado por workflow
CuotaUso del mes calendario respecto al plan contratado

El gráfico “Volumen diario de ejecuciones” en el Dashboard principal permite filtrar por cuatro períodos:

BotónPeríodo mostrado
HoySolo el día actual
AyerAyer + hoy (últimas 48 h)
7dÚltimos 7 días (por defecto)
30dÚltimos 30 días

El período seleccionado se recuerda entre sesiones — se guarda en el navegador bajo la clave dashboard_trends_range. La próxima vez que se abre el dashboard, el gráfico carga directamente con el último período elegido.

Debajo del gráfico, los tres KPIs (total de ejecuciones, pico diario y tiempo promedio) reflejan siempre el período activo. La etiqueta cambia automáticamente: Ejecuciones (Hoy), Ejecuciones (7d), etc.


Cómo funciona internamente (pre-agregación)

Sección titulada «Cómo funciona internamente (pre-agregación)»

Los endpoints de Insights calculaban cada métrica escaneando las tablas raw (workflowinstances, workflowstates, requests_log) en cada request. Con ventanas de 30-365 días y clientes con millones de instancias, las respuestas tardaban decenas de segundos.

Floogos mantiene dos tablas con datos pre-calculados que se rellenan automáticamente:

workflow_insights_daily — una fila por (cliente, workflow, día):

ColumnaDescripción
exec_countEjecuciones del día
failed_countEjecuciones fallidas
elapsed_total_msTiempo total acumulado
node_states_totalNodos ejecutados
node_states_failedNodos con error
llm_costCosto LLM del día
llm_tokensTokens consumidos

workflow_insights_heatmap_daily — una fila por (cliente, día) con un array JSON de 24 enteros (uno por hora).

Cuando un endpoint de Insights recibe una petición, comprueba si hay días sin calcular en la tabla de pre-agregados:

  1. Consulta el mínimo y máximo día guardado para el cliente.
  2. Si hay gaps entre el rango solicitado y los datos guardados, calcula y persiste esos días en una sola pasada.
  3. Solo el día actual se calcula desde datos raw (porque aún está en curso).
  4. Los días históricos (anteriores a hoy) son inmutables — se leen directamente de las tablas pre-agregadas.

Este proceso es transparente para el usuario. La primera consulta puede tardar algunos segundos en clientes con histórico extenso; las siguientes son instantáneas.


Todos los endpoints de Insights requieren autenticación y filtran automáticamente por el cliente.

EndpointDescripción
GET /api/workflow/insights/summary?days=NKPIs globales + sparklines
GET /api/workflow/insights/trends?days=NSerie diaria + tasa semanal
GET /api/workflow/insights/workflows?days=NRanking por workflow
GET /api/workflow/insights/heatmap?days=NMapa de calor por hora/día
GET /api/workflow/insights/heatmap/detail?date=YYYY-MM-DDDetalle de un día concreto
GET /api/workflow/insights/errors?days=NWorkflows problemáticos + módulos lentos
GET /api/workflow/insights/healthEstado de salud actual
GET /api/workflow/insights/cost?days=NConsumo LLM y costos
GET /api/workflow/insights/quotaUso del mes actual vs. plan

El parámetro days acepta valores entre 1 y 365.


El campo workflow_id que devuelve la lista de workflows corresponde al ID de la última instancia ejecutada. Esto permite acceder directamente al historial de la última ejecución sin búsquedas adicionales.

Este valor se mantiene actualizado automáticamente cada vez que se crea una nueva ejecución.

El campo failed_states_count indica cuántos nodos fallidos hay sin resolver en el histórico del workflow — es decir, fallos que no tienen un incidente marcado como resuelto. Permite mostrar badges de alerta sin consultas adicionales.


GET /api/v5/folders devuelve la lista de carpetas del cliente con contadores de contenido:

CampoDescripción
workflow_countWorkflows dentro de la carpeta
form_countFormularios dentro de la carpeta
dashboard_countDashboards dentro de la carpeta

Los contadores se calculan en una sola consulta agregada, garantizando tiempos de respuesta constantes independientemente del número de carpetas o workflows.