diff --git a/src/commands/api/createContainerAppsApiProvider.ts b/src/commands/api/createContainerAppsApiProvider.ts index d5fc4b6d..e84252dd 100644 --- a/src/commands/api/createContainerAppsApiProvider.ts +++ b/src/commands/api/createContainerAppsApiProvider.ts @@ -18,6 +18,7 @@ export function createContainerAppsApiProvider(registerBranchResources: AzureRes onDidReceiveAzureResourcesApis: registerBranchResources, onApiRequestError: async (error: AzureResourcesApiRequestError) => { await callWithTelemetryAndErrorHandling('hostApiRequestFailed', (actionContext: IActionContext) => { + actionContext.telemetry.properties.isActivationEvent = 'true'; actionContext.telemetry.properties.hostApiRequestErrorCode = error.code; actionContext.telemetry.properties.hostApiRequestError = maskUserInfo(error.message, []); ext.outputChannel.appendLog(localize('apiRequestError', 'Error: Failed to connect extension to the Azure Resources host.')); diff --git a/src/extension.ts b/src/extension.ts index 73019c22..3a05f1bd 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -9,6 +9,7 @@ import { registerAzureUtilsExtensionVariables } from '@microsoft/vscode-azext-az import { registerGitHubExtensionVariables } from '@microsoft/vscode-azext-github'; import { TreeElementStateManager, callWithTelemetryAndErrorHandling, createApiProvider, createAzExtOutputChannel, createExperimentationService, registerUIExtensionVariables, type IActionContext, type apiUtils } from '@microsoft/vscode-azext-utils'; import { AzExtResourceType, type AzureResourcesExtensionApi } from '@microsoft/vscode-azureresources-api'; +import { v4 as uuid } from 'uuid'; import * as vscode from 'vscode'; import { createContainerAppsApiProvider } from './commands/api/createContainerAppsApiProvider'; import { registerCommands } from './commands/registerCommands'; @@ -44,8 +45,15 @@ export async function activate(context: vscode.ExtensionContext, perfStats: { lo ext.state = new TreeElementStateManager(); ext.branchDataProvider = new ContainerAppsBranchDataProvider(); + const authHandshakeId = uuid(); + const authHandshakeStartMs = Date.now(); + activateContext.telemetry.properties.authHandshakeId = authHandshakeId; + const registerBranchResources = async (azureResourcesApis: (AzureResourcesExtensionApi | undefined)[]) => { await callWithTelemetryAndErrorHandling('hostApiRequestSucceeded', (actionContext: IActionContext) => { + actionContext.telemetry.measurements.authHandshakeDuration = (Date.now() - authHandshakeStartMs) / 1000; + actionContext.telemetry.properties.authHandshakeId = authHandshakeId; + actionContext.telemetry.properties.isActivationEvent = 'true'; actionContext.errorHandling.rethrow = true; const [rgApiV2] = azureResourcesApis;