UNPKG

@re-shell/cli

Version:

Full-stack development platform uniting microservices and microfrontends. Build complete applications with .NET (ASP.NET Core Web API, Minimal API), Java (Spring Boot, Quarkus, Micronaut, Vert.x), Rust (Actix-Web, Warp, Rocket, Axum), Python (FastAPI, Dja

165 lines (164 loc) 3.79 kB
/** * Resource usage reporting and analytics */ import { EventEmitter } from 'events'; interface ResourceSnapshot { timestamp: number; memory: { rss: number; heapTotal: number; heapUsed: number; external: number; arrayBuffers: number; }; cpu: { user: number; system: number; }; operations: { total: number; pending: number; running: number; completed: number; failed: number; }; custom?: Record<string, number>; } interface ResourceTrend { metric: string; direction: 'increasing' | 'decreasing' | 'stable'; rate: number; confidence: number; } interface ResourceAlert { type: 'memory' | 'cpu' | 'operations' | 'custom'; severity: 'info' | 'warning' | 'critical'; message: string; value: number; threshold: number; timestamp: number; } interface ResourceReport { period: { start: number; end: number; duration: number; }; summary: { memory: { peak: number; average: number; current: number; }; cpu: { peak: number; average: number; current: number; }; operations: { total: number; throughput: number; successRate: number; }; }; trends: ResourceTrend[]; alerts: ResourceAlert[]; recommendations: string[]; } export declare class ResourceAnalytics extends EventEmitter { private static instance; private snapshots; private alerts; private monitoring; private interval?; private reportPath; private lastCpuUsage; private readonly MEMORY_WARNING; private readonly MEMORY_CRITICAL; private readonly CPU_WARNING; private readonly CPU_CRITICAL; private constructor(); static getInstance(): ResourceAnalytics; /** * Start resource monitoring */ start(intervalMs?: number): void; /** * Stop resource monitoring */ stop(): void; /** * Add custom metric to current snapshot */ addCustomMetric(name: string, value: number): void; /** * Generate comprehensive resource report */ generateReport(periodHours?: number): ResourceReport; /** * Get resource trends */ getTrends(metric: string, samples?: number): ResourceTrend | null; /** * Get current resource usage */ getCurrentUsage(): ResourceSnapshot | null; /** * Get resource usage history */ getHistory(hours?: number): ResourceSnapshot[]; /** * Export analytics data */ exportData(format?: 'json' | 'csv'): string; /** * Clear old data */ cleanup(retentionHours?: number): void; /** * Capture current resource snapshot */ private captureSnapshot; /** * Check for resource alerts */ private checkAlerts; /** * Create and emit resource alert */ private createAlert; /** * Calculate summary statistics */ private calculateSummary; /** * Calculate trends for metrics */ private calculateTrends; /** * Calculate trend for a specific metric */ private calculateTrend; /** * Get metric value from snapshot */ private getMetricValue; /** * Generate recommendations based on analysis */ private generateRecommendations; /** * Export data to CSV format */ private exportToCsv; /** * Load persisted analytics data */ private loadPersistedData; /** * Persist analytics data */ private persistData; } export declare const resourceAnalytics: ResourceAnalytics; export {};