UNPKG

@ahmedhegazee/nestjs-telescope

Version:

Advanced observability and monitoring solution for NestJS applications with ML-powered analytics, enterprise features, and production-ready scaling

30 lines (29 loc) 1.75 kB
import { OnModuleInit } from '@nestjs/common'; import { TelescopeEntry, TelescopeEntryFilter, TelescopeEntryResult } from '../interfaces/telescope-entry.interface'; import { TelescopeConfig } from '../interfaces/telescope-config.interface'; import { EntryManagerService } from './entry-manager.service'; import { StorageService } from '../../storage/storage.service'; import { CircuitBreakerService } from './circuit-breaker.service'; export declare class TelescopeService implements OnModuleInit { private readonly entryManager; private readonly storageService; private readonly circuitBreakerService; private readonly config; private readonly logger; private readonly circuitBreakers; constructor(entryManager: EntryManagerService, storageService: StorageService, circuitBreakerService: CircuitBreakerService, config: TelescopeConfig); onModuleInit(): Promise<void>; private initializeCircuitBreakers; record(entry: TelescopeEntry): Promise<void>; recordBatch(entries: TelescopeEntry[]): Promise<void>; find(filter?: TelescopeEntryFilter): Promise<TelescopeEntryResult>; findById(id: string): Promise<TelescopeEntry | null>; getEntries(filter?: TelescopeEntryFilter, startDate?: Date, endDate?: Date): Promise<TelescopeEntry[]>; clear(): Promise<void>; prune(): Promise<number>; getStats(): Promise<any>; getCircuitBreakerStats(): Record<string, any>; resetCircuitBreaker(type: 'entryProcessing' | 'batchProcessing' | 'storage' | 'queries'): boolean; forceOpenCircuitBreaker(type: 'entryProcessing' | 'batchProcessing' | 'storage' | 'queries'): boolean; forceCloseCircuitBreaker(type: 'entryProcessing' | 'batchProcessing' | 'storage' | 'queries'): boolean; }