UNPKG

sussudio

Version:

An unofficial VS Code Internal API

45 lines (44 loc) 2.41 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { IConfigurationService } from "../../configuration/common/configuration.mjs"; import { IProductService } from "../../product/common/productService.mjs"; import { ClassifiedEvent, IGDPRProperty, OmitMetadata, StrictPropertyCheck } from "./gdprTypings.mjs"; import { ITelemetryData, ITelemetryInfo, ITelemetryService, TelemetryLevel } from "./telemetry.mjs"; import { ITelemetryAppender } from "./telemetryUtils.mjs"; export interface ITelemetryServiceConfig { appenders: ITelemetryAppender[]; sendErrorTelemetry?: boolean; commonProperties?: Promise<{ [name: string]: any; }>; piiPaths?: string[]; } export declare class TelemetryService implements ITelemetryService { private _configurationService; private _productService; static readonly IDLE_START_EVENT_NAME = "UserIdleStart"; static readonly IDLE_STOP_EVENT_NAME = "UserIdleStop"; readonly _serviceBrand: undefined; private _appenders; private _commonProperties; private _experimentProperties; private _piiPaths; private _telemetryLevel; private _sendErrorTelemetry; private readonly _disposables; private _cleanupPatterns; constructor(config: ITelemetryServiceConfig, _configurationService: IConfigurationService, _productService: IProductService); setExperimentProperty(name: string, value: string): void; private _updateTelemetryLevel; get sendErrorTelemetry(): boolean; get telemetryLevel(): TelemetryLevel; getTelemetryInfo(): Promise<ITelemetryInfo>; dispose(): void; private _log; publicLog(eventName: string, data?: ITelemetryData): Promise<any>; publicLog2<E extends ClassifiedEvent<OmitMetadata<T>> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck<T, E>): Promise<any>; publicLogError(errorEventName: string, data?: ITelemetryData): Promise<any>; publicLogError2<E extends ClassifiedEvent<OmitMetadata<T>> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck<T, E>): Promise<any>; }