import { n as WorkerMetricsSummary, r as WorkerSnapshot } from "./worker-performance-DtRuJrGV.cjs"; import { PerformanceTimeEntry } from "@awesome-ecs/abstract/utils"; //#region src/utils/worker-performance-tracker.d.ts /** * Tracks performance metrics for worker operations, allowing for aggregation and analysis of execution times across different worker tasks. * Metrics are sampled at regular intervals and can be retrieved in summary form for overall or per-worker insights. * * @injectable */ declare class WorkerPerformanceTracker { static readonly MAX_SNAPSHOTS = 120; static readonly SAMPLE_INTERVAL_MS = 250; private readonly _snapshots; private readonly _pendingMetrics; private readonly _perWorkerPending; private readonly _aggregate; private readonly _perWorkerAggregate; private _pendingMaxQueueSize; private _pendingStalledCount; private _pendingWaitTimes; private _lastSampleTime; private _enabled; private _aggregateDirty; private _cachedSummaries; private _perWorkerDirty; private _cachedPerWorker; get snapshots(): ReadonlyArray; get enabled(): boolean; set enabled(value: boolean); get queueHistory(): number[]; get stalledHistory(): number[]; get waitTimeHistory(): number[]; get eventTypeHistories(): Map; get summaries(): WorkerMetricsSummary[]; get perWorkerSummaries(): Map; recordQueueSize(size: number): void; recordStalledCount(count: number): void; recordWaitTimes(times: number[]): void; addMetric(workerUid: string, entry: PerformanceTimeEntry): void; addMetrics(workerUid: string, entries: PerformanceTimeEntry[]): void; sample(now?: number): void; clear(): void; private mergeIntoAggregate; private mergePerWorkerAggregate; private getOrCreateWorkerAgg; private mergeEntry; } //#endregion export { WorkerPerformanceTracker as t }; //# sourceMappingURL=worker-performance-tracker-Bl_fF5GF.d.cts.map