activepieces-consumption-dashboard
v1.0.1
Published
Dashboard de consumo para ActivePieces - Métricas de uso y operaciones para tarifar y revender servicios
Maintainers
Readme
ActivePieces Consumption Dashboard
Dashboard de consumo y métricas de uso para ActivePieces. Este piece te permite monitorear, analizar y tarifar el uso de operaciones en tu instalación de ActivePieces, similar a cómo Make.com maneja la tarifación por operaciones.
🎯 Características
- Métricas de Consumo: Obtén estadísticas detalladas de ejecuciones, operaciones y uso de red
- Filtrado Avanzado: Filtra por proyecto, flujo/escenario, fechas y más
- Cálculo de Costos: Calcula costos basados en operaciones ejecutadas (similar a Make.com)
- Exportación de Reportes: Exporta reportes en formato JSON o CSV
- Agrupación de Datos: Agrupa métricas por día, semana, mes, proyecto o flujo
- Listado de Recursos: Lista proyectos y flujos disponibles en tu instalación
📦 Instalación
Opción 1: Instalación Manual
- Clona o descarga este repositorio en tu servidor de ActivePieces
- Instala las dependencias:
npm install- Compila el proyecto:
npm run build- Copia el directorio
dista la carpeta de pieces de ActivePieces
Opción 2: Integración con Docker
Si tienes ActivePieces corriendo en Docker, puedes agregar este piece de la siguiente manera:
- Agrega este repositorio como un volumen en tu
docker-compose.yml:
services:
activepieces:
volumes:
- ./consumption-dashboard:/app/packages/pieces/consumption-dashboard- Reconstruye y reinicia el contenedor:
docker-compose down
docker-compose up -d --buildOpción 3: Instalación desde npm (AP_DEV_PIECES)
Si tu ActivePieces soporta cargar pieces desde npm:
- Agrega la variable
AP_DEV_PIECES:
services:
activepieces:
environment:
- AP_DEV_PIECES=activepieces-consumption-dashboard
- AP_CONSUMPTION_DASHBOARD_BASE_URL=http://localhost:8080
- AP_CONSUMPTION_DASHBOARD_API_KEY=tu-api-key-aqui- Reinicia ActivePieces:
docker-compose restart activepieces🔧 Configuración
Variables de Entorno
Asegúrate de configurar las siguientes variables de entorno en tu instalación de ActivePieces:
AP_FRONTEND_URL: URL base de tu instalación de ActivePieces (ej:http://localhost:8080)AP_API_URL: URL de la API de ActivePieces (si es diferente al frontend)AP_CONSUMPTION_DASHBOARD_BASE_URL: override específico para este piece (opcional)AP_CONSUMPTION_DASHBOARD_API_KEY: API key para la API de ActivePieces (opcional si se ingresa en UI)AP_API_KEY: API key global (fallback)
Autenticación
Este piece utiliza la autenticación de ActivePieces. Puedes configurar la API key desde la UI del piece o con variables de entorno.
📊 Acciones Disponibles
1. Obtener Métricas de Consumo
Obtiene métricas generales de consumo del sistema.
Parámetros:
- Fecha Inicio (requerido)
- Fecha Fin (requerido)
- ID del Proyecto (opcional)
- Límite de Resultados (opcional, por defecto: 100)
Retorna:
- Resumen de ejecuciones (totales, exitosas, fallidas)
- Tasa de éxito
- Duración promedio y total
- Agrupación por proyecto y flujo
2. Obtener Métricas por Proyecto
Obtiene métricas de consumo filtradas por proyecto.
Parámetros:
- ID del Proyecto (requerido)
- Fecha Inicio (requerido)
- Fecha Fin (requerido)
- Incluir Flujos/Escenarios (opcional)
Retorna:
- Métricas del proyecto
- Desglose por flujo (si está habilitado)
3. Obtener Métricas por Flujo/Escenario
Obtiene métricas de consumo filtradas por flujo o escenario.
Parámetros:
- ID del Flujo/Escenario (requerido)
- Fecha Inicio (requerido)
- Fecha Fin (requerido)
Retorna:
- Métricas del flujo
- Agrupación por día
- Lista de ejecuciones
4. Obtener Conteo de Operaciones
Obtiene el conteo total de operaciones ejecutadas (similar a Make.com).
Parámetros:
- Fecha Inicio (requerido)
- Fecha Fin (requerido)
- ID del Proyecto (opcional)
- ID del Flujo/Escenario (opcional)
- Agrupar Por (día, semana, mes, proyecto, flujo)
- Incluir Fallidas (opcional)
Retorna:
- Total de operaciones
- Agrupación según criterio seleccionado
- Resumen (exitosas, fallidas)
5. Obtener Uso de Red
Obtiene métricas de uso de red estimadas basadas en ejecuciones.
Parámetros:
- Fecha Inicio (requerido)
- Fecha Fin (requerido)
- ID del Proyecto (opcional)
- ID del Flujo/Escenario (opcional)
- Agrupar Por (día, semana, mes, proyecto, flujo)
- Bytes Estimados por Ejecución (opcional, por defecto: 50000)
Retorna:
- Uso total de red (bytes, MB, GB)
- Agrupación según criterio seleccionado
6. Calcular Costos de Operaciones
Calcula costos basados en operaciones ejecutadas (similar a Make.com).
Parámetros:
- Fecha Inicio (requerido)
- Fecha Fin (requerido)
- ID del Proyecto (opcional)
- ID del Flujo/Escenario (opcional)
- Costo por Operación (opcional, por defecto: 0.001 USD)
- Costo por MB (opcional, por defecto: 0.01 USD)
- Incluir Operaciones Fallidas (opcional)
- Moneda (opcional, por defecto: USD)
Retorna:
- Costo total
- Desglose por operaciones y red
- Agrupación por proyecto y flujo
- Porcentajes de cada componente
7. Listar Proyectos
Obtiene la lista de todos los proyectos disponibles.
Parámetros:
- Límite de Resultados (opcional, por defecto: 100)
Retorna:
- Lista de proyectos con IDs, nombres y fechas
8. Listar Flujos/Escenarios
Obtiene la lista de todos los flujos/escenarios disponibles.
Parámetros:
- ID del Proyecto (opcional)
- Límite de Resultados (opcional, por defecto: 100)
Retorna:
- Lista de flujos con IDs, nombres, proyectos y estados
9. Exportar Reporte de Consumo
Exporta un reporte completo de consumo en formato JSON o CSV.
Parámetros:
- Fecha Inicio (requerido)
- Fecha Fin (requerido)
- ID del Proyecto (opcional)
- ID del Flujo/Escenario (opcional)
- Formato de Exportación (JSON o CSV)
- Incluir Cálculo de Costos (opcional)
- Costo por Operación (opcional, si incluir costos está activado)
Retorna:
- Reporte en el formato seleccionado
- Datos estructurados listos para análisis
💰 Modelo de Tarifación
Este piece está diseñado para implementar un modelo de tarifación similar a Make.com:
- Por Operación: Cada ejecución de un flujo cuenta como una operación
- Por Uso de Red: Opcionalmente puedes cobrar por datos transferidos
- Agrupación Flexible: Agrupa costos por proyecto, cliente, flujo, etc.
Ejemplo de Uso para Tarifación
// Ejemplo de cálculo de costos para un cliente
const costos = await calculateCosts({
startDate: '2024-01-01',
endDate: '2024-01-31',
projectId: 'cliente-123',
costPerOperation: 0.001, // $0.001 por operación
costPerMB: 0.01, // $0.01 por MB
});
// El resultado incluye:
// - Costo total
// - Desglose por operaciones y red
// - Agrupación por proyecto y flujo🔍 Ejemplos de Uso
Obtener métricas del último mes
const metrics = await getConsumptionMetrics({
startDate: new Date(Date.now() - 30 * 24 * 60 * 60 * 1000),
endDate: new Date(),
});Calcular costos de un proyecto específico
const costs = await calculateCosts({
startDate: '2024-01-01',
endDate: '2024-01-31',
projectId: 'proyecto-abc',
costPerOperation: 0.001,
currency: 'USD',
});Exportar reporte mensual en CSV
const report = await exportReport({
startDate: '2024-01-01',
endDate: '2024-01-31',
format: 'csv',
includeCosts: true,
costPerOperation: 0.001,
});🐛 Solución de Problemas
Error: "Error al obtener métricas"
- Verifica que la URL de la API esté correctamente configurada
- Asegúrate de tener permisos de acceso a la API
- Verifica que el API key sea válido
No se encuentran ejecuciones
- Verifica que el rango de fechas sea correcto
- Asegúrate de que haya ejecuciones en ese período
- Verifica los filtros de proyecto/flujo
Costos no calculan correctamente
- Verifica que los valores de costo por operación/MB sean correctos
- Asegúrate de que las ejecuciones estén siendo contadas correctamente
📝 Notas
- Los valores de uso de red son estimaciones basadas en el número de ejecuciones
- Ajusta
estimatedBytesPerExecutionsegún tus necesidades reales - Las métricas se basan en las ejecuciones disponibles en la API de ActivePieces
- El límite por defecto de resultados es 1000 ejecuciones por consulta
🤝 Contribuciones
Las contribuciones son bienvenidas. Por favor:
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
📄 Licencia
Este proyecto está bajo la Licencia MIT.
