UNPKG

@ahmedhegazee/nestjs-telescope

Version:

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

40 lines (39 loc) 1.64 kB
import { OnModuleInit } from '@nestjs/common'; import { StorageDriver, StorageStats } from './interfaces/storage.interface'; import { TelescopeEntry, TelescopeEntryFilter, TelescopeEntryResult } from '../core/interfaces/telescope-entry.interface'; import { TelescopeConfig } from '../core/interfaces/telescope-config.interface'; export declare class StorageManagerService implements StorageDriver, OnModuleInit { private readonly config; private readonly logger; private drivers; private primaryDriver; private fallbackDriver?; private healthStatus; constructor(config: TelescopeConfig); onModuleInit(): Promise<void>; private initializeDrivers; store(entry: TelescopeEntry): Promise<void>; storeBatch(entries: TelescopeEntry[]): Promise<void>; find(filter?: TelescopeEntryFilter): Promise<TelescopeEntryResult>; findById(id: string): Promise<TelescopeEntry | null>; delete(id: string): Promise<boolean>; clear(): Promise<void>; prune(olderThan: Date): Promise<number>; getStats(): Promise<StorageStats>; private executeWithFallback; checkAllDriversHealth(): Promise<void>; private checkDriverHealth; private startHealthChecks; getDriverHealth(): Record<string, boolean>; getDetailedStats(): Promise<{ primary: string; fallback?: string; health: Record<string, boolean>; stats: StorageStats; }>; getPrimaryDriver(): StorageDriver; getFallbackDriver(): StorageDriver | undefined; getAvailableDrivers(): string[]; switchPrimaryDriver(driverName: string): Promise<void>; cleanup(): Promise<void>; }