@dudousxd/nestjs-telescope
Version:
Laravel Telescope-style observability console for NestJS — core: watchers, recorder, correlation, SQLite store, headless API.
34 lines • 1.37 kB
TypeScript
import type { StorageProvider } from '../storage/storage-provider.js';
import { type TimeseriesReport } from './timeseries.js';
export interface TimeseriesQuery {
windowMs: number;
buckets?: number;
type?: string;
tag?: string;
}
export interface TimeseriesServiceOptions {
pageSize?: number;
scanCap?: number;
}
export interface TimeseriesResult extends TimeseriesReport {
scanned: number;
truncated: boolean;
}
/** Computes a throughput time-series by aggregating stored entries over a
* window. Reads the store on demand — no separate time-series capture. */
export declare class TimeseriesService {
private readonly storage;
private readonly pageSize;
private readonly scanCap;
constructor(storage: StorageProvider, options?: TimeseriesServiceOptions);
getTimeseries(query: TimeseriesQuery): Promise<TimeseriesResult>;
/**
* Rollup-backed assembly. Queries the 1-minute rollup buckets covering the
* window for the relevant metrics (the single `type` if filtered, else the
* builtin metric universe) and re-buckets them into the report's requested
* `buckets`. `scanned` reflects the number of rollup rows read; rollups never
* truncate (they are bounded by minute granularity, not raw volume).
*/
private fromRollups;
}
//# sourceMappingURL=timeseries.service.d.ts.map