diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts index aa1601b8649..ac83a648938 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts @@ -1575,6 +1575,7 @@ export class ExtensionRuntimeStateAction extends ExtensionAction { @IUpdateService private readonly updateService: IUpdateService, @IExtensionService private readonly extensionService: IExtensionService, @IProductService private readonly productService: IProductService, + @ITelemetryService private readonly telemetryService: ITelemetryService, ) { super('extensions.runtimeState', '', ExtensionRuntimeStateAction.DisabledClass, false); this._register(this.extensionService.onDidChangeExtensions(() => this.update())); @@ -1615,6 +1616,21 @@ export class ExtensionRuntimeStateAction extends ExtensionAction { override async run(): Promise { const runtimeState = this.extension?.runtimeState; + if (!runtimeState?.action) { + return; + } + + type ExtensionRuntimeStateActionClassification = { + owner: 'sandy081'; + comment: 'Extension runtime state action event'; + action: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'Executed action' }; + }; + type ExtensionRuntimeStateActionEvent = { + action: string; + }; + this.telemetryService.publicLog2('extensions:runtimestate:action', { + action: runtimeState.action + }); if (runtimeState?.action === ExtensionRuntimeActionType.ReloadWindow) { return this.hostService.reload();