Panel de Insights y rendimiento
¿Qué es el panel de Insights?
Sección titulada «¿Qué es el panel de Insights?»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ódulo | Descripción |
|---|---|
| Resumen | KPIs globales: total de ejecuciones, tasa de éxito, workflows activos |
| Tendencias | Volumen diario y tasa de éxito semanal en el período seleccionado |
| Workflows | Ranking de workflows por ejecuciones, errores y ahorro estimado |
| Heatmap | Distribución de actividad por hora del día y día de la semana |
| Errores | Workflows más problemáticos y módulos más lentos |
| Salud | Workflows zombie, incidentes activos, retries elevados |
| Costo | Consumo de tokens LLM y costo estimado por workflow |
| Cuota | Uso del mes calendario respecto al plan contratado |
Gráfico de volumen diario
Sección titulada «Gráfico de volumen diario»Selector de período
Sección titulada «Selector de período»El gráfico “Volumen diario de ejecuciones” en el Dashboard principal permite filtrar por cuatro períodos:
| Botón | Período mostrado |
|---|---|
| Hoy | Solo el día actual |
| Ayer | Ayer + 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.
Estadísticas del período
Sección titulada «Estadísticas del período»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)»El problema anterior
Sección titulada «El problema anterior»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.
Solución: tablas de pre-agregados
Sección titulada «Solución: tablas de pre-agregados»Floogos mantiene dos tablas con datos pre-calculados que se rellenan automáticamente:
workflow_insights_daily — una fila por (cliente, workflow, día):
| Columna | Descripción |
|---|---|
exec_count | Ejecuciones del día |
failed_count | Ejecuciones fallidas |
elapsed_total_ms | Tiempo total acumulado |
node_states_total | Nodos ejecutados |
node_states_failed | Nodos con error |
llm_cost | Costo LLM del día |
llm_tokens | Tokens consumidos |
workflow_insights_heatmap_daily — una fila por (cliente, día) con un array JSON de 24 enteros (uno por hora).
Lazy backfill automático
Sección titulada «Lazy backfill automático»Cuando un endpoint de Insights recibe una petición, comprueba si hay días sin calcular en la tabla de pre-agregados:
- Consulta el mínimo y máximo día guardado para el cliente.
- Si hay gaps entre el rango solicitado y los datos guardados, calcula y persiste esos días en una sola pasada.
- Solo el día actual se calcula desde datos raw (porque aún está en curso).
- 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.
Endpoints disponibles
Sección titulada «Endpoints disponibles»Todos los endpoints de Insights requieren autenticación y filtran automáticamente por el cliente.
| Endpoint | Descripción |
|---|---|
GET /api/workflow/insights/summary?days=N | KPIs globales + sparklines |
GET /api/workflow/insights/trends?days=N | Serie diaria + tasa semanal |
GET /api/workflow/insights/workflows?days=N | Ranking por workflow |
GET /api/workflow/insights/heatmap?days=N | Mapa de calor por hora/día |
GET /api/workflow/insights/heatmap/detail?date=YYYY-MM-DD | Detalle de un día concreto |
GET /api/workflow/insights/errors?days=N | Workflows problemáticos + módulos lentos |
GET /api/workflow/insights/health | Estado de salud actual |
GET /api/workflow/insights/cost?days=N | Consumo LLM y costos |
GET /api/workflow/insights/quota | Uso del mes actual vs. plan |
El parámetro days acepta valores entre 1 y 365.
Rendimiento de la lista de workflows
Sección titulada «Rendimiento de la lista de workflows»Última instancia ejecutada
Sección titulada «Última instancia ejecutada»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.
Errores activos por workflow
Sección titulada «Errores activos por workflow»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.
Carpetas y organización
Sección titulada «Carpetas y organización»GET /api/v5/folders devuelve la lista de carpetas del cliente con contadores de contenido:
| Campo | Descripción |
|---|---|
workflow_count | Workflows dentro de la carpeta |
form_count | Formularios dentro de la carpeta |
dashboard_count | Dashboards 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.