UNPKG

@dudousxd/nestjs-telescope

Version:

Laravel Telescope-style observability console for NestJS — core: watchers, recorder, correlation, SQLite store, headless API.

33 lines 1.24 kB
import type { Entry } from '../entry/entry.js'; export interface DurationStats { avg: number; p50: number; p95: number; max: number; } export interface QueueMetrics { queue: string; total: number; completed: number; failed: number; /** failed / total, in [0, 1]. */ failureRate: number; /** total jobs / window minutes. */ throughputPerMinute: number; /** Processing-time stats (from `Entry.durationMs`); null when no samples. */ runtimeMs: DurationStats | null; /** Queue-wait stats (from `JobContent.waitMs`); null when no samples. */ waitMs: DurationStats | null; } export interface QueueMetricsReport { windowStart: string; windowEnd: string; windowMs: number; queues: QueueMetrics[]; } /** Group `job` entries by queue and compute per-queue throughput, runtime/wait * percentiles, and failure rate over the [windowStart, windowEnd] window. * Non-job entries are ignored. Pure: callers fetch the entries; entries are * assumed already windowed (createdAt is not re-checked here). */ export declare function aggregateQueueMetrics(entries: Entry[], windowStart: Date, windowEnd: Date): QueueMetricsReport; //# sourceMappingURL=queue-metrics.d.ts.map