UNPKG

@codai/memorai

Version:

Universal Database & Storage Service for CODAI Ecosystem - CBD Backend

52 lines 1.72 kB
/** * Analytics Service - Production Implementation * Handles event tracking, metrics collection, and analytics data processing */ import { EventEmitter } from 'events'; import type { AnalyticsEvent, AnalyticsQuery, AnalyticsResult } from '../types'; interface MetricSummary { eventName: string; count: number; uniqueUsers: number; lastSeen: Date; properties: Record<string, Set<any>>; } export declare class AnalyticsService extends EventEmitter { private isInitialized; private events; private metrics; private batchQueue; private processInterval?; private batchSize; private flushInterval; constructor(); initialize(): Promise<void>; shutdown(): Promise<void>; track(event: AnalyticsEvent): Promise<void>; query(query: AnalyticsQuery): Promise<AnalyticsResult>; getEventCount(eventName?: string, userId?: string, appId?: string): Promise<number>; getUniqueUsers(appId?: string, startDate?: Date, endDate?: Date): Promise<string[]>; getTopEvents(limit?: number, appId?: string): Promise<Array<{ eventName: string; count: number; }>>; getMetricsSummary(): Promise<Record<string, MetricSummary>>; purgeOldEvents(olderThanDays?: number): Promise<number>; getHealth(): Promise<{ status: string; details?: any; }>; private generateEventId; private validateEvent; private updateMetrics; private startBatchProcessing; private startMetricsAggregation; private flushBatch; private processBatch; private aggregateMetrics; private filterEvents; private applyAggregations; private groupEvents; } export {}; //# sourceMappingURL=AnalyticsService.d.ts.map