UNPKG

@wavequery/conductor

Version:
32 lines (31 loc) 883 B
export interface Metric { name: string; value: number; timestamp: Date; tags?: Record<string, string>; } export interface MetricsCollectorConfig { flushInterval?: number; bufferSize?: number; onFlush?: (metrics: Metric[]) => Promise<void>; } export declare class MetricsCollector { private metrics; private config; private flushInterval; private static instance; constructor(config?: MetricsCollectorConfig); static getInstance(config?: MetricsCollectorConfig): MetricsCollector; record(name: string, value: number, tags?: Record<string, string>): void; private startFlushInterval; flush(): Promise<void>; getMetrics(): Metric[]; summarize(name: string, fromDate?: Date): { count: number; sum: number; avg: number; min: number; max: number; }; dispose(): void; }