firestore-queue
Version:
A powerful, scalable queue system built on Google Firestore with time-based indexing, auto-configuration, and connection reuse
72 lines • 1.69 kB
TypeScript
import { FireQueue } from '../core/FireQueue';
import { QueueMetrics } from '../types';
/**
* Monitoring utility for Fire Queue
*/
export interface MonitoringConfig {
metricsIntervalMs?: number;
logLevel?: 'debug' | 'info' | 'warn' | 'error';
enableHealthChecks?: boolean;
webhookUrl?: string;
alertThresholds?: {
maxPendingMessages?: number;
maxFailedPercentage?: number;
maxProcessingTimeMs?: number;
};
}
export declare class QueueMonitor {
private queue;
private config;
private metricsTimer?;
private lastMetrics?;
constructor(queue: FireQueue, config?: MonitoringConfig);
/**
* Setup event listeners for queue monitoring
*/
private setupEventListeners;
/**
* Start monitoring
*/
start(): void;
/**
* Stop monitoring
*/
stop(): void;
/**
* Collect and analyze metrics
*/
private collectAndAnalyzeMetrics;
/**
* Check alert conditions
*/
private checkAlerts;
/**
* Send alert notification
*/
private sendAlert;
/**
* Get current metrics
*/
getCurrentMetrics(): Promise<QueueMetrics>;
/**
* Get health status
*/
getHealthStatus(): Promise<{
healthy: boolean;
issues: string[];
metrics: QueueMetrics;
}>;
/**
* Generate monitoring report
*/
generateReport(): string;
/**
* Log with level checking
*/
private log;
}
/**
* Factory function for creating monitoring
*/
export declare function createMonitoring(queue: FireQueue, config?: MonitoringConfig): QueueMonitor;
//# sourceMappingURL=monitoring.d.ts.map