diff --git a/src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts b/src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts index c6478824ac1..8c4e0e34d92 100644 --- a/src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts +++ b/src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts @@ -212,7 +212,7 @@ class SharedProcessMain extends Disposable { let telemetryService: ITelemetryService; let telemetryAppender: ITelemetryAppender; let telemetryLevel = getTelemetryLevel(productService, environmentService); - if (telemetryLevel !== TelemetryLevel.NONE) { + if (telemetryLevel > TelemetryLevel.NONE) { telemetryAppender = new TelemetryLogAppender(loggerService, environmentService); const { appRoot, extensionsPath, installSourcePath } = environmentService; diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts index 6dd6a5828a8..257fffb4880 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts @@ -531,7 +531,7 @@ export class CodeApplication extends Disposable { services.set(IURLService, new SyncDescriptor(NativeURLService)); // Telemetry - if (getTelemetryLevel(this.productService, this.environmentMainService) === TelemetryLevel.USER) { + if (getTelemetryLevel(this.productService, this.environmentMainService) >= TelemetryLevel.USER) { const channel = getDelayedChannel(sharedProcessReady.then(client => client.getChannel('telemetryAppender'))); const appender = new TelemetryAppenderClient(channel); const commonProperties = resolveCommonProperties(this.fileService, release(), hostname(), process.arch, this.productService.commit, this.productService.version, machineId, this.productService.msftInternalDomains, this.environmentMainService.installSourcePath); diff --git a/src/vs/code/node/cliProcessMain.ts b/src/vs/code/node/cliProcessMain.ts index 2cd4464532a..0085c386c84 100644 --- a/src/vs/code/node/cliProcessMain.ts +++ b/src/vs/code/node/cliProcessMain.ts @@ -143,7 +143,7 @@ class CliMain extends Disposable { // Telemetry const appenders: AppInsightsAppender[] = []; - if (getTelemetryLevel(productService, environmentService) === TelemetryLevel.USER) { + if (getTelemetryLevel(productService, environmentService) >= TelemetryLevel.USER) { if (productService.aiConfig && productService.aiConfig.asimovKey) { appenders.push(new AppInsightsAppender('monacoworkbench', null, productService.aiConfig.asimovKey)); } diff --git a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts index 5f9eb66ab94..9db9ce95f4d 100644 --- a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts +++ b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts @@ -939,7 +939,7 @@ export async function resolveMarketplaceHeaders(version: string, productService: 'User-Agent': `VSCode ${version}` }; const uuid = await getServiceMachineId(environmentService, fileService, storageService); - if (getTelemetryLevel(productService, environmentService) === TelemetryLevel.USER && configurationService.getValue('telemetry.enableTelemetry') === true) { + if (getTelemetryLevel(productService, environmentService) >= TelemetryLevel.USER && configurationService.getValue('telemetry.enableTelemetry') === true) { headers['X-Market-User-Id'] = uuid; } return headers; diff --git a/src/vs/platform/telemetry/common/telemetryUtils.ts b/src/vs/platform/telemetry/common/telemetryUtils.ts index 5bc2e55e5d4..e2551b8bbbc 100644 --- a/src/vs/platform/telemetry/common/telemetryUtils.ts +++ b/src/vs/platform/telemetry/common/telemetryUtils.ts @@ -105,9 +105,9 @@ export function configurationTelemetry(telemetryService: ITelemetryService, conf } export const enum TelemetryLevel { - NONE, - LOG, - USER + NONE = 0, + LOG = 1, + USER = 2 } /** diff --git a/src/vs/workbench/api/browser/mainThreadTelemetry.ts b/src/vs/workbench/api/browser/mainThreadTelemetry.ts index 72056c1b856..41e065cbadc 100644 --- a/src/vs/workbench/api/browser/mainThreadTelemetry.ts +++ b/src/vs/workbench/api/browser/mainThreadTelemetry.ts @@ -30,7 +30,7 @@ export class MainThreadTelemetry extends Disposable implements MainThreadTelemet this._proxy = extHostContext.getProxy(ExtHostContext.ExtHostTelemetry); - if (getTelemetryLevel(this._productService, this._environmenService) !== TelemetryLevel.NONE) { + if (getTelemetryLevel(this._productService, this._environmenService) > TelemetryLevel.NONE) { this._register(this._configurationService.onDidChangeConfiguration(e => { if (e.affectedKeys.includes('telemetry.enableTelemetry')) { this._proxy.$onDidChangeTelemetryEnabled(this.telemetryEnabled); @@ -42,7 +42,7 @@ export class MainThreadTelemetry extends Disposable implements MainThreadTelemet } private get telemetryEnabled(): boolean { - if (getTelemetryLevel(this._productService, this._environmenService) !== TelemetryLevel.USER) { + if (getTelemetryLevel(this._productService, this._environmenService) < TelemetryLevel.USER) { return false; } diff --git a/src/vs/workbench/contrib/update/browser/releaseNotesEditor.ts b/src/vs/workbench/contrib/update/browser/releaseNotesEditor.ts index c82886fd2dd..47324c2503a 100644 --- a/src/vs/workbench/contrib/update/browser/releaseNotesEditor.ts +++ b/src/vs/workbench/contrib/update/browser/releaseNotesEditor.ts @@ -29,7 +29,7 @@ import { IWebviewWorkbenchService } from 'vs/workbench/contrib/webviewPanel/brow import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService'; import { ACTIVE_GROUP, IEditorService } from 'vs/workbench/services/editor/common/editorService'; import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; -import { getTelemetryLevel } from 'vs/platform/telemetry/common/telemetryUtils'; +import { getTelemetryLevel, TelemetryLevel } from 'vs/platform/telemetry/common/telemetryUtils'; export class ReleaseNotesManager { @@ -195,7 +195,7 @@ export class ReleaseNotesManager { } private async addGAParameters(uri: URI, origin: string, experiment = '1'): Promise { - if (getTelemetryLevel(this._productService, this._environmentService)) { + if (getTelemetryLevel(this._productService, this._environmentService) >= TelemetryLevel.USER) { if (uri.scheme === 'https' && uri.authority === 'code.visualstudio.com') { const info = await this._telemetryService.getTelemetryInfo(); diff --git a/src/vs/workbench/services/extensionResourceLoader/browser/extensionResourceLoaderService.ts b/src/vs/workbench/services/extensionResourceLoader/browser/extensionResourceLoaderService.ts index 06a61593eca..0454b562c44 100644 --- a/src/vs/workbench/services/extensionResourceLoader/browser/extensionResourceLoaderService.ts +++ b/src/vs/workbench/services/extensionResourceLoader/browser/extensionResourceLoaderService.ts @@ -51,7 +51,7 @@ class ExtensionResourceLoaderService implements IExtensionResourceLoaderService 'X-Client-Name': `${this._productService.applicationName}${isWeb ? '-web' : ''}`, 'X-Client-Version': this._productService.version }; - if (getTelemetryLevel(this._productService, this._environmentService) === TelemetryLevel.USER && this._configurationService.getValue('telemetry.enableTelemetry') === true) { + if (getTelemetryLevel(this._productService, this._environmentService) >= TelemetryLevel.USER && this._configurationService.getValue('telemetry.enableTelemetry') === true) { requestInit.headers['X-Machine-Id'] = machineId; } if (this._productService.commit) { diff --git a/src/vs/workbench/services/telemetry/electron-sandbox/telemetryService.ts b/src/vs/workbench/services/telemetry/electron-sandbox/telemetryService.ts index 58516c455af..b883895432a 100644 --- a/src/vs/workbench/services/telemetry/electron-sandbox/telemetryService.ts +++ b/src/vs/workbench/services/telemetry/electron-sandbox/telemetryService.ts @@ -35,7 +35,7 @@ export class TelemetryService extends Disposable implements ITelemetryService { ) { super(); - if (getTelemetryLevel(productService, environmentService) === TelemetryLevel.LOG) { + if (getTelemetryLevel(productService, environmentService) >= TelemetryLevel.LOG) { const channel = sharedProcessService.getChannel('telemetryAppender'); const config: ITelemetryServiceConfig = { appender: new TelemetryAppenderClient(channel),