UNPKG

@iota-big3/sdk-gateway

Version:

Universal API Gateway with protocol translation, intelligent routing, rate limiting, health checking, and caching

102 lines 2.6 kB
import { EventEmitter } from 'events'; import type { GatewayRequest, GatewayResponse } from '../types/gateway-types'; export interface PerformanceThresholds { latency: { p50: number; p95: number; p99: number; }; errorRate: number; throughput: { min: number; max: number; }; memory: { max: number; growthRate: number; }; } export interface Anomaly { type: 'latency' | 'error_rate' | 'throughput' | 'memory' | 'cpu'; severity: 'low' | 'medium' | 'high' | 'critical'; value: number; threshold: number; timestamp: number; message: string; } export interface PerformanceMetrics { requests: { total: number; rate: number; active: number; }; latency: { current: number; p50: number; p95: number; p99: number; avg: number; min: number; max: number; }; errors: { total: number; rate: number; byType: Record<string, number>; }; throughput: { current: number; avg: number; peak: number; }; resources: { cpu: { usage: number; system: number; user: number; }; memory: { used: number; rss: number; heapUsed: number; heapTotal: number; external: number; }; connections: { active: number; idle: number; waiting: number; }; }; } export declare class PerformanceMonitor extends EventEmitter { private metrics; private thresholds; private requests; private latencies; private windowSize; private lastReset; private anomalies; constructor(thresholds?: Partial<PerformanceThresholds>); startRequest(request: GatewayRequest): void; endRequest(request: GatewayRequest, response: GatewayResponse): void; private collectMetrics; private recordResourceMetrics; private checkSLACompliance; detectAnomalies(): Anomaly[]; private detectLatencySpikes; private detectMemoryLeaks; private detectErrorRateIncrease; private detectThroughputDegradation; private checkAnomalies; private cleanupOldData; private calculatePercentile; getMetrics(): PerformanceMetrics; private calculateErrorRate; private getErrorsByType; private calculateCPUUsage; private startMetricCollection; reset(): void; getAnomalies(): Anomaly[]; } //# sourceMappingURL=performance-monitor.d.ts.map