diff --git a/src/client/extension.ts b/src/client/extension.ts index 824e00c4c..acd0745c8 100644 --- a/src/client/extension.ts +++ b/src/client/extension.ts @@ -39,7 +39,7 @@ import { fetchArtemisResponse } from "../common/ArtemisService"; import { oneDSLoggerWrapper } from "../common/OneDSLoggerTelemetry/oneDSLoggerWrapper"; import { OrgChangeNotifier, orgChangeEvent } from "../common/OrgChangeNotifier"; import { ActiveOrgOutput } from "./pac/PacTypes"; - +import { telemetryEventNames } from "./telemetry/TelemetryEventNames"; let client: LanguageClient; let _context: vscode.ExtensionContext; @@ -195,6 +195,7 @@ export async function activate( if (artemisResponse) { const { geoName } = artemisResponse[0]; oneDSLoggerWrapper.instantiate(geoName); + oneDSLoggerWrapper.getLogger().traceInfo(telemetryEventNames.DESKTOP_EXTENSION_INIT_CONTEXT, orgDetails); } }) ); diff --git a/src/client/telemetry/TelemetryEventNames.ts b/src/client/telemetry/TelemetryEventNames.ts new file mode 100644 index 000000000..392b6902d --- /dev/null +++ b/src/client/telemetry/TelemetryEventNames.ts @@ -0,0 +1,9 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + */ + +export enum telemetryEventNames { + DESKTOP_EXTENSION_INIT_CONTEXT = "DesktopExtensionInitContext", + +} diff --git a/src/common/OneDSLoggerTelemetry/oneDSLogger.ts b/src/common/OneDSLoggerTelemetry/oneDSLogger.ts index 15a6826ad..f31df5b10 100644 --- a/src/common/OneDSLoggerTelemetry/oneDSLogger.ts +++ b/src/common/OneDSLoggerTelemetry/oneDSLogger.ts @@ -16,6 +16,7 @@ import { EXTENSION_ID } from "../../client/constants"; import {OneDSCollectorEventName} from "./EventContants"; import { telemetryEventNames } from "../../web/client/telemetry/constants"; import { region } from "../telemetry-generated/buildRegionConfiguration"; +import { telemetryEventNames as desktopExtTelemetryEventNames } from "../../client/telemetry/TelemetryEventNames"; interface IInstrumentationSettings { endpointURL: string; @@ -270,17 +271,16 @@ export class OneDSLogger implements ITelemetryLogger{ envelope.data.clientSessionId = vscode.env.sessionId; envelope.data.vscodeSurface = getExtensionType(); - envelope.data.vscodeMachineId = vscode.env.machineId; envelope.data.vscodeExtensionName = EXTENSION_ID; envelope.data.vscodeExtensionVersion = getExtensionVersion(); envelope.data.vscodeVersion = vscode.version; envelope.data.domain = vscode.env.appHost; + envelope.data.measurements = envelope.data.measurement; // Adding below attributes so they get populated in Geneva. // TODO: It needs implementation for populating the actual value envelope.data.eventSubType = "test"; envelope.data.scenarioId = "test"; envelope.data.eventModifier = "test"; - envelope.data.timestamp = "test"; envelope.data.country = "test"; envelope.data.userLocale = "test"; envelope.data.userDataBoundary = "test"; @@ -342,8 +342,12 @@ export class OneDSLogger implements ITelemetryLogger{ // eslint-disable-next-line @typescript-eslint/no-explicit-any private populateVscodeDesktopAttributes(envelope: any){ - // TODO: this method helps in populating desktop attributes. - console.log(envelope); + if (envelope.data.eventName == desktopExtTelemetryEventNames.DESKTOP_EXTENSION_INIT_CONTEXT) { + OneDSLogger.contextInfo.orgId = JSON.parse(envelope.data.eventInfo).OrgId; + OneDSLogger.contextInfo.envId = JSON.parse(envelope.data.eventInfo).EnvironmentId; + // TODO: Populate website id + OneDSLogger.contextInfo.websiteId = 'test' + } } //// Redact Sensitive data for the fields susceptible to contain codes/tokens/keys/secrets etc.