import { BacktraceMetricsOptions } from '../../model/configuration/BacktraceConfiguration'; import { AttributeType } from '../../model/data/BacktraceData'; import { BacktraceModule } from '../BacktraceModule'; import { AttributeManager } from '../attribute/AttributeManager'; import { BacktraceSessionProvider } from './BacktraceSessionProvider'; import { MetricsQueue } from './MetricsQueue'; import { SummedEvent } from './model/SummedEvent'; import { UniqueEvent } from './model/UniqueEvent'; export declare class BacktraceMetrics implements BacktraceModule { private readonly _options; private readonly _sessionProvider; private readonly _attributeManager; private readonly _summedEventsSubmissionQueue; private readonly _uniqueEventsSubmissionQueue; /** * Returns current session id. */ get sessionId(): string; /** * Default metrics submission interval. The variable defines how often metrics will be sent to metrics system. */ readonly DEFAULT_UPDATE_INTERVAL: number; readonly DEFAULT_SERVER_URL = "https://events.backtrace.io"; readonly metricsHost: string; private readonly _updateInterval; private _updateIntervalId?; constructor(_options: BacktraceMetricsOptions, _sessionProvider: BacktraceSessionProvider, _attributeManager: AttributeManager, _summedEventsSubmissionQueue: MetricsQueue, _uniqueEventsSubmissionQueue: MetricsQueue); /** * Starts metrics submission. */ initialize(): void; /** * Returns total number of events in the submission queue. */ count(): number; /** * Add summed event to next Backtrace Metrics request. * @param metricName Summed event name. * @param eventAttributes event attributes. */ addSummedEvent(metricName: string, eventAttributes?: Record): boolean; /** * Sends event to the metrics system. */ send(): boolean; /** * Cleans up metrics interface. */ dispose(): void; private sendUniqueEvent; /** * Event aggregators expecting to retrieve attributes in a string format. They also * don't expect to retrieve null/undefined as attribute values. */ private convertAttributes; }