@clipwhisperer/common
Version:
ClipWhisperer Common - Shared library providing core utilities, database schemas, authentication, bucket management, and common functionality across all ClipWhisperer microservices
50 lines (49 loc) • 1.17 kB
TypeScript
/**
* Performance Metrics Infrastructure
* Centralized performance tracking system used across all services
*/
export interface PerformanceMetrics {
totalRequests: number;
averageResponseTime: number;
successRate: number;
queueSize: number;
memoryUsage: NodeJS.MemoryUsage;
uptime: number;
}
export interface PerformanceData {
totalRequests: number;
totalResponseTime: number;
successCount: number;
startTime: number;
}
export declare class PerformanceTracker {
private metrics;
/**
* Track a successful request
*/
trackSuccess(responseTime?: number): void;
/**
* Track a failed request
*/
trackError(responseTime?: number): void;
/**
* Track a request with timing
*/
trackRequest<T>(operation: () => Promise<T>): Promise<T>;
/**
* Get current performance metrics
*/
getMetrics(): PerformanceMetrics;
/**
* Reset metrics
*/
reset(): void;
/**
* Get raw metrics data
*/
getRawData(): PerformanceData;
}
/**
* Global performance tracker instance
*/
export declare const globalPerformanceTracker: PerformanceTracker;