redis-smq-common
Version:
Provides essential components and utilities shared across RedisSMQ packages.
35 lines • 1.28 kB
TypeScript
import { ICPUMonitorOptions, ICPUUsage } from './types/index.js';
export declare class CPUMonitor {
private static instance;
private readonly baselines;
private readonly maxBaselineAgeMs;
private readonly precision;
protected constructor(options?: ICPUMonitorOptions);
static getInstance(options?: ICPUMonitorOptions): CPUMonitor;
private cleanupOldBaselines;
private takeSnapshot;
private calculateUsage;
getStats(callerId?: string): ICPUUsage;
getStatsOverInterval(callerId?: string, intervalMs?: number): Promise<ICPUUsage>;
generateCallerId(): string;
removeCaller(callerId: string): boolean;
hasCaller(callerId: string): boolean;
getActiveCallerCount(): number;
getActiveCallers(): readonly string[];
getBaselineAge(callerId: string): number | null;
reset(): void;
cleanup(): void;
getMonitorStats(): {
readonly activeCallers: number;
readonly oldestBaseline: number;
readonly newestBaseline: number;
readonly totalBaselines: number;
};
getOneTimeStats(): ICPUUsage;
getStatsWithAutoId(): {
readonly callerId: string;
readonly usage: ICPUUsage;
readonly cleanup: () => void;
};
}
//# sourceMappingURL=cpu-monitor.d.ts.map