@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
56 lines (54 loc) • 2.34 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* 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>;
}