Skip to content

Commit 7418b74

Browse files
author
David Kutugata
authored
added telemetry to the errorHandler when jupyter (#8305)
is or isn't installed
1 parent d17206c commit 7418b74

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

src/client/datascience/constants.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,10 @@ export enum Telemetry {
202202
NotebookRunCount = 'DATASCIENCE.NATIVE.NOTEBOOK_RUN_COUNT',
203203
NotebookOpenCount = 'DATASCIENCE.NATIVE.NOTEBOOK_OPEN_COUNT',
204204
NotebookOpenTime = 'DS_INTERNAL.NATIVE.NOTEBOOK_OPEN_TIME',
205-
SessionIdleTimeout = 'DATASCIENCE.JUPYTER_IDLE_TIMEOUT'
205+
SessionIdleTimeout = 'DATASCIENCE.JUPYTER_IDLE_TIMEOUT',
206+
JupyterNotInstalledErrorShown = 'DATASCIENCE.JUPYTER_NOT_INSTALLED_ERROR_SHOWN',
207+
UserInstalledJupyter = 'DATASCIENCE.USER_INSTALLED_JUPYTER',
208+
UserDidNotInstallJupyter = 'DATASCIENCE.USER_DID_NOT_INSTALL_JUPYTER'
206209
}
207210

208211
export enum NativeKeyboardCommandTelemetry {

src/client/datascience/errorHandler/errorHandler.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import { IInstallationChannelManager } from '../../common/installer/types';
77
import { ILogger, Product } from '../../common/types';
88
import * as localize from '../../common/utils/localize';
99
import { noop } from '../../common/utils/misc';
10+
import { sendTelemetryEvent } from '../../telemetry';
11+
import { Telemetry } from '../constants';
1012
import { JupyterInstallError } from '../jupyter/jupyterInstallError';
1113
import { JupyterSelfCertsError } from '../jupyter/jupyterSelfCertsError';
1214
import { IDataScienceErrorHandler } from '../types';
@@ -20,6 +22,7 @@ export class DataScienceErrorHandler implements IDataScienceErrorHandler {
2022

2123
public async handleError(err: Error): Promise<void> {
2224
if (err instanceof JupyterInstallError) {
25+
sendTelemetryEvent(Telemetry.JupyterNotInstalledErrorShown);
2326
const response = await this.applicationShell.showInformationMessage(
2427
err.message,
2528
localize.DataScience.jupyterInstall(),
@@ -33,13 +36,16 @@ export class DataScienceErrorHandler implements IDataScienceErrorHandler {
3336
const product = ProductNames.get(Product.jupyter);
3437

3538
if (installer && product) {
39+
sendTelemetryEvent(Telemetry.UserInstalledJupyter);
3640
installer.installModule(product)
3741
.catch(e => this.applicationShell.showErrorMessage(e.message, localize.DataScience.pythonInteractiveHelpLink()));
3842
} else if (installers[0] && product) {
3943
installers[0].installModule(product)
4044
.catch(e => this.applicationShell.showErrorMessage(e.message, localize.DataScience.pythonInteractiveHelpLink()));
4145
}
4246
}
47+
} else if (response === localize.DataScience.notebookCheckForImportNo()) {
48+
sendTelemetryEvent(Telemetry.UserDidNotInstallJupyter);
4349
} else if (response === err.actionTitle) {
4450
// This is a special error that shows a link to open for more help
4551
this.applicationShell.openUrl(err.action);

src/client/telemetry/index.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1425,13 +1425,16 @@ export interface IEventNamePropertyMapping {
14251425
[Telemetry.RunFileInteractive]: never | undefined;
14261426
[Telemetry.RunFromLine]: never | undefined;
14271427
[Telemetry.ScrolledToCell]: never | undefined;
1428-
[Telemetry.CellCount]: { count: number} ;
1428+
[Telemetry.CellCount]: { count: number };
14291429
[Telemetry.Save]: never | undefined;
1430-
[Telemetry.AutoSaveEnabled]: {enabled: boolean};
1430+
[Telemetry.AutoSaveEnabled]: { enabled: boolean };
14311431
[Telemetry.SelfCertsMessageClose]: never | undefined;
14321432
[Telemetry.SelfCertsMessageEnabled]: never | undefined;
14331433
[Telemetry.SelectJupyterURI]: never | undefined;
14341434
[Telemetry.SessionIdleTimeout]: never | undefined;
1435+
[Telemetry.JupyterNotInstalledErrorShown]: never | undefined;
1436+
[Telemetry.UserInstalledJupyter]: never | undefined;
1437+
[Telemetry.UserDidNotInstallJupyter]: never | undefined;
14351438
[Telemetry.SetJupyterURIToLocal]: never | undefined;
14361439
[Telemetry.SetJupyterURIToUserSpecified]: never | undefined;
14371440
[Telemetry.ShiftEnterBannerShown]: never | undefined;

0 commit comments

Comments
 (0)