mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 13:00:58 +00:00
Remove applicationinsights-web dependency
This commit is contained in:
parent
99dc069a0c
commit
d1b81e23db
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
constructor(private _logService: ILogService, private _appender: ITelemetryAppender) { }
|
||||
|
||||
log(eventName: string, data: any): void {
|
||||
if (!this._aiClient) {
|
||||
return;
|
||||
}
|
||||
|
||||
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]
|
||||
};
|
||||
|
||||
|
|
|
@ -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,11 +83,18 @@ 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.
|
||||
*/
|
||||
|
@ -150,5 +158,8 @@ export {
|
|||
|
||||
// Updates
|
||||
IUpdateProvider,
|
||||
IUpdate
|
||||
IUpdate,
|
||||
|
||||
// Telemetry
|
||||
ITelemetryAppender
|
||||
};
|
||||
|
|
|
@ -472,8 +472,7 @@
|
|||
"**/vs/workbench/api/{common,browser}/**",
|
||||
"**/vs/workbench/services/**/{common,browser}/**",
|
||||
"vscode-textmate",
|
||||
"onigasm-umd",
|
||||
"@microsoft/applicationinsights-web"
|
||||
"onigasm-umd"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
68
yarn.lock
68
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"
|
||||
|
|
Loading…
Reference in a new issue