1 | import TelemetryEvent from "./TelemetryEvent";
|
2 | import { TelemetryConfig, TelemetryEmitter } from "./TelemetryTypes";
|
3 | import ApiEvent, { API_EVENT_IDENTIFIER } from "./ApiEvent";
|
4 | import { Logger } from "../Logger";
|
5 | import HttpEvent from "./HttpEvent";
|
6 | export default class TelemetryManager {
|
7 | private completedEvents;
|
8 | private inProgressEvents;
|
9 | private eventCountByCorrelationId;
|
10 | private onlySendFailureTelemetry;
|
11 | private telemetryPlatform;
|
12 | private clientId;
|
13 | private telemetryEmitter;
|
14 | private logger;
|
15 | constructor(config: TelemetryConfig, telemetryEmitter: TelemetryEmitter, logger: Logger);
|
16 | static getTelemetrymanagerStub(clientId: string, logger: Logger): TelemetryManager;
|
17 | startEvent(event: TelemetryEvent): void;
|
18 | stopEvent(event: TelemetryEvent): void;
|
19 | flush(correlationId: string): void;
|
20 | createAndStartApiEvent(correlationId: string, apiEventIdentifier: API_EVENT_IDENTIFIER): ApiEvent;
|
21 | stopAndFlushApiEvent(correlationId: string, apiEvent: ApiEvent, wasSuccessful: boolean, errorCode?: string): void;
|
22 | createAndStartHttpEvent(correlation: string, httpMethod: string, url: string, eventLabel: string): HttpEvent;
|
23 | private incrementEventCount;
|
24 | private getOrphanedEvents;
|
25 | }
|