light-sentry-sdk/dist/core/EventQueue.d.ts

35 lines
1.0 KiB
TypeScript

import type { SentryEvent } from '../types';
import { EventBus } from './EventBus';
export declare class EventQueue {
private queue;
private maxSize;
private flushInterval;
private timer;
private eventBus;
private flushCallback;
private syncFlushCallback;
private lastFlushTime;
private isFlushing;
private onVisibilityChange?;
private onBeforeUnload?;
private onPagehide?;
private dedupeMap;
private pendingCounts;
private errorRateWindow;
private paused;
private pauseTimer;
constructor(maxSize: number, flushInterval: number, eventBus: EventBus, flushCallback: (events: SentryEvent[]) => Promise<void>, syncFlushCallback: (events: SentryEvent[]) => void);
start(): void;
private startTimer;
private setupVisibilityListener;
private checkInfiniteLoop;
enqueue(event: SentryEvent): void;
private cleanupExpiredDedupeEntries;
private buildCountEvents;
private getDedupeKey;
flush(): Promise<void>;
flushSync(): void;
size(): number;
destroy(): void;
}