UNPKG

@casoon/auditmysite

Version:

Professional website analysis suite with robust accessibility testing, Core Web Vitals performance monitoring, SEO analysis, and content optimization insights. Features isolated browser contexts, retry mechanisms, and comprehensive API endpoints for profe

83 lines 2.27 kB
import { EventEmitter } from 'events'; export interface ResourceMetrics { memory: { used: number; total: number; percentage: number; heapUsed: number; heapTotal: number; external: number; }; cpu: { usage: number; loadAverage: number[]; uptime: number; }; network: { activeConnections: number; bytesReceived: number; bytesSent: number; requestsPerSecond: number; }; system: { uptime: number; platform: string; arch: string; nodeVersion: string; }; } export interface ResourceLimits { maxMemoryUsage?: number; maxCpuUsage?: number; maxNetworkConnections?: number; maxRequestsPerSecond?: number; } export interface ResourceAlert { type: 'memory' | 'cpu' | 'network' | 'system'; level: 'warning' | 'critical'; message: string; value: number; limit: number; timestamp: Date; } export interface ResourceMonitorOptions { enabled?: boolean; interval?: number; limits?: ResourceLimits; enableAlerts?: boolean; enableLogging?: boolean; enableThrottling?: boolean; } export declare class ResourceMonitor extends EventEmitter { private options; private isMonitoring; private intervalId; private startTime; private metrics; private alerts; private networkStats; constructor(options?: ResourceMonitorOptions); start(): Promise<void>; stop(): void; private collectMetrics; private getMemoryMetrics; private getCpuMetrics; private getNetworkMetrics; private getSystemMetrics; private checkAlerts; private logMetrics; recordRequest(): void; recordRequestComplete(): void; recordNetworkTraffic(bytesReceived: number, bytesSent: number): void; shouldThrottle(): boolean; getMetrics(): ResourceMetrics | null; getAlerts(): ResourceAlert[]; getCriticalAlerts(): ResourceAlert[]; getWarningAlerts(): ResourceAlert[]; getUptime(): number; getMonitoringStatus(): boolean; updateLimits(limits: Partial<ResourceLimits>): void; updateInterval(interval: number): void; cleanup(): Promise<void>; } //# sourceMappingURL=resource-monitor.d.ts.map