/** * @alpha */ export interface ITelemetryData { /** * Command name * @example clone */ readonly commandName: string; /** * Argument list */ readonly args: string[]; /** * Duration in seconds */ readonly durationInSeconds: number; /** * A timestamp in milliseconds (from `performance.now()`) when the operation started. * If the operation was blocked, will be `undefined`. */ readonly startTimestampMs?: number; /** * A timestamp in milliseconds (from `performance.now()`) when the operation finished. * If the operation was blocked, will be `undefined`. */ readonly endTimestampMs?: number; /** * Indicates raw git command */ readonly isRawGitCommand?: boolean; } /** * @alpha */ export type ICollectTelemetryFunction = (data: ITelemetryData) => Promise; /** * A help class to collect telemetry. The way to collect data is specified during launch Sparo. * NOTE: In this release version, we do NOT upload any telemetry data. It's under test internally * and the API will be refactored to meet generic requirements later. */ export declare class TelemetryService { private _tasks; private _collectTelemetryAsyncMaybe; /** * This is a sync function. Collecting telemetry should not block anything. * In the end of process, "ensureCollectedAsync" should be called. */ collectTelemetry(data: ITelemetryData): void; ensureCollectedAsync(): Promise; setCollectTelemetryFunction(fn: ICollectTelemetryFunction): void; } //# sourceMappingURL=TelemetryService.d.ts.map