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

107 lines 2.83 kB
import { EventEmitter } from 'events'; export interface BackpressureConfig { enabled: boolean; maxQueueSize: number; backpressureThreshold: number; maxMemoryUsageMB: number; maxCpuUsagePercent: number; minDelayMs: number; maxDelayMs: number; delayGrowthFactor: number; activationThreshold: number; deactivationThreshold: number; resourceSamplingIntervalMs: number; maxErrorRatePercent: number; errorRateWindowSize: number; } export interface BackpressureMetrics { isActive: boolean; currentDelay: number; memoryUsageMB: number; cpuUsagePercent: number; queueLength: number; concurrency: number; errorRate: number; activationCount: number; totalDelayTime: number; peakMemoryMB: number; gcCount: number; } export interface ResourceSample { timestamp: number; memoryUsageMB: number; cpuUsagePercent: number; heapUsedMB: number; heapTotalMB: number; } export declare class AdaptiveBackpressureController extends EventEmitter { private config; private metrics; private resourceSamples; private errorWindow; private samplingTimer?; private isActive; private currentDelay; constructor(config?: Partial<BackpressureConfig>); /** * Update queue state and assess backpressure needs */ updateQueueState(queueLength: number, concurrency: number, hasError?: boolean): void; /** * Get current adaptive delay in milliseconds */ getCurrentDelay(): number; /** * Get current metrics snapshot */ getMetrics(): BackpressureMetrics; /** * Check if backpressure is currently active */ isBackpressureActive(): boolean; /** * Start resource monitoring */ private startResourceMonitoring; /** * Stop resource monitoring */ private stopResourceMonitoring; /** * Sample current resource usage */ private sampleResources; /** * Check for resource warnings and emit events */ private checkResourceWarnings; /** * Assess whether backpressure should be activated/deactivated */ private assessBackpressure; /** * Calculate pressure factors from various metrics */ private calculatePressureFactors; /** * Activate backpressure with initial delay calculation */ private activateBackpressure; /** * Deactivate backpressure */ private deactivateBackpressure; /** * Adjust delay based on current pressure */ private adjustDelay; /** * Force garbage collection if available and conditions are met */ triggerGarbageCollection(): boolean; /** * Cleanup and stop monitoring */ destroy(): void; } //# sourceMappingURL=backpressure-controller.d.ts.map