From 58b26da93438095e5d258b3a1b1272ddfb2477f9 Mon Sep 17 00:00:00 2001 From: Joyce Er Date: Tue, 14 Jul 2020 13:58:56 -0700 Subject: [PATCH 1/2] Send telemetry for notebook trust prompt --- src/client/datascience/constants.ts | 5 ++++- .../datascience/interactive-ipynb/trustCommandHandler.ts | 8 +++++++- src/client/telemetry/index.ts | 9 +++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/client/datascience/constants.ts b/src/client/datascience/constants.ts index 5a371aa92ff5..d1b136876c6d 100644 --- a/src/client/datascience/constants.ts +++ b/src/client/datascience/constants.ts @@ -368,7 +368,10 @@ 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' } export enum NativeKeyboardCommandTelemetry { diff --git a/src/client/datascience/interactive-ipynb/trustCommandHandler.ts b/src/client/datascience/interactive-ipynb/trustCommandHandler.ts index 6d44adda8a91..478d36538a62 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'; @@ -61,6 +62,7 @@ export class TrustCommandHandler implements IExtensionSingleActivationService { 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 +75,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..7a460f1a6faf 100644 --- a/src/client/telemetry/index.ts +++ b/src/client/telemetry/index.ts @@ -2192,10 +2192,19 @@ 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.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; From 7879f2c1b1decf6ec77b9541bfcfad1b891f1852 Mon Sep 17 00:00:00 2001 From: Joyce Er Date: Tue, 14 Jul 2020 14:52:47 -0700 Subject: [PATCH 2/2] Send telemetry when prompt is shown --- src/client/datascience/constants.ts | 3 ++- .../datascience/interactive-ipynb/trustCommandHandler.ts | 1 + src/client/telemetry/index.ts | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/client/datascience/constants.ts b/src/client/datascience/constants.ts index d1b136876c6d..03b38aaec1bf 100644 --- a/src/client/datascience/constants.ts +++ b/src/client/datascience/constants.ts @@ -371,7 +371,8 @@ export enum Telemetry { RunByLineVariableHover = 'DATASCIENCE.RUN_BY_LINE_VARIABLE_HOVER', TrustAllNotebooks = 'DATASCIENCE.TRUST_ALL_NOTEBOOKS', TrustNotebook = 'DATASCIENCE.TRUST_NOTEBOOK', - DoNotTrustNotebook = 'DATASCIENCE.DO_NOT_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 478d36538a62..b9a002749cbb 100644 --- a/src/client/datascience/interactive-ipynb/trustCommandHandler.ts +++ b/src/client/datascience/interactive-ipynb/trustCommandHandler.ts @@ -58,6 +58,7 @@ export class TrustCommandHandler implements IExtensionSingleActivationService { DataScience.doNotTrustNotebook(), DataScience.trustAllNotebooks() ); + sendTelemetryEvent(Telemetry.NotebookTrustPromptShown); switch (selection) { case DataScience.trustAllNotebooks(): diff --git a/src/client/telemetry/index.ts b/src/client/telemetry/index.ts index 7a460f1a6faf..ff26bcf385b2 100644 --- a/src/client/telemetry/index.ts +++ b/src/client/telemetry/index.ts @@ -2200,6 +2200,7 @@ export interface IEventNamePropertyMapping { [Telemetry.RunByLineVariableHover]: never | undefined; // Trusted notebooks events + [Telemetry.NotebookTrustPromptShown]: never | undefined; [Telemetry.TrustNotebook]: never | undefined; [Telemetry.TrustAllNotebooks]: never | undefined; [Telemetry.DoNotTrustNotebook]: never | undefined;