ultimate-mcp-server
Version:
The definitive all-in-one Model Context Protocol server for AI-assisted coding across 30+ platforms
48 lines • 1.36 kB
TypeScript
import { EventEmitter } from "events";
interface ToolMetrics {
totalCalls: number;
successfulCalls: number;
failedCalls: number;
totalDuration: number;
averageDuration: number;
lastCalled?: Date;
}
interface SystemMetrics {
uptime: number;
totalRequests: number;
activeRequests: number;
peakMemoryUsage: number;
currentMemoryUsage: number;
}
export declare class MetricsCollector extends EventEmitter {
private toolMetrics;
private systemMetrics;
private startTime;
constructor();
recordToolCall(toolName: string, duration: number, success: boolean): void;
incrementActiveRequests(): void;
decrementActiveRequests(): void;
private updateSystemMetrics;
getToolMetrics(toolName?: string): ToolMetrics | Map<string, ToolMetrics>;
getSystemMetrics(): SystemMetrics;
getTopTools(limit?: number): Array<{
name: string;
metrics: ToolMetrics;
}>;
getSlowestTools(limit?: number): Array<{
name: string;
metrics: ToolMetrics;
}>;
getErrorProneTools(limit?: number): Array<{
name: string;
errorRate: number;
}>;
reset(): void;
exportMetrics(): {
tools: Record<string, ToolMetrics>;
system: SystemMetrics;
exportedAt: Date;
};
}
export {};
//# sourceMappingURL=metrics.d.ts.map