@dudousxd/nestjs-telescope
Version:
Laravel Telescope-style observability console for NestJS — core: watchers, recorder, correlation, SQLite store, headless API.
25 lines • 1.17 kB
TypeScript
import type { StorageProvider } from '../storage/storage-provider.js';
import { type QueueMetricsReport } from './queue-metrics.js';
export interface QueueMetricsServiceOptions {
/** Entries fetched per storage page. Default 500. */
pageSize?: number;
/** Safety cap on entries scanned per request; surfaced via `truncated`. Default 50_000. */
scanCap?: number;
}
export interface QueueMetricsResult extends QueueMetricsReport {
/** Number of job entries aggregated. */
scanned: number;
/** True if the scan hit the cap (older jobs in the window were not counted). */
truncated: boolean;
}
/** Computes queue metrics by aggregating stored `job` entries over a time
* window. Reads the store (source of truth) on demand — no live counters, so
* it is correct across restarts and replicas. */
export declare class QueueMetricsService {
private readonly storage;
private readonly pageSize;
private readonly scanCap;
constructor(storage: StorageProvider, options?: QueueMetricsServiceOptions);
getQueueMetrics(windowMs: number): Promise<QueueMetricsResult>;
}
//# sourceMappingURL=queue-metrics.service.d.ts.map