UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

176 lines 3.93 kB
/** * Verbose Metrics Reporter for Detailed Performance Analysis * @description Provides comprehensive detailed metrics and debugging information * for performance optimization analysis during cache sync operations. * * Features: * - Granular timing breakdowns * - Memory usage tracking * - API call statistics * - Database query analysis * - Network latency measurements * - Error rate tracking * * @author Optimizely MCP Server * @version 1.0.0 */ /** * Detailed metric structure */ export interface DetailedMetric { name: string; value: number; unit: string; category: 'timing' | 'memory' | 'network' | 'database' | 'api'; timestamp: number; metadata?: Record<string, any>; } /** * Metric aggregation */ export interface MetricAggregation { min: number; max: number; avg: number; median: number; p95: number; p99: number; count: number; } /** * Verbose metrics collection */ export interface VerboseMetrics { startTime: number; endTime?: number; memorySnapshots: Array<{ timestamp: number; heapUsed: number; heapTotal: number; external: number; rss: number; }>; apiCalls: Array<{ endpoint: string; method: string; duration: number; statusCode: number; timestamp: number; size?: number; }>; databaseQueries: Array<{ query: string; duration: number; rowCount: number; timestamp: number; }>; phases: Map<string, { startTime: number; endTime?: number; metrics: DetailedMetric[]; }>; errors: Array<{ timestamp: number; phase: string; error: string; context?: any; }>; } /** * Verbose Metrics Reporter Class */ export declare class VerboseMetricsReporter { private metrics; private memoryInterval?; private currentPhase?; constructor(); /** * Start verbose metrics collection */ start(): void; /** * Stop metrics collection */ stop(): void; /** * Start monitoring memory usage */ private startMemoryMonitoring; /** * Capture memory snapshot */ private captureMemorySnapshot; /** * Start a new phase */ startPhase(phaseName: string): void; /** * End current phase */ endPhase(phaseName?: string): void; /** * Record API call */ recordApiCall(endpoint: string, method: string, duration: number, statusCode: number, size?: number): void; /** * Record database query */ recordDatabaseQuery(query: string, duration: number, rowCount: number): void; /** * Record detailed metric */ recordMetric(metric: DetailedMetric): void; /** * Record error */ recordError(error: string, context?: any): void; /** * Generate verbose report */ generateReport(): void; /** * Generate phase breakdown */ private generatePhaseBreakdown; /** * Generate memory analysis */ private generateMemoryAnalysis; /** * Generate memory trend visualization */ private generateMemoryTrend; /** * Generate API analysis */ private generateApiAnalysis; /** * Generate database analysis */ private generateDatabaseAnalysis; /** * Generate error analysis */ private generateErrorAnalysis; /** * Generate summary statistics */ private generateSummaryStatistics; /** * Helper: Format bytes */ private formatBytes; /** * Helper: Create empty aggregation */ private createEmptyAggregation; /** * Helper: Update aggregation */ private updateAggregation; /** * Export metrics data */ exportMetrics(): VerboseMetrics; } //# sourceMappingURL=VerboseMetricsReporter.d.ts.map