Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/vscode.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRachel Macfarlane <ramacfar@microsoft.com>2019-10-08 00:32:28 +0300
committerRachel Macfarlane <ramacfar@microsoft.com>2019-10-08 00:34:21 +0300
commitd1b81e23db70c5c062c3adc162cb5f3477553176 (patch)
tree89585c5260a5fd6853f581bc2f8407f03a81f541
parent99dc069a0cfd633c2d5668c1b130efb4f124e675 (diff)
Remove applicationinsights-web dependency
-rw-r--r--package.json3
-rw-r--r--remote/package.json1
-rw-r--r--remote/web/package.json1
-rw-r--r--remote/web/yarn.lock68
-rw-r--r--remote/yarn.lock68
-rw-r--r--src/vs/code/browser/workbench/workbench-dev.html3
-rw-r--r--src/vs/code/browser/workbench/workbench.html4
-rw-r--r--src/vs/workbench/services/remote/common/abstractRemoteAgentService.ts21
-rw-r--r--src/vs/workbench/services/remote/common/remoteAgentEnvironmentChannel.ts9
-rw-r--r--src/vs/workbench/services/remote/common/remoteAgentService.ts3
-rw-r--r--src/vs/workbench/services/telemetry/browser/telemetryService.ts49
-rw-r--r--src/vs/workbench/workbench.web.api.ts13
-rw-r--r--tslint.json3
-rw-r--r--yarn.lock68
14 files changed, 60 insertions, 254 deletions
diff --git a/package.json b/package.json
index 72578602b1a..8d011529af5 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "code-oss-dev",
"version": "1.40.0",
- "distro": "fd32ba99f225d591cb667f0bdf23dbb481743eab",
+ "distro": "4553fb95f2fbb4382c38983f9b29ea2076ed1865",
"author": {
"name": "Microsoft Corporation"
},
@@ -28,7 +28,6 @@
"update-distro": "node build/npm/update-distro.js"
},
"dependencies": {
- "@microsoft/applicationinsights-web": "^2.1.1",
"applicationinsights": "1.0.8",
"chokidar": "3.1.0",
"graceful-fs": "4.2.2",
diff --git a/remote/package.json b/remote/package.json
index 603799a71ea..d65eddd673d 100644
--- a/remote/package.json
+++ b/remote/package.json
@@ -2,7 +2,6 @@
"name": "vscode-reh",
"version": "0.0.0",
"dependencies": {
- "@microsoft/applicationinsights-web": "^2.1.1",
"applicationinsights": "1.0.8",
"chokidar": "3.1.0",
"cookie": "^0.4.0",
diff --git a/remote/web/package.json b/remote/web/package.json
index ab86c010ead..01e11a75fb2 100644
--- a/remote/web/package.json
+++ b/remote/web/package.json
@@ -2,7 +2,6 @@
"name": "vscode-web",
"version": "0.0.0",
"dependencies": {
- "@microsoft/applicationinsights-web": "^2.1.1",
"onigasm-umd": "^2.2.2",
"semver-umd": "^5.5.3",
"vscode-textmate": "^4.2.2",
diff --git a/remote/web/yarn.lock b/remote/web/yarn.lock
index ccc09170f6f..696c1956a47 100644
--- a/remote/web/yarn.lock
+++ b/remote/web/yarn.lock
@@ -2,69 +2,6 @@
# yarn lockfile v1
-"@microsoft/applicationinsights-analytics-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-analytics-js/-/applicationinsights-analytics-js-2.1.1.tgz#6d09c1915f808026e2d45165d04802f09affed59"
- integrity sha512-VKIutoFKY99CyKwxLUuj6Vnq14/QwXo9/QSQDpYnHEjo+uKn7QmLsHqWw0K9uYNfNAXt4BZimX/zDg6jZtzeXg==
- dependencies:
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-channel-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.1.1.tgz#e205eddd93e49d17d9e0711a612b4bfc9810888f"
- integrity sha512-fYr9IAqtaEr9AmaPaL3SLQVT3t3GQzl+n74gpNKyAVakDIm0nYQ/bimjdcAhJMDf1VGNSPg/xICneyuZg7Wxlg==
- dependencies:
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-common@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.1.1.tgz#27e6074584a7a3a8ca3f11f7ff2b7ff0f395bf2d"
- integrity sha512-2hkS1Ia1FmAjCuYZ5JlG20/WgObqdsKtmK5YALAFGHIB4KSQ/Za1qazS+7GsG+E0F9UJivNWL1geUIcNqg5Qjg==
- dependencies:
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-core-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.1.1.tgz#30fb6a519cc1c6119c419c4811ce72c260217d9e"
- integrity sha512-4t4wf6SKqIcWEQDPg/uOhm+BxtHhu/AFreyEoYZmMfcxzAu33h1FtTQRtxBNbYH1+thiNZCh80yUpnT7d9Hrlw==
- dependencies:
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-dependencies-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-dependencies-js/-/applicationinsights-dependencies-js-2.1.1.tgz#8154c3efcb24617d015d0bce7c2cc47797a8d3c4"
- integrity sha512-yhb4EToBp+aI+qLo0h5NDNtoo3sDFV60uyIOK843YjzXqVotcXX/lRShlghTkJtYH09QhrdzDjViUHnD4sMFSQ==
- dependencies:
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-properties-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-properties-js/-/applicationinsights-properties-js-2.1.1.tgz#ca34232766eb16167b5d87693e2ae5d94f2a1559"
- integrity sha512-8l+/ppw6xKTam2RL4EHZ52Lcf217olw81j6kyBNKtIcGwSnLNHrFwEeF3vBWIteG2JKzlg1GhGjrkB3oxXsV2g==
- dependencies:
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-web@^2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web/-/applicationinsights-web-2.1.1.tgz#1a44eddda7c244b88d9eb052dab6c855682e4f05"
- integrity sha512-crvhCkNsNxkFuPWmttyWNSAA96D5FxBtKS6UA9MV9f9XHevTfchf/E3AuU9JZcsXufWMQLwLrUQ9ZiA1QJ0EWA==
- dependencies:
- "@microsoft/applicationinsights-analytics-js" "2.1.1"
- "@microsoft/applicationinsights-channel-js" "2.1.1"
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- "@microsoft/applicationinsights-dependencies-js" "2.1.1"
- "@microsoft/applicationinsights-properties-js" "2.1.1"
-
nan@^2.14.0:
version "2.14.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
@@ -87,11 +24,6 @@ semver-umd@^5.5.3:
resolved "https://registry.yarnpkg.com/semver-umd/-/semver-umd-5.5.3.tgz#b64d7a2d4f5a717b369d56e31940a38e47e34d1e"
integrity sha512-HOnQrn2iKnVe/xlqCTzMXQdvSz3rPbD0DmQXYuQ+oK1dpptGFfPghonQrx5JHl2O7EJwDqtQnjhE7ME23q6ngw==
-tslib@^1.9.3:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
- integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
-
vscode-textmate@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-4.2.2.tgz#0b4dabc69a6fba79a065cb6b615f66eac07c8f4c"
diff --git a/remote/yarn.lock b/remote/yarn.lock
index 7538d4adfe0..a081e69b960 100644
--- a/remote/yarn.lock
+++ b/remote/yarn.lock
@@ -2,69 +2,6 @@
# yarn lockfile v1
-"@microsoft/applicationinsights-analytics-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-analytics-js/-/applicationinsights-analytics-js-2.1.1.tgz#6d09c1915f808026e2d45165d04802f09affed59"
- integrity sha512-VKIutoFKY99CyKwxLUuj6Vnq14/QwXo9/QSQDpYnHEjo+uKn7QmLsHqWw0K9uYNfNAXt4BZimX/zDg6jZtzeXg==
- dependencies:
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-channel-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.1.1.tgz#e205eddd93e49d17d9e0711a612b4bfc9810888f"
- integrity sha512-fYr9IAqtaEr9AmaPaL3SLQVT3t3GQzl+n74gpNKyAVakDIm0nYQ/bimjdcAhJMDf1VGNSPg/xICneyuZg7Wxlg==
- dependencies:
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-common@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.1.1.tgz#27e6074584a7a3a8ca3f11f7ff2b7ff0f395bf2d"
- integrity sha512-2hkS1Ia1FmAjCuYZ5JlG20/WgObqdsKtmK5YALAFGHIB4KSQ/Za1qazS+7GsG+E0F9UJivNWL1geUIcNqg5Qjg==
- dependencies:
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-core-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.1.1.tgz#30fb6a519cc1c6119c419c4811ce72c260217d9e"
- integrity sha512-4t4wf6SKqIcWEQDPg/uOhm+BxtHhu/AFreyEoYZmMfcxzAu33h1FtTQRtxBNbYH1+thiNZCh80yUpnT7d9Hrlw==
- dependencies:
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-dependencies-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-dependencies-js/-/applicationinsights-dependencies-js-2.1.1.tgz#8154c3efcb24617d015d0bce7c2cc47797a8d3c4"
- integrity sha512-yhb4EToBp+aI+qLo0h5NDNtoo3sDFV60uyIOK843YjzXqVotcXX/lRShlghTkJtYH09QhrdzDjViUHnD4sMFSQ==
- dependencies:
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-properties-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-properties-js/-/applicationinsights-properties-js-2.1.1.tgz#ca34232766eb16167b5d87693e2ae5d94f2a1559"
- integrity sha512-8l+/ppw6xKTam2RL4EHZ52Lcf217olw81j6kyBNKtIcGwSnLNHrFwEeF3vBWIteG2JKzlg1GhGjrkB3oxXsV2g==
- dependencies:
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-web@^2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web/-/applicationinsights-web-2.1.1.tgz#1a44eddda7c244b88d9eb052dab6c855682e4f05"
- integrity sha512-crvhCkNsNxkFuPWmttyWNSAA96D5FxBtKS6UA9MV9f9XHevTfchf/E3AuU9JZcsXufWMQLwLrUQ9ZiA1QJ0EWA==
- dependencies:
- "@microsoft/applicationinsights-analytics-js" "2.1.1"
- "@microsoft/applicationinsights-channel-js" "2.1.1"
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- "@microsoft/applicationinsights-dependencies-js" "2.1.1"
- "@microsoft/applicationinsights-properties-js" "2.1.1"
-
agent-base@4, agent-base@^4.1.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.0.tgz#9838b5c3392b962bad031e6a4c5e1024abec45ce"
@@ -435,11 +372,6 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
-tslib@^1.9.3:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
- integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
-
universalify@^0.1.0:
version "0.1.2"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
diff --git a/src/vs/code/browser/workbench/workbench-dev.html b/src/vs/code/browser/workbench/workbench-dev.html
index 910666edf08..b59b7a2b49b 100644
--- a/src/vs/code/browser/workbench/workbench-dev.html
+++ b/src/vs/code/browser/workbench/workbench-dev.html
@@ -14,7 +14,7 @@
default-src 'self';
img-src 'self' https: data: blob:;
media-src 'none';
- script-src 'self' https://az416426.vo.msecnd.net 'unsafe-eval' https: 'sha256-AMRGFXNZ7mBnD/6F4lTV00XAjE5CBSM7ZeIv3DIp5YM=' 'sha256-meDZW3XhN5JmdjFUrWGhTouRKBiWYtXHltaKnqn/WMo=';
+ script-src 'self' https://az416426.vo.msecnd.net 'unsafe-eval' https: 'sha256-/Ua2yZoIzhImbjP5mnPF6fXTgzsTEtN8hPP1XAB1n6U=' 'sha256-meDZW3XhN5JmdjFUrWGhTouRKBiWYtXHltaKnqn/WMo=';
child-src 'self';
frame-src 'self' https://*.vscode-webview-test.com;
worker-src 'self';
@@ -50,7 +50,6 @@
'xterm-addon-search': `${window.location.origin}/static/remote/web/node_modules/xterm-addon-search/lib/xterm-addon-search.js`,
'xterm-addon-web-links': `${window.location.origin}/static/remote/web/node_modules/xterm-addon-web-links/lib/xterm-addon-web-links.js`,
'semver-umd': `${window.location.origin}/static/remote/web/node_modules/semver-umd/lib/semver-umd.js`,
- '@microsoft/applicationinsights-web': `${window.location.origin}/static/remote/web/node_modules/@microsoft/applicationinsights-web/dist/applicationinsights-web.js`,
}
};
</script>
diff --git a/src/vs/code/browser/workbench/workbench.html b/src/vs/code/browser/workbench/workbench.html
index 97d78ce7f9e..f3caa5350bf 100644
--- a/src/vs/code/browser/workbench/workbench.html
+++ b/src/vs/code/browser/workbench/workbench.html
@@ -14,7 +14,7 @@
default-src 'self';
img-src 'self' https: data: blob:;
media-src 'none';
- script-src 'self' https://az416426.vo.msecnd.net 'unsafe-eval' https: 'sha256-4DqvCTjCHj2KW4QxC/Yt6uBwMRyYiEg7kOoykSEkonQ=';
+ script-src 'self' https://az416426.vo.msecnd.net 'unsafe-eval' https: 'sha256-lrlqPnPED1SjcFocGzCtf6ikbQdTUwJKs8VprSqhvS4=';
child-src 'self';
frame-src 'self' https://*.vscode-webview-test.com;
worker-src 'self';
@@ -37,7 +37,6 @@
<!-- Prefetch to avoid waterfall -->
<link rel="prefetch" href="./static/node_modules/semver-umd/lib/semver-umd.js">
- <link rel="prefetch" href="./static/node_modules/@microsoft/applicationinsights-web/dist/applicationinsights-web.js">
</head>
<body aria-label="">
@@ -55,7 +54,6 @@
'xterm-addon-search': `${window.location.origin}/static/node_modules/xterm-addon-search/lib/xterm-addon-search.js`,
'xterm-addon-web-links': `${window.location.origin}/static/node_modules/xterm-addon-web-links/lib/xterm-addon-web-links.js`,
'semver-umd': `${window.location.origin}/static/node_modules/semver-umd/lib/semver-umd.js`,
- '@microsoft/applicationinsights-web': `${window.location.origin}/static/node_modules/@microsoft/applicationinsights-web/dist/applicationinsights-web.js`,
}
};
</script>
diff --git a/src/vs/workbench/services/remote/common/abstractRemoteAgentService.ts b/src/vs/workbench/services/remote/common/abstractRemoteAgentService.ts
index c889524ee61..93008e7624b 100644
--- a/src/vs/workbench/services/remote/common/abstractRemoteAgentService.ts
+++ b/src/vs/workbench/services/remote/common/abstractRemoteAgentService.ts
@@ -21,6 +21,7 @@ import { IDiagnosticInfoOptions, IDiagnosticInfo } from 'vs/platform/diagnostics
import { Emitter } from 'vs/base/common/event';
import { ISignService } from 'vs/platform/sign/common/sign';
import { ILogService } from 'vs/platform/log/common/log';
+import { ITelemetryData } from 'vs/platform/telemetry/common/telemetry';
export abstract class AbstractRemoteAgentService extends Disposable {
@@ -69,6 +70,26 @@ export abstract class AbstractRemoteAgentService extends Disposable {
return Promise.resolve(undefined);
}
+
+ logTelemetry(eventName: string, data: ITelemetryData): Promise<void> {
+ const connection = this.getConnection();
+ if (connection) {
+ const client = new RemoteExtensionEnvironmentChannelClient(connection.getChannel('remoteextensionsenvironment'));
+ return client.logTelemetry(eventName, data);
+ }
+
+ return Promise.resolve(undefined);
+ }
+
+ flushTelemetry(): Promise<void> {
+ const connection = this.getConnection();
+ if (connection) {
+ const client = new RemoteExtensionEnvironmentChannelClient(connection.getChannel('remoteextensionsenvironment'));
+ return client.flushTelemetry();
+ }
+
+ return Promise.resolve(undefined);
+ }
}
export class RemoteAgentConnection extends Disposable implements IRemoteAgentConnection {
diff --git a/src/vs/workbench/services/remote/common/remoteAgentEnvironmentChannel.ts b/src/vs/workbench/services/remote/common/remoteAgentEnvironmentChannel.ts
index a1877e037aa..93a0c25a574 100644
--- a/src/vs/workbench/services/remote/common/remoteAgentEnvironmentChannel.ts
+++ b/src/vs/workbench/services/remote/common/remoteAgentEnvironmentChannel.ts
@@ -10,6 +10,7 @@ import { IExtensionDescription } from 'vs/platform/extensions/common/extensions'
import { IRemoteAgentEnvironment } from 'vs/platform/remote/common/remoteAgentEnvironment';
import { IDiagnosticInfoOptions, IDiagnosticInfo } from 'vs/platform/diagnostics/common/diagnostics';
import { RemoteAuthorities } from 'vs/base/common/network';
+import { ITelemetryData } from 'vs/platform/telemetry/common/telemetry';
export interface IGetEnvironmentDataArguments {
language: string;
@@ -70,4 +71,12 @@ export class RemoteExtensionEnvironmentChannelClient {
disableTelemetry(): Promise<void> {
return this.channel.call<void>('disableTelemetry');
}
+
+ logTelemetry(eventName: string, data: ITelemetryData): Promise<void> {
+ return this.channel.call<void>('logTelemetry', { eventName, data });
+ }
+
+ flushTelemetry(): Promise<void> {
+ return this.channel.call<void>('flushTelemetry');
+ }
}
diff --git a/src/vs/workbench/services/remote/common/remoteAgentService.ts b/src/vs/workbench/services/remote/common/remoteAgentService.ts
index 1cda189b53e..9200f1be530 100644
--- a/src/vs/workbench/services/remote/common/remoteAgentService.ts
+++ b/src/vs/workbench/services/remote/common/remoteAgentService.ts
@@ -9,6 +9,7 @@ import { IChannel, IServerChannel } from 'vs/base/parts/ipc/common/ipc';
import { IDiagnosticInfoOptions, IDiagnosticInfo } from 'vs/platform/diagnostics/common/diagnostics';
import { Event } from 'vs/base/common/event';
import { PersistenConnectionEvent as PersistentConnectionEvent, ISocketFactory } from 'vs/platform/remote/common/remoteAgentConnection';
+import { ITelemetryData } from 'vs/platform/telemetry/common/telemetry';
export const RemoteExtensionLogFileName = 'remoteagent';
@@ -23,6 +24,8 @@ export interface IRemoteAgentService {
getEnvironment(bail?: boolean): Promise<IRemoteAgentEnvironment | null>;
getDiagnosticInfo(options: IDiagnosticInfoOptions): Promise<IDiagnosticInfo | undefined>;
disableTelemetry(): Promise<void>;
+ logTelemetry(eventName: string, data?: ITelemetryData): Promise<void>;
+ flushTelemetry(): Promise<void>;
}
export interface IRemoteAgentConnection {
diff --git a/src/vs/workbench/services/telemetry/browser/telemetryService.ts b/src/vs/workbench/services/telemetry/browser/telemetryService.ts
index b06ed3920cb..aaea9e997d8 100644
--- a/src/vs/workbench/services/telemetry/browser/telemetryService.ts
+++ b/src/vs/workbench/services/telemetry/browser/telemetryService.ts
@@ -15,52 +15,24 @@ import { ClassifiedEvent, StrictPropertyCheck, GDPRClassification } from 'vs/pla
import { IStorageService } from 'vs/platform/storage/common/storage';
import { resolveWorkbenchCommonProperties } from 'vs/platform/telemetry/browser/workbenchCommonProperties';
import { IProductService } from 'vs/platform/product/common/productService';
-import { ApplicationInsights } from '@microsoft/applicationinsights-web';
+import { IRemoteAgentService } from 'vs/workbench/services/remote/common/remoteAgentService';
export class WebTelemetryAppender implements ITelemetryAppender {
- private _aiClient?: ApplicationInsights;
-
- constructor(aiKey: string, private _logService: ILogService) {
- const initConfig = {
- config: {
- instrumentationKey: aiKey,
- endpointUrl: 'https://vortex.data.microsoft.com/collect/v1',
- emitLineDelimitedJson: true,
- autoTrackPageVisitTime: false,
- disableExceptionTracking: true,
- disableAjaxTracking: true
- }
- };
-
- this._aiClient = new ApplicationInsights(initConfig);
- this._aiClient.loadAppInsights();
- }
- log(eventName: string, data: any): void {
- if (!this._aiClient) {
- return;
- }
+ constructor(private _logService: ILogService, private _appender: ITelemetryAppender) { }
+ log(eventName: string, data: any): void {
data = validateTelemetryData(data);
this._logService.trace(`telemetry/${eventName}`, data);
- this._aiClient.trackEvent({
- name: 'monacoworkbench/' + eventName,
+ this._appender.log('/monacoworkbench/' + eventName, {
properties: data.properties,
measurements: data.measurements
});
}
flush(): Promise<void> {
- if (this._aiClient) {
- return new Promise(resolve => {
- this._aiClient!.flush();
- this._aiClient = undefined;
- resolve(undefined);
- });
- }
-
- return Promise.resolve();
+ return this._appender.flush();
}
}
@@ -75,15 +47,16 @@ export class TelemetryService extends Disposable implements ITelemetryService {
@ILogService logService: ILogService,
@IConfigurationService configurationService: IConfigurationService,
@IStorageService storageService: IStorageService,
- @IProductService productService: IProductService
+ @IProductService productService: IProductService,
+ @IRemoteAgentService remoteAgentService: IRemoteAgentService
) {
super();
- const aiKey = productService.aiConfig && productService.aiConfig.asimovKey;
- if (!environmentService.isExtensionDevelopment && !environmentService.args['disable-telemetry'] && !!productService.enableTelemetry && !!aiKey) {
+ if (!environmentService.args['disable-telemetry'] && !!productService.enableTelemetry) {
+ const telemetryProvider = environmentService.options && environmentService.options.telemetryAppender || { log: remoteAgentService.logTelemetry, flush: remoteAgentService.flushTelemetry };
const config: ITelemetryServiceConfig = {
- appender: combinedAppender(new WebTelemetryAppender(aiKey, logService), new LogAppender(logService)),
- commonProperties: resolveWorkbenchCommonProperties(storageService, productService.commit, productService.version, environmentService.configuration.machineId, environmentService.configuration.remoteAuthority, environmentService.options && environmentService.options.resolveCommonTelemetryProperties),
+ appender: combinedAppender(new WebTelemetryAppender(logService, telemetryProvider), new LogAppender(logService)),
+ commonProperties: resolveWorkbenchCommonProperties(storageService, productService.commit, productService.version, environmentService.configuration.machineId, environmentService.configuration.remoteAuthority),
piiPaths: [environmentService.appRoot]
};
diff --git a/src/vs/workbench/workbench.web.api.ts b/src/vs/workbench/workbench.web.api.ts
index 4833155c493..3c30b2fd899 100644
--- a/src/vs/workbench/workbench.web.api.ts
+++ b/src/vs/workbench/workbench.web.api.ts
@@ -15,6 +15,7 @@ import { LogLevel } from 'vs/platform/log/common/log';
import { IUpdateProvider, IUpdate } from 'vs/workbench/services/update/browser/updateService';
import { Event, Emitter } from 'vs/base/common/event';
import { Disposable, IDisposable } from 'vs/base/common/lifecycle';
+import { ITelemetryAppender } from 'vs/platform/telemetry/common/telemetryUtils';
import { IWorkspaceProvider, IWorkspace } from 'vs/workbench/services/host/browser/browserHostService';
interface IWorkbenchConstructionOptions {
@@ -82,12 +83,19 @@ interface IWorkbenchConstructionOptions {
*/
logLevel?: LogLevel;
+
/**
* Experimental: Support for update reporting.
*/
updateProvider?: IUpdateProvider;
/**
+ * Experimental: If provided, will be called when logging telemetry events.
+ */
+ telemetryAppender?: ITelemetryAppender;
+
+
+ /**
* Experimental: Support adding additional properties to telemetry.
*/
resolveCommonTelemetryProperties?: () => { [key: string]: any };
@@ -150,5 +158,8 @@ export {
// Updates
IUpdateProvider,
- IUpdate
+ IUpdate,
+
+ // Telemetry
+ ITelemetryAppender
};
diff --git a/tslint.json b/tslint.json
index 31adda1904b..a0feadaf2c0 100644
--- a/tslint.json
+++ b/tslint.json
@@ -472,8 +472,7 @@
"**/vs/workbench/api/{common,browser}/**",
"**/vs/workbench/services/**/{common,browser}/**",
"vscode-textmate",
- "onigasm-umd",
- "@microsoft/applicationinsights-web"
+ "onigasm-umd"
]
},
{
diff --git a/yarn.lock b/yarn.lock
index 2e1a8d76c61..9c27370a796 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -95,69 +95,6 @@
lodash "^4.17.11"
to-fast-properties "^2.0.0"
-"@microsoft/applicationinsights-analytics-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-analytics-js/-/applicationinsights-analytics-js-2.1.1.tgz#6d09c1915f808026e2d45165d04802f09affed59"
- integrity sha512-VKIutoFKY99CyKwxLUuj6Vnq14/QwXo9/QSQDpYnHEjo+uKn7QmLsHqWw0K9uYNfNAXt4BZimX/zDg6jZtzeXg==
- dependencies:
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-channel-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.1.1.tgz#e205eddd93e49d17d9e0711a612b4bfc9810888f"
- integrity sha512-fYr9IAqtaEr9AmaPaL3SLQVT3t3GQzl+n74gpNKyAVakDIm0nYQ/bimjdcAhJMDf1VGNSPg/xICneyuZg7Wxlg==
- dependencies:
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-common@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.1.1.tgz#27e6074584a7a3a8ca3f11f7ff2b7ff0f395bf2d"
- integrity sha512-2hkS1Ia1FmAjCuYZ5JlG20/WgObqdsKtmK5YALAFGHIB4KSQ/Za1qazS+7GsG+E0F9UJivNWL1geUIcNqg5Qjg==
- dependencies:
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-core-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.1.1.tgz#30fb6a519cc1c6119c419c4811ce72c260217d9e"
- integrity sha512-4t4wf6SKqIcWEQDPg/uOhm+BxtHhu/AFreyEoYZmMfcxzAu33h1FtTQRtxBNbYH1+thiNZCh80yUpnT7d9Hrlw==
- dependencies:
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-dependencies-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-dependencies-js/-/applicationinsights-dependencies-js-2.1.1.tgz#8154c3efcb24617d015d0bce7c2cc47797a8d3c4"
- integrity sha512-yhb4EToBp+aI+qLo0h5NDNtoo3sDFV60uyIOK843YjzXqVotcXX/lRShlghTkJtYH09QhrdzDjViUHnD4sMFSQ==
- dependencies:
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-properties-js@2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-properties-js/-/applicationinsights-properties-js-2.1.1.tgz#ca34232766eb16167b5d87693e2ae5d94f2a1559"
- integrity sha512-8l+/ppw6xKTam2RL4EHZ52Lcf217olw81j6kyBNKtIcGwSnLNHrFwEeF3vBWIteG2JKzlg1GhGjrkB3oxXsV2g==
- dependencies:
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- tslib "^1.9.3"
-
-"@microsoft/applicationinsights-web@^2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web/-/applicationinsights-web-2.1.1.tgz#1a44eddda7c244b88d9eb052dab6c855682e4f05"
- integrity sha512-crvhCkNsNxkFuPWmttyWNSAA96D5FxBtKS6UA9MV9f9XHevTfchf/E3AuU9JZcsXufWMQLwLrUQ9ZiA1QJ0EWA==
- dependencies:
- "@microsoft/applicationinsights-analytics-js" "2.1.1"
- "@microsoft/applicationinsights-channel-js" "2.1.1"
- "@microsoft/applicationinsights-common" "2.1.1"
- "@microsoft/applicationinsights-core-js" "2.1.1"
- "@microsoft/applicationinsights-dependencies-js" "2.1.1"
- "@microsoft/applicationinsights-properties-js" "2.1.1"
-
"@types/commander@^2.11.0":
version "2.12.2"
resolved "https://registry.yarnpkg.com/@types/commander/-/commander-2.12.2.tgz#183041a23842d4281478fa5d23c5ca78e6fd08ae"
@@ -8457,11 +8394,6 @@ tslib@^1.8.1, tslib@^1.9.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==
-tslib@^1.9.3:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
- integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
-
tslint@^5.16.0:
version "5.16.0"
resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.16.0.tgz#ae61f9c5a98d295b9a4f4553b1b1e831c1984d67"