diff --git a/src/client/datascience/constants.ts b/src/client/datascience/constants.ts index 5a371aa92ff5..03b38aaec1bf 100644 --- a/src/client/datascience/constants.ts +++ b/src/client/datascience/constants.ts @@ -368,7 +368,11 @@ export enum Telemetry { RunByLineStart = 'DATASCIENCE.RUN_BY_LINE', RunByLineStep = 'DATASCIENCE.RUN_BY_LINE_STEP', RunByLineStop = 'DATASCIENCE.RUN_BY_LINE_STOP', - RunByLineVariableHover = 'DATASCIENCE.RUN_BY_LINE_VARIABLE_HOVER' + RunByLineVariableHover = 'DATASCIENCE.RUN_BY_LINE_VARIABLE_HOVER', + TrustAllNotebooks = 'DATASCIENCE.TRUST_ALL_NOTEBOOKS', + TrustNotebook = 'DATASCIENCE.TRUST_NOTEBOOK', + DoNotTrustNotebook = 'DATASCIENCE.DO_NOT_TRUST_NOTEBOOK', + NotebookTrustPromptShown = 'DATASCIENCE.NOTEBOOK_TRUST_PROMPT_SHOWN' } export enum NativeKeyboardCommandTelemetry { diff --git a/src/client/datascience/interactive-ipynb/trustCommandHandler.ts b/src/client/datascience/interactive-ipynb/trustCommandHandler.ts index 6d44adda8a91..b9a002749cbb 100644 --- a/src/client/datascience/interactive-ipynb/trustCommandHandler.ts +++ b/src/client/datascience/interactive-ipynb/trustCommandHandler.ts @@ -13,7 +13,8 @@ import '../../common/extensions'; import { IDisposableRegistry, IExperimentService } from '../../common/types'; import { swallowExceptions } from '../../common/utils/decorators'; import { DataScience } from '../../common/utils/localize'; -import { Commands } from '../constants'; +import { sendTelemetryEvent } from '../../telemetry'; +import { Commands, Telemetry } from '../constants'; import { INotebookStorageProvider } from '../interactive-ipynb/notebookStorageProvider'; import { INotebookEditorProvider, ITrustService } from '../types'; @@ -57,10 +58,12 @@ export class TrustCommandHandler implements IExtensionSingleActivationService { DataScience.doNotTrustNotebook(), DataScience.trustAllNotebooks() ); + sendTelemetryEvent(Telemetry.NotebookTrustPromptShown); switch (selection) { case DataScience.trustAllNotebooks(): commands.executeCommand('workbench.action.openSettings', 'python.dataScience.alwaysTrustNotebooks'); + sendTelemetryEvent(Telemetry.TrustAllNotebooks); break; case DataScience.trustNotebook(): // Update model trust @@ -73,6 +76,10 @@ export class TrustCommandHandler implements IExtensionSingleActivationService { }); const contents = model.getContent(); await this.trustService.trustNotebook(model.file, contents); + sendTelemetryEvent(Telemetry.TrustNotebook); + break; + case DataScience.doNotTrustNotebook(): + sendTelemetryEvent(Telemetry.DoNotTrustNotebook); break; default: break; diff --git a/src/client/telemetry/index.ts b/src/client/telemetry/index.ts index 0f76ead0ec48..ff26bcf385b2 100644 --- a/src/client/telemetry/index.ts +++ b/src/client/telemetry/index.ts @@ -2192,10 +2192,20 @@ export interface IEventNamePropertyMapping { [Telemetry.StartPageOpenFileBrowser]: never | undefined; [Telemetry.StartPageOpenFolder]: never | undefined; [Telemetry.StartPageOpenWorkspace]: never | undefined; + + // Run by line events [Telemetry.RunByLineStart]: never | undefined; [Telemetry.RunByLineStep]: never | undefined; [Telemetry.RunByLineStop]: never | undefined; [Telemetry.RunByLineVariableHover]: never | undefined; + + // Trusted notebooks events + [Telemetry.NotebookTrustPromptShown]: never | undefined; + [Telemetry.TrustNotebook]: never | undefined; + [Telemetry.TrustAllNotebooks]: never | undefined; + [Telemetry.DoNotTrustNotebook]: never | undefined; + + // Native notebooks events [VSCodeNativeTelemetry.AddCell]: never | undefined; [VSCodeNativeTelemetry.DeleteCell]: never | undefined; [VSCodeNativeTelemetry.MoveCell]: never | undefined;