From e23e87b8e9ec45fc99bb3aa9d1a3016fb3073079 Mon Sep 17 00:00:00 2001 From: Erik De Bonte Date: Tue, 7 Jun 2022 17:24:10 -0700 Subject: [PATCH] Add back LanguageClient.onTelemetry call for desktop --- src/client/activation/node/languageServerProxy.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/client/activation/node/languageServerProxy.ts b/src/client/activation/node/languageServerProxy.ts index d4a854c5b722..03d9f7c7d596 100644 --- a/src/client/activation/node/languageServerProxy.ts +++ b/src/client/activation/node/languageServerProxy.ts @@ -12,7 +12,7 @@ import { import { IExperimentService, IExtensions, IInterpreterPathService, Resource } from '../../common/types'; import { IEnvironmentVariablesProvider } from '../../common/variables/types'; import { PythonEnvironment } from '../../pythonEnvironments/info'; -import { captureTelemetry } from '../../telemetry'; +import { captureTelemetry, sendTelemetryEvent } from '../../telemetry'; import { EventName } from '../../telemetry/constants'; import { FileBasedCancellationStrategy } from '../common/cancellationUtils'; import { ProgressReporting } from '../progress'; @@ -168,6 +168,16 @@ export class NodeLanguageServerProxy implements ILanguageServerProxy { }), ); + client.onTelemetry((telemetryEvent) => { + const eventName = telemetryEvent.EventName || EventName.LANGUAGE_SERVER_TELEMETRY; + const formattedProperties = { + ...telemetryEvent.Properties, + // Replace all slashes in the method name so it doesn't get scrubbed by vscode-extension-telemetry. + method: telemetryEvent.Properties.method?.replace(/\//g, '.'), + }; + sendTelemetryEvent(eventName, telemetryEvent.Measurements, formattedProperties, telemetryEvent.Exception); + }); + client.onRequest( InExperiment.Method, async (params: InExperiment.IRequest): Promise => {