@ahmedhegazee/nestjs-telescope
Version:
Advanced observability and monitoring solution for NestJS applications with ML-powered analytics, enterprise features, and production-ready scaling
67 lines (66 loc) • 1.99 kB
TypeScript
export interface CacheWatcherConfig {
enabled: boolean;
priority?: number;
tags?: string[];
dependencies?: string[];
trackCacheOperations: boolean;
trackCacheHits: boolean;
trackCacheMisses: boolean;
trackCacheEvictions: boolean;
trackCacheExpiration: boolean;
trackCacheSize: boolean;
enablePerformanceTracking: boolean;
trackExecutionTime: boolean;
trackMemoryUsage: boolean;
slowOperationThreshold: number;
captureKeys: boolean;
captureValues: boolean;
captureKeyPatterns: boolean;
maxValueSize: number;
maxKeyLength: number;
trackRedisCommands: boolean;
trackRedisConnections: boolean;
trackRedisMemory: boolean;
trackRedisStats: boolean;
trackConnectionHealth: boolean;
trackConnectionMetrics: boolean;
monitorConnectionEvents: boolean;
excludeOperations: string[];
excludeKeyPatterns: string[];
includeKeyPatterns: string[];
sampleRate: number;
sensitiveKeyPatterns: string[];
sanitizeValues: boolean;
enableRealTimeAlerts: boolean;
alertThresholds: {
hitRate: number;
missRate: number;
avgResponseTime: number;
errorRate: number;
memoryUsage: number;
connectionCount: number;
timeWindow: number;
};
redisIntegration?: {
enabled: boolean;
autoDiscoverInstances: boolean;
monitorCommands: boolean;
trackSlowQueries: boolean;
slowQueryThreshold: number;
trackMemoryUsage: boolean;
trackConnectionPool: boolean;
instances?: Array<{
name: string;
host: string;
port: number;
password?: string;
database?: number;
}>;
};
correlateWithRequests: boolean;
correlateWithQueries: boolean;
correlateWithJobs: boolean;
retentionPeriod: number;
maxHistorySize: number;
}
export declare const defaultCacheWatcherConfig: CacheWatcherConfig;