UNPKG

@casoon/auditmysite

Version:

A comprehensive command-line tool for automated accessibility, security, performance, and SEO testing using Playwright and pa11y, based on sitemap URLs

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