UNPKG

@ahmedhegazee/nestjs-telescope

Version:

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

58 lines (57 loc) 1.69 kB
import { DataSource } from 'typeorm'; import { QueryWatcherService } from './query-watcher.service'; export interface QueryContext { id: string; sql: string; parameters: any[]; startTime: number; endTime?: number; duration?: number; connectionId?: string; userId?: string; sessionId?: string; traceId?: string; stack?: string; operation: 'select' | 'insert' | 'update' | 'delete' | 'raw'; entityName?: string; tableName?: string; affectedRows?: number; resultCount?: number; error?: Error; } export interface ConnectionInfo { id: string; database: string; host: string; port: number; username: string; poolSize: number; activeConnections: number; idleConnections: number; waitingConnections: number; acquiredConnections: number; } export declare class QueryWatcherInterceptor { private readonly queryWatcher; private readonly dataSource; private readonly logger; private readonly originalMethods; private queryCounter; constructor(queryWatcher: QueryWatcherService, dataSource: DataSource); setupInterception(): Promise<void>; private interceptQueryRunner; private interceptQueryBuilder; private interceptRepository; private interceptRepositoryMethods; private createQueryContext; private createQueryBuilderContext; private createRepositoryContext; private detectOperationType; private mapRepositoryMethodToOperation; private extractTableName; private captureStack; private generateQueryId; private generateTraceId; getConnectionInfo(): Promise<ConnectionInfo>; cleanup(): Promise<void>; }