UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

56 lines (54 loc) 2.34 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>; }