@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
176 lines • 3.93 kB
TypeScript
/**
* 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