UNPKG

@gati-framework/runtime

Version:

Gati runtime execution engine for running handler-based applications

59 lines 1.72 kB
/** * @module runtime/trace-storage * @description Storage for request traces with TTL-based expiration */ import type { RequestTrace, TraceFilter } from './types/trace.js'; /** * Trace storage configuration */ export interface TraceStorageConfig { /** Maximum traces to store */ maxTraces: number; /** Default TTL in milliseconds */ ttlMs: number; /** Enable compression */ compression: boolean; } /** * Storage interface for traces */ export interface TraceStorage { storeTrace(trace: RequestTrace): Promise<void>; getTrace(traceId: string): Promise<RequestTrace | null>; listTraces(filter?: TraceFilter): Promise<RequestTrace[]>; deleteTrace(traceId: string): Promise<boolean>; clear(): Promise<void>; getStats(): { count: number; size: number; }; } /** * In-memory trace storage with TTL */ export declare class InMemoryTraceStorage implements TraceStorage { private traces; private config; private cleanupInterval?; constructor(config?: Partial<TraceStorageConfig>); storeTrace(trace: RequestTrace): Promise<void>; getTrace(traceId: string): Promise<RequestTrace | null>; listTraces(filter?: TraceFilter): Promise<RequestTrace[]>; deleteTrace(traceId: string): Promise<boolean>; clear(): Promise<void>; getStats(): { count: number; size: number; }; destroy(): void; private startCleanup; private enforceLimit; private matchesFilter; private compress; private decompress; } /** * Create a trace storage instance */ export declare function createTraceStorage(config?: Partial<TraceStorageConfig>): TraceStorage; //# sourceMappingURL=trace-storage.d.ts.map