@wavequery/conductor
Version:
Modular LLM orchestration framework
32 lines (31 loc) • 883 B
TypeScript
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;
}