Return an array listing the events for which the emitter has registered
listeners.
Returns (string | symbol)[]
getMetrics
getMetrics(): { Â Â Â Â cache: null | CacheStats & { Â Â Â Â Â Â Â Â compressionStats: { Â Â Â Â Â Â Â Â Â Â Â Â ratio: number; Â Â Â Â Â Â Â Â Â Â Â Â savedBytes: number; Â Â Â Â Â Â Â Â }; Â Â Â Â Â Â Â Â hotKeys: { Â Â Â Â Â Â Â Â Â Â Â Â hits: number; Â Â Â Â Â Â Â Â Â Â Â Â key: string; Â Â Â Â Â Â Â Â }[]; Â Â Â Â Â Â Â Â memoryDistribution: { Â Â Â Â Â Â Â Â Â Â Â Â distributed: number; Â Â Â Â Â Â Â Â Â Â Â Â l1: number; Â Â Â Â Â Â Â Â Â Â Â Â l2: number; Â Â Â Â Â Â Â Â }; Â Â Â Â Â Â Â Â predictiveAccuracy: number; Â Â Â Â }; Â Â Â Â circuitBreaker: null | { Â Â Â Â Â Â Â Â availability: { Â Â Â Â Â Â Â Â Â Â Â Â 1h: number; Â Â Â Â Â Â Â Â Â Â Â Â 24h: number; Â Â Â Â Â Â Â Â Â Â Â Â current: number; Â Â Â Â Â Â Â Â }; Â Â Â Â Â Â Â Â config: CircuitBreakerConfig; Â Â Â Â Â Â Â Â failureRate: number; Â Â Â Â Â Â Â Â failures: number; Â Â Â Â Â Â Â Â lastFailureTime: number; Â Â Â Â Â Â Â Â mttr: number; Â Â Â Â Â Â Â Â nextAttemptIn: number; Â Â Â Â Â Â Â Â performance: { Â Â Â Â Â Â Â Â Â Â Â Â averageResponseTime: number; Â Â Â Â Â Â Â Â Â Â Â Â errorBudget: number; Â Â Â Â Â Â Â Â Â Â Â Â requestsPerSecond: number; Â Â Â Â Â Â Â Â }; Â Â Â Â Â Â Â Â recentRequests: number; Â Â Â Â Â Â Â Â state: "open" | "half-open" | "closed"; Â Â Â Â Â Â Â Â successCount: number; Â Â Â Â Â Â Â Â totalRequests: number; Â Â Â Â }; Â Â Â Â connection: { Â Â Â Â Â Â Â Â reconnectAttempts: number; Â Â Â Â Â Â Â Â reconnectCount: number; Â Â Â Â Â Â Â Â state: Â Â Â Â Â Â Â Â Â Â Â Â | "disconnected" Â Â Â Â Â Â Â Â Â Â Â Â | "connecting" Â Â Â Â Â Â Â Â Â Â Â Â | "connected" Â Â Â Â Â Â Â Â Â Â Â Â | "reconnecting"; Â Â Â Â }; Â Â Â Â performance: { Â Â Â Â Â Â Â Â latency: { Â Â Â Â Â Â Â Â Â Â Â Â average: number; Â Â Â Â Â Â Â Â Â Â Â Â last: number; Â Â Â Â Â Â Â Â }; Â Â Â Â Â Â Â Â throughput: { Â Â Â Â Â Â Â Â Â Â Â Â messagesReceived: number; Â Â Â Â Â Â Â Â Â Â Â Â messagesSent: number; Â Â Â Â Â Â Â Â }; Â Â Â Â }; Â Â Â Â subscriptions: { Â Â Â Â Â Â Â Â active: number; Â Â Â Â Â Â Â Â total: number; Â Â Â Â }; }
Get real-time metrics
Returns { Â Â Â Â cache: null | CacheStats & { Â Â Â Â Â Â Â Â compressionStats: { Â Â Â Â Â Â Â Â Â Â Â Â ratio: number; Â Â Â Â Â Â Â Â Â Â Â Â savedBytes: number; Â Â Â Â Â Â Â Â }; Â Â Â Â Â Â Â Â hotKeys: { Â Â Â Â Â Â Â Â Â Â Â Â hits: number; Â Â Â Â Â Â Â Â Â Â Â Â key: string; Â Â Â Â Â Â Â Â }[]; Â Â Â Â Â Â Â Â memoryDistribution: { Â Â Â Â Â Â Â Â Â Â Â Â distributed: number; Â Â Â Â Â Â Â Â Â Â Â Â l1: number; Â Â Â Â Â Â Â Â Â Â Â Â l2: number; Â Â Â Â Â Â Â Â }; Â Â Â Â Â Â Â Â predictiveAccuracy: number; Â Â Â Â }; Â Â Â Â circuitBreaker: null | { Â Â Â Â Â Â Â Â availability: { Â Â Â Â Â Â Â Â Â Â Â Â 1h: number; Â Â Â Â Â Â Â Â Â Â Â Â 24h: number; Â Â Â Â Â Â Â Â Â Â Â Â current: number; Â Â Â Â Â Â Â Â }; Â Â Â Â Â Â Â Â config: CircuitBreakerConfig; Â Â Â Â Â Â Â Â failureRate: number; Â Â Â Â Â Â Â Â failures: number; Â Â Â Â Â Â Â Â lastFailureTime: number; Â Â Â Â Â Â Â Â mttr: number; Â Â Â Â Â Â Â Â nextAttemptIn: number; Â Â Â Â Â Â Â Â performance: { Â Â Â Â Â Â Â Â Â Â Â Â averageResponseTime: number; Â Â Â Â Â Â Â Â Â Â Â Â errorBudget: number; Â Â Â Â Â Â Â Â Â Â Â Â requestsPerSecond: number; Â Â Â Â Â Â Â Â }; Â Â Â Â Â Â Â Â recentRequests: number; Â Â Â Â Â Â Â Â state: "open" | "half-open" | "closed"; Â Â Â Â Â Â Â Â successCount: number; Â Â Â Â Â Â Â Â totalRequests: number; Â Â Â Â }; Â Â Â Â connection: { Â Â Â Â Â Â Â Â reconnectAttempts: number; Â Â Â Â Â Â Â Â reconnectCount: number; Â Â Â Â Â Â Â Â state: Â Â Â Â Â Â Â Â Â Â Â Â | "disconnected" Â Â Â Â Â Â Â Â Â Â Â Â | "connecting" Â Â Â Â Â Â Â Â Â Â Â Â | "connected" Â Â Â Â Â Â Â Â Â Â Â Â | "reconnecting"; Â Â Â Â }; Â Â Â Â performance: { Â Â Â Â Â Â Â Â latency: { Â Â Â Â Â Â Â Â Â Â Â Â average: number; Â Â Â Â Â Â Â Â Â Â Â Â last: number; Â Â Â Â Â Â Â Â }; Â Â Â Â Â Â Â Â throughput: { Â Â Â Â Â Â Â Â Â Â Â Â messagesReceived: number; Â Â Â Â Â Â Â Â Â Â Â Â messagesSent: number; Â Â Â Â Â Â Â Â }; Â Â Â Â }; Â Â Â Â subscriptions: { Â Â Â Â Â Â Â Â active: number; Â Â Â Â Â Â Â Â total: number; Â Â Â Â }; }
cache: null | CacheStats & { Â Â Â Â compressionStats: { Â Â Â Â Â Â Â Â ratio: number; Â Â Â Â Â Â Â Â savedBytes: number; Â Â Â Â }; Â Â Â Â hotKeys: { Â Â Â Â Â Â Â Â hits: number; Â Â Â Â Â Â Â Â key: string; Â Â Â Â }[]; Â Â Â Â memoryDistribution: { Â Â Â Â Â Â Â Â distributed: number; Â Â Â Â Â Â Â Â l1: number; Â Â Â Â Â Â Â Â l2: number; Â Â Â Â }; Â Â Â Â predictiveAccuracy: number; }
circuitBreaker: null | { Â Â Â Â availability: { Â Â Â Â Â Â Â Â 1h: number; Â Â Â Â Â Â Â Â 24h: number; Â Â Â Â Â Â Â Â current: number; Â Â Â Â }; Â Â Â Â config: CircuitBreakerConfig; Â Â Â Â failureRate: number; Â Â Â Â failures: number; Â Â Â Â lastFailureTime: number; Â Â Â Â mttr: number; Â Â Â Â nextAttemptIn: number; Â Â Â Â performance: { Â Â Â Â Â Â Â Â averageResponseTime: number; Â Â Â Â Â Â Â Â errorBudget: number; Â Â Â Â Â Â Â Â requestsPerSecond: number; Â Â Â Â }; Â Â Â Â recentRequests: number; Â Â Â Â state: "open" | "half-open" | "closed"; Â Â Â Â successCount: number; Â Â Â Â totalRequests: number; }
connection: { Â Â Â Â reconnectAttempts: number; Â Â Â Â reconnectCount: number; Â Â Â Â state: Â Â Â Â Â Â Â Â | "disconnected" Â Â Â Â Â Â Â Â | "connecting" Â Â Â Â Â Â Â Â | "connected" Â Â Â Â Â Â Â Â | "reconnecting"; }
reconnectAttempts: number
reconnectCount: number
state: Â Â Â Â | "disconnected" Â Â Â Â | "connecting" Â Â Â Â | "connected" Â Â Â Â | "reconnecting"
performance: { Â Â Â Â latency: { Â Â Â Â Â Â Â Â average: number; Â Â Â Â Â Â Â Â last: number; Â Â Â Â }; Â Â Â Â throughput: { Â Â Â Â Â Â Â Â messagesReceived: number; Â Â Â Â Â Â Â Â messagesSent: number; Â Â Â Â }; }
latency: { Â Â Â Â average: number; Â Â Â Â last: number; }
average: number
last: number
throughput: { Â Â Â Â messagesReceived: number; Â Â Â Â messagesSent: number; }
messagesReceived: number
messagesSent: number
subscriptions: { Â Â Â Â active: number; Â Â Â Â total: number; }
active: number
total: number
isHealthy
isHealthy(): boolean
Health monitoring
Returns boolean
listenerCount
listenerCount(event): number
Return the number of listeners listening to a given event.
📡 Enhanced subscription with AI optimizations