From 5be2e0163262a897ca00bdfd2067b0d8ec9122d5 Mon Sep 17 00:00:00 2001 From: Maddy <12754347+MaddyDev@users.noreply.github.com> Date: Mon, 25 Jan 2021 09:42:37 -0800 Subject: [PATCH] Notebook Telemetry initial changes (#13929) * initial changes * add ads-telemetry to nb extension * add aiKey to notebook extension * add run cell telemetry in cellmodel * add NbTelemetryAction * remove source * remove telemtery for run notebook for now * fix optional variable call * addr comments * changing the dependency package * revert * removed webpack config for telemetry compat * add opentelemetry to externals Co-authored-by: Benjin Dubishar --- .../notebook/extension.webpack.config.js | 4 +- extensions/notebook/package.json | 2 + extensions/notebook/src/book/bookTreeView.ts | 7 ++ extensions/notebook/src/telemetry.ts | 24 +++++ extensions/notebook/yarn.lock | 87 ++++++++++++++++++- .../telemetry/common/telemetryKeys.ts | 5 ++ .../services/notebook/browser/models/cell.ts | 8 +- 7 files changed, 134 insertions(+), 3 deletions(-) create mode 100644 extensions/notebook/src/telemetry.ts diff --git a/extensions/notebook/extension.webpack.config.js b/extensions/notebook/extension.webpack.config.js index 087525ff62..9a44429a52 100644 --- a/extensions/notebook/extension.webpack.config.js +++ b/extensions/notebook/extension.webpack.config.js @@ -13,7 +13,9 @@ const path = require('path'); const externals = { 'node-fetch': 'commonjs node-fetch', - 'adm-zip': 'commonjs adm-zip' + 'adm-zip': 'commonjs adm-zip', + 'applicationinsights-native-metrics': 'commonjs applicationinsights-native-metrics', + '@opentelemetry/tracing': 'commonjs @opentelemetry/tracing' }; // conditionally add ws if we are going to be running in a node environment diff --git a/extensions/notebook/package.json b/extensions/notebook/package.json index d9de8d755b..18bd56a07b 100644 --- a/extensions/notebook/package.json +++ b/extensions/notebook/package.json @@ -8,6 +8,7 @@ "vscode": "*", "azdata": "*" }, + "aiKey": "AIF-37eefaf0-8022-4671-a3fb-64752724682e", "main": "./out/extension", "activationEvents": [ "*" @@ -609,6 +610,7 @@ }, "dependencies": { "@jupyterlab/services": "^3.2.1", + "ads-extension-telemetry": "^1.0.0", "adm-zip": "^0.4.14", "error-ex": "^1.3.1", "fast-glob": "^3.1.0", diff --git a/extensions/notebook/src/book/bookTreeView.ts b/extensions/notebook/src/book/bookTreeView.ts index c901cde7ed..1ed49aaf5b 100644 --- a/extensions/notebook/src/book/bookTreeView.ts +++ b/extensions/notebook/src/book/bookTreeView.ts @@ -20,6 +20,7 @@ import { IJupyterBookSectionV2, IJupyterBookSectionV1 } from '../contracts/conte import { debounce, getPinnedNotebooks } from '../common/utils'; import { IBookPinManager, BookPinManager } from './bookPinManager'; import { BookTocManager, IBookTocManager } from './bookTocManager'; +import { TelemetryReporter, BookTelemetryView, NbTelemetryActions } from '../telemetry'; const content = 'content'; @@ -107,6 +108,7 @@ export class BookTreeViewProvider implements vscode.TreeDataProvider { @@ -163,6 +167,7 @@ export class BookTreeViewProvider implements vscode.TreeDataProvider { @@ -215,6 +220,7 @@ export class BookTreeViewProvider implements vscode.TreeDataProvider