From 72dfa6c58dfda8ea8f8a6aa71177c573e9c44bbc Mon Sep 17 00:00:00 2001 From: kieferrm Date: Sun, 3 Sep 2017 17:48:05 -0700 Subject: [PATCH 01/39] classify common properties --- src/vs/code/electron-browser/sharedProcessMain.ts | 1 + src/vs/code/electron-main/app.ts | 1 + src/vs/platform/telemetry/node/commonProperties.ts | 10 ++++++++++ .../telemetry/node/workbenchCommonProperties.ts | 10 ++++++++++ 4 files changed, 22 insertions(+) diff --git a/src/vs/code/electron-browser/sharedProcessMain.ts b/src/vs/code/electron-browser/sharedProcessMain.ts index f83a1b2669e689..3af6219f706e1e 100644 --- a/src/vs/code/electron-browser/sharedProcessMain.ts +++ b/src/vs/code/electron-browser/sharedProcessMain.ts @@ -109,6 +109,7 @@ function main(server: Server, initData: ISharedProcessInitData): void { const config: ITelemetryServiceConfig = { appender, commonProperties: resolveCommonProperties(product.commit, pkg.version, installSource) + // __GDPR__COMMON__ "common.machineId" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } .then(result => Object.defineProperty(result, 'common.machineId', { get: () => storageService.get(machineIdStorageKey), enumerable: true diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts index df39afe3f61b06..ed5c323de8a9d5 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts @@ -295,6 +295,7 @@ export class CodeApplication { const channel = getDelayedChannel(this.sharedProcessClient.then(c => c.getChannel('telemetryAppender'))); const appender = new TelemetryAppenderClient(channel); const commonProperties = resolveCommonProperties(product.commit, pkg.version, this.environmentService.installSource) + // __GDPR__COMMON__ "common.machineId" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } .then(result => Object.defineProperty(result, 'common.machineId', { get: () => this.storageService.getItem(machineIdStorageKey), enumerable: true diff --git a/src/vs/platform/telemetry/node/commonProperties.ts b/src/vs/platform/telemetry/node/commonProperties.ts index ea27f5c5b6c737..ff4b81f29b4d8c 100644 --- a/src/vs/platform/telemetry/node/commonProperties.ts +++ b/src/vs/platform/telemetry/node/commonProperties.ts @@ -14,12 +14,19 @@ export const machineIdIpcChannel = 'vscode:machineId'; export function resolveCommonProperties(commit: string, version: string, source: string): TPromise<{ [name: string]: string; }> { const result: { [name: string]: string; } = Object.create(null); + // __GDPR__COMMON__ "sessionID" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['sessionID'] = uuid.generateUuid() + Date.now(); + // __GDPR__COMMON__ "commitHash" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['commitHash'] = commit; + // __GDPR__COMMON__ "version" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['version'] = version; + // __GDPR__COMMON__ "common.osVersion" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.osVersion'] = os.release(); + // __GDPR__COMMON__ "common.platfrom" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.platform'] = Platform.Platform[Platform.platform]; + // __GDPR__COMMON__ "common.nodePlatform" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.nodePlatform'] = process.platform; + // __GDPR__COMMON__ "common.nodeArch" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.nodeArch'] = process.arch; result['common.source'] = source; @@ -27,14 +34,17 @@ export function resolveCommonProperties(commit: string, version: string, source: let seq = 0; const startTime = Date.now(); Object.defineProperties(result, { + // __GDPR__COMMON__ "timestamp" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } 'timestamp': { get: () => new Date(), enumerable: true }, + // __GDPR__COMMON__ "common.timesincesessionstart" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } 'common.timesincesessionstart': { get: () => Date.now() - startTime, enumerable: true }, + // __GDPR__COMMON__ "common.sequence" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } 'common.sequence': { get: () => seq++, enumerable: true diff --git a/src/vs/platform/telemetry/node/workbenchCommonProperties.ts b/src/vs/platform/telemetry/node/workbenchCommonProperties.ts index c6a5772af4966a..df83c2ff004ecf 100644 --- a/src/vs/platform/telemetry/node/workbenchCommonProperties.ts +++ b/src/vs/platform/telemetry/node/workbenchCommonProperties.ts @@ -16,8 +16,11 @@ const SQM_KEY: string = '\\Software\\Microsoft\\SQMClient'; export function resolveWorkbenchCommonProperties(storageService: IStorageService, commit: string, version: string, source: string): TPromise<{ [name: string]: string }> { return resolveCommonProperties(commit, version, source).then(result => { + // __GDPR__COMMON__ "common.version.shell" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.version.shell'] = process.versions && (process).versions['electron']; + // __GDPR__COMMON__ "common.version.renderer" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.version.renderer'] = process.versions && (process).versions['chrome']; + // __GDPR__COMMON__ "common.osVersion" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.osVersion'] = os.release(); const lastSessionDate = storageService.get('telemetry.lastSessionDate'); @@ -25,16 +28,23 @@ export function resolveWorkbenchCommonProperties(storageService: IStorageService storageService.store('telemetry.firstSessionDate', firstSessionDate); storageService.store('telemetry.lastSessionDate', new Date().toUTCString()); + // __GDPR__COMMON__ "common.firstSessionDate" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.firstSessionDate'] = firstSessionDate; + // __GDPR__COMMON__ "common.lastSessionDate" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.lastSessionDate'] = lastSessionDate; + // __GDPR__COMMON__ "common.isNewSession" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.isNewSession'] = !lastSessionDate ? '1' : '0'; const promises: TPromise[] = []; + // __GDPR__COMMON__ "common.instanceId" : { "endPoint": "none", "classification": "EndUserPseudonymizedInformation", "purpose": "FeatureInsight" } promises.push(getOrCreateInstanceId(storageService).then(value => result['common.instanceId'] = value)); + // __GDPR__COMMON__ "common.machineId" : { "endPoint": "none", "classification": "EndUserPseudonymizedInformation", "purpose": "FeatureInsight" } promises.push(getOrCreateMachineId(storageService).then(value => result['common.machineId'] = value)); if (process.platform === 'win32') { + // __GDPR__COMMON__ "common.sqm.userid" : { "endPoint": "SqmUserId", "classification": "EndUserPseudonymizedInformation", "purpose": "FeatureInsight" } promises.push(getSqmUserId(storageService).then(value => result['common.sqm.userid'] = value)); + // __GDPR__COMMON__ "common.sqm.machineid" : { "endPoint": "SqmMachineId", "classification": "EndUserPseudonymizedInformation", "purpose": "FeatureInsight" } promises.push(getSqmMachineId(storageService).then(value => result['common.sqm.machineid'] = value)); } From 858d465a492ddbcd1ee840edce9a003b3bae8202 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Sun, 3 Sep 2017 17:49:09 -0700 Subject: [PATCH 02/39] first batch events --- src/vs/code/electron-main/menus.ts | 6 +++ .../contrib/gotoError/browser/gotoError.ts | 8 ++++ .../browser/referencesController.ts | 12 ++++++ .../suggest/browser/completionModel.ts | 8 ++++ .../suggest/browser/suggestController.ts | 8 ++++ .../contrib/suggest/browser/suggestWidget.ts | 30 ++++++++++++++ .../contextview/browser/contextMenuHandler.ts | 6 +++ .../common/extensionManagementUtil.ts | 15 +++++++ .../node/extensionGalleryService.ts | 41 +++++++++++++++++++ .../platform/opener/browser/openerService.ts | 5 +++ .../telemetry/browser/errorTelemetry.ts | 10 +++++ .../telemetry/common/telemetryUtils.ts | 22 ++++++++++ .../update/electron-main/updateService.ts | 17 ++++++++ 13 files changed, 188 insertions(+) diff --git a/src/vs/code/electron-main/menus.ts b/src/vs/code/electron-main/menus.ts index b796c7e82cd565..3cd93fc8e0ac29 100644 --- a/src/vs/code/electron-main/menus.ts +++ b/src/vs/code/electron-main/menus.ts @@ -1239,6 +1239,12 @@ export class CodeMenu { } private reportMenuActionTelemetry(id: string): void { + /* __GDPR__ + "workbencActionExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id, from: telemetryFrom }); } diff --git a/src/vs/editor/contrib/gotoError/browser/gotoError.ts b/src/vs/editor/contrib/gotoError/browser/gotoError.ts index 70077a344ca29a..023ffb757544a2 100644 --- a/src/vs/editor/contrib/gotoError/browser/gotoError.ts +++ b/src/vs/editor/contrib/gotoError/browser/gotoError.ts @@ -406,6 +406,14 @@ class MarkerNavigationAction extends EditorAction { } let model = controller.getOrCreateModel(); + /* __GDPR__ + "zoneWidgetShown" : { + "mode" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${EditorTelemetryData}" + ] + } + */ telemetryService.publicLog('zoneWidgetShown', { mode: 'go to error', ...editor.getTelemetryData() }); if (model) { if (this._isNext) { diff --git a/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts b/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts index cf8da0f92a7c19..2aef97724177e3 100644 --- a/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts +++ b/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts @@ -161,6 +161,12 @@ export class ReferencesController implements editorCommon.IEditorContribution { const startTime = Date.now(); this._disposables.push({ dispose: () => { + /* __GDPR__ + "zoneWidgetShown" : { + "mode" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "elapsedTime": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this._telemetryService.publicLog('zoneWidgetShown', { mode: 'reference search', elapsedTime: Date.now() - startTime @@ -191,6 +197,12 @@ export class ReferencesController implements editorCommon.IEditorContribution { const onDone = stopwatch(fromPromise(promise)); const mode = this._editor.getModel().getLanguageIdentifier().language; + /* __GDPR__ + "findReferences" : { + "durarion" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "mode": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ onDone(duration => this._telemetryService.publicLog('findReferences', { duration, mode diff --git a/src/vs/editor/contrib/suggest/browser/completionModel.ts b/src/vs/editor/contrib/suggest/browser/completionModel.ts index 359f66ad1e93bc..4a4921267ee1ba 100644 --- a/src/vs/editor/contrib/suggest/browser/completionModel.ts +++ b/src/vs/editor/contrib/suggest/browser/completionModel.ts @@ -16,6 +16,14 @@ export interface ICompletionItem extends ISuggestionItem { idx?: number; } + +/* __GDPR__FRAGMENT__ + "ICompletionStats" : { + "suggestionCount" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippetCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "textCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ export interface ICompletionStats { suggestionCount: number; snippetCount: number; diff --git a/src/vs/editor/contrib/suggest/browser/suggestController.ts b/src/vs/editor/contrib/suggest/browser/suggestController.ts index 6f7fb7e9add339..c9a8630db75e61 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestController.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestController.ts @@ -197,6 +197,14 @@ export class SuggestController implements IEditorContribution { } this._alertCompletionItem(item); + /* __GDPR__ + "suggestSnippetInsert" : { + "suggestionType" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${EditorTelemetryData}" + ] + } + */ this._telemetryService.publicLog('suggestSnippetInsert', { ...this._editor.getTelemetryData(), suggestionType: suggestion.type }); } diff --git a/src/vs/editor/contrib/suggest/browser/suggestWidget.ts b/src/vs/editor/contrib/suggest/browser/suggestWidget.ts index 472fce09a8639e..9952f962ccf3be 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestWidget.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestWidget.ts @@ -728,6 +728,15 @@ export class SuggestWidget implements IContentWidget, IDelegate } else { const { stats } = this.completionModel; stats['wasAutomaticallyTriggered'] = !!isAuto; + /* __GDPR__ + "suggestWidget" : { + "wasAutomaticallyTriggered" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${ICompletionStats}", + "${EditorTelemetryData}" + ] + } + */ this.telemetryService.publicLog('suggestWidget', { ...stats, ...this.editor.getTelemetryData() }); this.focusedItem = null; @@ -855,6 +864,13 @@ export class SuggestWidget implements IContentWidget, IDelegate this.details.element.style.borderColor = this.detailsFocusBorderColor; } } + /* __GDPR__ + "suggestWidget:toggleDetailsFocus" : { + "${include}": [ + "${EditorTelemetryData}" + ] + } + */ this.telemetryService.publicLog('suggestWidget:toggleDetailsFocus', this.editor.getTelemetryData()); } @@ -869,6 +885,13 @@ export class SuggestWidget implements IContentWidget, IDelegate removeClass(this.element, 'docs-side'); removeClass(this.element, 'docs-below'); this.editor.layoutContentWidget(this); + /* __GDPR__ + "suggestWidget:collapseDetails" : { + "${include}": [ + "${EditorTelemetryData}" + ] + } + */ this.telemetryService.publicLog('suggestWidget:collapseDetails', this.editor.getTelemetryData()); } else { if (this.state !== State.Open && this.state !== State.Details) { @@ -877,6 +900,13 @@ export class SuggestWidget implements IContentWidget, IDelegate this.updateExpandDocsSetting(true); this.showDetails(); + /* __GDPR__ + "suggestWidget:expandDetails" : { + "${include}": [ + "${EditorTelemetryData}" + ] + } + */ this.telemetryService.publicLog('suggestWidget:expandDetails', this.editor.getTelemetryData()); } diff --git a/src/vs/platform/contextview/browser/contextMenuHandler.ts b/src/vs/platform/contextview/browser/contextMenuHandler.ts index 3a3b3e0e22c4cf..f61264b3a2ebff 100644 --- a/src/vs/platform/contextview/browser/contextMenuHandler.ts +++ b/src/vs/platform/contextview/browser/contextMenuHandler.ts @@ -44,6 +44,12 @@ export class ContextMenuHandler { this.toDispose.push(this.actionRunner.addListener(EventType.BEFORE_RUN, (e: any) => { if (this.telemetryService) { + /* __GDPR__ + "workbenchActionExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: e.action.id, from: 'contextMenu' }); } diff --git a/src/vs/platform/extensionManagement/common/extensionManagementUtil.ts b/src/vs/platform/extensionManagement/common/extensionManagementUtil.ts index 7b4a1690e71d92..78beef0e12c790 100644 --- a/src/vs/platform/extensionManagement/common/extensionManagementUtil.ts +++ b/src/vs/platform/extensionManagement/common/extensionManagementUtil.ts @@ -62,6 +62,21 @@ export function getLocalExtensionTelemetryData(extension: ILocalExtension): any }; } + +/* __GDPR__FRAGMENT__ + "GalleryExtensionTelemetryData" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "name": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "galleryId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "publisherId": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "publisherName": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "publisherDisplayName": { "endPoint": "none", "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, + "dependencies": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${GalleryExtensionTelemetryData2}" + ] + } + */ export function getGalleryExtensionTelemetryData(extension: IGalleryExtension): any { return { id: extension.id, diff --git a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts index e265f2ddad47c5..56c720501a62c8 100644 --- a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts +++ b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts @@ -263,6 +263,13 @@ function toExtension(galleryExtension: IRawGalleryExtension, extensionsGalleryUr dependencies: getDependencies(version), engine: getEngine(version) }, + /* __GDPR__FRAGMENT__ + "GalleryExtensionTelemetryData2" : { + "index" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "searchText": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "querySource": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryData: { index: ((query.pageNumber - 1) * query.pageSize) + index, searchText: query.searchText, @@ -311,6 +318,12 @@ export class ExtensionGalleryService implements IExtensionGalleryService { let text = options.text || ''; const pageSize = getOrDefault(options, o => o.pageSize, 50); + /* __GDPR__ + "galleryService:query" : { + "type" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "text": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('galleryService:query', { type, text }); let query = new Query() @@ -426,6 +439,14 @@ export class ExtensionGalleryService implements IExtensionGalleryService { const zipPath = path.join(tmpdir(), uuid.generateUuid()); const data = getGalleryExtensionTelemetryData(extension); const startTime = new Date().getTime(); + /* __GDPR__ + "galleryService:downloadVSIX" : { + "duration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth," }, + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ const log = (duration: number) => this.telemetryService.publicLog('galleryService:downloadVSIX', assign(data, { duration })); return this.getAsset(extension.assets.download) @@ -566,7 +587,20 @@ export class ExtensionGalleryService implements IExtensionGalleryService { } const message = getErrorMessage(err); + /* __GDPR__ + "galleryService:requestError" : { + "url" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "cdn": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "message": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('galleryService:requestError', { url, cdn: true, message }); + /* __GDPR__ + "galleryService:cdnFallback" : { + "url" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "message": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('galleryService:cdnFallback', { url, message }); const fallbackOptions = assign({}, options, { url: fallbackUrl }); @@ -576,6 +610,13 @@ export class ExtensionGalleryService implements IExtensionGalleryService { } const message = getErrorMessage(err); + /* __GDPR__ + "galleryService:requestError" : { + "url" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "cdn": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "message": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('galleryService:requestError', { url: fallbackUrl, cdn: false, message }); return TPromise.wrapError(err); }); diff --git a/src/vs/platform/opener/browser/openerService.ts b/src/vs/platform/opener/browser/openerService.ts index d567a6f57793f3..5e48c5025c4b9d 100644 --- a/src/vs/platform/opener/browser/openerService.ts +++ b/src/vs/platform/opener/browser/openerService.ts @@ -30,6 +30,11 @@ export class OpenerService implements IOpenerService { open(resource: URI, options?: { openToSide?: boolean }): TPromise { + /* __GDPR__ + "openerService" : { + "scheme" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this._telemetryService.publicLog('openerService', { scheme: resource.scheme }); const { scheme, path, query, fragment } = resource; diff --git a/src/vs/platform/telemetry/browser/errorTelemetry.ts b/src/vs/platform/telemetry/browser/errorTelemetry.ts index 5bf022e190c151..e21d4e5efd657b 100644 --- a/src/vs/platform/telemetry/browser/errorTelemetry.ts +++ b/src/vs/platform/telemetry/browser/errorTelemetry.ts @@ -143,6 +143,16 @@ export default class ErrorTelemetry { private _flushBuffer(): void { for (let error of this._buffer) { + /* __GDPR__ + "UnhandledError" : { + "message" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "name": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "stack": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "id": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "line": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "column": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ this._telemetryService.publicLog('UnhandledError', error); } this._buffer.length = 0; diff --git a/src/vs/platform/telemetry/common/telemetryUtils.ts b/src/vs/platform/telemetry/common/telemetryUtils.ts index d1c8b3db1563c3..6433371917694b 100644 --- a/src/vs/platform/telemetry/common/telemetryUtils.ts +++ b/src/vs/platform/telemetry/common/telemetryUtils.ts @@ -180,10 +180,22 @@ const configurationValueWhitelist = [ export function configurationTelemetry(telemetryService: ITelemetryService, configurationService: IConfigurationService): IDisposable { return configurationService.onDidUpdateConfiguration(event => { if (event.source !== ConfigurationSource.Default) { + /* __GDPR__ + "updateConfiguration" : { + "configurationSource" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "configurationKeys": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('updateConfiguration', { configurationSource: ConfigurationSource[event.source], configurationKeys: flattenKeys(event.sourceConfig) }); + /* __GDPR__ + "updateConfigurationValues" : { + "configurationSource" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "configurationValues": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('updateConfigurationValues', { configurationSource: ConfigurationSource[event.source], configurationValues: flattenValues(event.sourceConfig, configurationValueWhitelist) @@ -194,6 +206,11 @@ export function configurationTelemetry(telemetryService: ITelemetryService, conf export function lifecycleTelemetry(telemetryService: ITelemetryService, lifecycleService: ILifecycleService): IDisposable { return lifecycleService.onShutdown(event => { + /* __GDPR__ + "shutdown" : { + "reason" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('shutdown', { reason: ShutdownReason[event] }); }); } @@ -201,6 +218,11 @@ export function lifecycleTelemetry(telemetryService: ITelemetryService, lifecycl export function keybindingsTelemetry(telemetryService: ITelemetryService, keybindingService: IKeybindingService): IDisposable { return keybindingService.onDidUpdateKeybindings(event => { if (event.source === KeybindingSource.User && event.keybindings) { + /* __GDPR__ + "updateKeybindings" : { + "bindings": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('updateKeybindings', { bindings: event.keybindings.map(binding => ({ key: binding.key, diff --git a/src/vs/platform/update/electron-main/updateService.ts b/src/vs/platform/update/electron-main/updateService.ts index 8c387a90710643..091075c6364efc 100644 --- a/src/vs/platform/update/electron-main/updateService.ts +++ b/src/vs/platform/update/electron-main/updateService.ts @@ -164,6 +164,11 @@ export class UpdateService implements IUpdateService { if (!update) { this._onUpdateNotAvailable.fire(explicit); this.state = State.Idle; + /* __GDPR__ + "update:notAvailable" : { + "explicit" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('update:notAvailable', { explicit }); } else if (update.url) { @@ -177,6 +182,13 @@ export class UpdateService implements IUpdateService { this._availableUpdate = data; this._onUpdateAvailable.fire({ url: update.url, version: update.version }); this.state = State.UpdateAvailable; + /* __GDPR__ + "update:available" : { + "explicit" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "version": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "currentVersion": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('update:available', { explicit, version: update.version, currentVersion: product.commit }); } else { @@ -189,6 +201,11 @@ export class UpdateService implements IUpdateService { this._availableUpdate = data; this._onUpdateReady.fire(data); this.state = State.UpdateDownloaded; + /* __GDPR__ + "update:downloaded" : { + "version" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('update:downloaded', { version: update.version }); } From 02b6db0e7e9c23f7a3fff0193740bce9a13d63b1 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Sun, 3 Sep 2017 17:53:23 -0700 Subject: [PATCH 03/39] gdpr tooling --- GDPR-README.md | 130 ++++++++++++++++++++++++++++++++++++++++++++++++ scripts/gdpr.sh | 3 ++ 2 files changed, 133 insertions(+) create mode 100644 GDPR-README.md create mode 100644 scripts/gdpr.sh diff --git a/GDPR-README.md b/GDPR-README.md new file mode 100644 index 00000000000000..5bd48edcb07ea6 --- /dev/null +++ b/GDPR-README.md @@ -0,0 +1,130 @@ +Snippets defined for GDPR classification: + +```json +{ + "gdprCommonProperty": { + "prefix": "gdprcommon", + "body": [ + "// __GDPR__COMMON__ \"common.${1:propertyName}\" : { \"endPoint\": \"${2|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${3|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation|}\", \"purpose\": \"${4|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }\n" + ], + "description": "GDPR - declare a common property" + }, + "gdprProperty": { + "prefix": "gdprproperty", + "body": [ + "\"${1:propertyName}\": { \"endPoint\": \"${3|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${4|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation,PublicPersonalData,PublicNonPersonalData|}\", \"purpose\": \"${5|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }$2$0" + ], + "description": "GDPR - declare a property" + }, + "gdprInclude": { + "prefix": "gdprinclude", + "body": [ + "\"\\${include}\": [", + " \"\\${${1:FragmentName}}\"$0", + "]" + ], + "description": "GDPR - include fragments" + }, + "gdprIncludeFragment": { + "prefix": "gdprincludefragment", + "body": [ + "\"\\${${1:FragmentName}}\"$0" + ], + "description": "GDPR - include a fragment" + }, + "gdprEvent": { + "prefix": "gdprevent", + "body": [ + "/* __GDPR__", + " \"${1:eventName}\" : {", + " \"${2:propertyName}\" : { \"endPoint\": \"${4|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${5|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation|}\", \"purpose\": \"${6|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }$3$0", + " }", + " */\n" + ], + "description": "GDPR - declare an event" + }, + "gdprFragment": { + "prefix": "gdprinclude", + "body": [ + "/* __GDPR__FRAGMENT__", + " \"${1:fragmentName}\" : {", + " \"${2:propertyName}\" : { \"endPoint\": \"${4|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${5|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation|}\", \"purpose\": \"${6|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }$3$0", + " }", + " */\n" + ], + "description": "GDPR - declare a fragment" + } +} +``` + + +Keybindings defined for GDPR snippets: + +```json +[ + { + "key": "ctrl+9", + "command": "editor.action.insertSnippet", + "when": "editorTextFocus", + "args": { + "langId": "typescript", + "name": "gdprCommonProperty" + } + }, + { + "key": "ctrl+8 ctrl+8", + "command": "editor.action.insertSnippet", + "when": "editorTextFocus", + "args": { + "langId": "typescript", + "name": "gdprFragment" + } + }, + { + "key": "ctrl+0 ctrl+8", + "command": "editor.action.insertSnippet", + "when": "editorTextFocus", + "args": { + "langId": "typescript", + "name": "gdprInclude" + } + }, + { + "key": "ctrl+0 ctrl+7", + "command": "editor.action.insertSnippet", + "when": "editorTextFocus", + "args": { + "langId": "typescript", + "name": "gdprIncludeFragment" + } + }, + { + "key": "ctrl+0 ctrl+0", + "command": "editor.action.insertSnippet", + "when": "editorTextFocus", + "args": { + "langId": "typescript", + "name": "gdprEvent" + } + }, + { + "key": "ctrl+0 ctrl+9", + "command": "editor.action.insertSnippet", + "when": "editorTextFocus", + "args": { + "langId": "typescript", + "name": "gdprProperty" + } + }, + { + "key": "ctrl+8 ctrl+9", + "command": "editor.action.insertSnippet", + "when": "editorTextFocus", + "args": { + "langId": "typescript", + "name": "gdprProperty" + } + } +] + +``` \ No newline at end of file diff --git a/scripts/gdpr.sh b/scripts/gdpr.sh new file mode 100644 index 00000000000000..d6235822abbf8a --- /dev/null +++ b/scripts/gdpr.sh @@ -0,0 +1,3 @@ +rg --no-line-number --regexp "//\s__GDPR__COMMON__(.*)\s*\$" --no-filename --no-heading + + From 94667ec26903dee74814c555f98c5d4a705ea198 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Tue, 5 Sep 2017 14:07:37 -0700 Subject: [PATCH 04/39] update snippets --- GDPR-README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GDPR-README.md b/GDPR-README.md index 5bd48edcb07ea6..a5078f1e9734dd 100644 --- a/GDPR-README.md +++ b/GDPR-README.md @@ -37,7 +37,7 @@ Snippets defined for GDPR classification: "body": [ "/* __GDPR__", " \"${1:eventName}\" : {", - " \"${2:propertyName}\" : { \"endPoint\": \"${4|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${5|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation|}\", \"purpose\": \"${6|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }$3$0", + " \"${2:propertyName}\" : { \"endPoint\": \"${4|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${5|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation,PublicPersonalData,PublicNonPersonalData|}\", \"purpose\": \"${6|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }$3$0", " }", " */\n" ], @@ -48,7 +48,7 @@ Snippets defined for GDPR classification: "body": [ "/* __GDPR__FRAGMENT__", " \"${1:fragmentName}\" : {", - " \"${2:propertyName}\" : { \"endPoint\": \"${4|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${5|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation|}\", \"purpose\": \"${6|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }$3$0", + " \"${2:propertyName}\" : { \"endPoint\": \"${4|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${5|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation,PublicPersonalData,PublicNonPersonalData|}\", \"purpose\": \"${6|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }$3$0", " }", " */\n" ], From 8671fe591054edb6feed9fcbc1f8d58b4ba19a3f Mon Sep 17 00:00:00 2001 From: kieferrm Date: Tue, 5 Sep 2017 22:57:38 -0700 Subject: [PATCH 05/39] parse source comments --- scripts/gdpr.js | 145 ++++++++++++++++++++++++++++++++++++++++++++++++ scripts/gdpr.sh | 3 - 2 files changed, 145 insertions(+), 3 deletions(-) create mode 100644 scripts/gdpr.js delete mode 100644 scripts/gdpr.sh diff --git a/scripts/gdpr.js b/scripts/gdpr.js new file mode 100644 index 00000000000000..74e7c4588730fe --- /dev/null +++ b/scripts/gdpr.js @@ -0,0 +1,145 @@ + +'use strict'; + +const path = require('path'); +const cp = require('child_process'); +const fs = require('fs'); + +const WORKSPACE_ROOT = path.join(__dirname, '..'); + + +function getCommonProperties() { + const cmd = `rg --files-with-matches --glob "*.ts" --regexp "//\\s*__GDPR__COMMON__"`; + let filePaths = cp.execSync(cmd, { cwd: WORKSPACE_ROOT, encoding: 'ascii' }); + filePaths = filePaths.split(/(?:\r\n|\r|\n)/g); + + let commonPropertyDeclarations = []; + filePaths.forEach(filePath => { + if (filePath) { + const cwdRelativePath = path.join(__dirname, `../${filePath}`); + const fileContents = fs.readFileSync(cwdRelativePath, { encoding: 'utf8' }); + const commonPropertyMatcher = /\/\/\s*__GDPR__COMMON__(.*)$/mg; + let m; + while (m = commonPropertyMatcher.exec(fileContents)) { + commonPropertyDeclarations.push(m[1]); + } + } + }, this); + + const jsonString = `{ ${commonPropertyDeclarations.join(',')} }`; + return JSON.parse(jsonString); +} + +function addCommonProperties(events, commonProperties) { + for (let e in events) { + if (events.hasOwnProperty(e)) { + let event = events[e]; + for (let p in commonProperties) { + event[p] = commonProperties[p]; + } + } + } + return events; +} + +function mergeFragment(target, source) { + for (let p in source) { + if (source.hasOwnProperty(p)) { + if (typeof target[p] === 'object' && typeof source[p] === 'object') { + mergeFragment(target[p], source[p]); + } else { + target[p] = source[p]; + } + } + } +} + +function getFragments() { + const cmd = `rg --files-with-matches --glob "*.ts" --regexp "/\*\\s*__GDPR__FRAGMENT__"`; + let filePaths = cp.execSync(cmd, { cwd: WORKSPACE_ROOT, encoding: 'ascii' }); + filePaths = filePaths.split(/(?:\r\n|\r|\n)/g); + + let fragmentDeclarations = {}; + filePaths.forEach(filePath => { + if (filePath) { + const cwdRelativePath = path.join(__dirname, `../${filePath}`); + const fileContents = fs.readFileSync(cwdRelativePath, { encoding: 'utf8' }); + const fragmentMatcher = /\/\*\s*__GDPR__FRAGMENT__([^/]*)*\*\//mg; + let m; + while (m = fragmentMatcher.exec(fileContents)) { + let jsonString = `{ ${m[1]} }`; + let fragment = JSON.parse(jsonString); + mergeFragment(fragmentDeclarations, fragment); + } + } + }, this); + + return fragmentDeclarations; +} + +function getEvents() { + const cmd = `rg --files-with-matches --glob "*.ts" --regexp "/\*\\s*__GDPR__\\b"`; + let filePaths = cp.execSync(cmd, { cwd: WORKSPACE_ROOT, encoding: 'ascii' }); + filePaths = filePaths.split(/(?:\r\n|\r|\n)/g); + + let fragmentDeclarations = []; + filePaths.forEach(filePath => { + if (filePath) { + const cwdRelativePath = path.join(__dirname, `../${filePath}`); + const fileContents = fs.readFileSync(cwdRelativePath, { encoding: 'utf8' }); + const fragmentMatcher = /\/\*\s*__GDPR__\b([^/]*)*\*\//mg; + let m; + while (m = fragmentMatcher.exec(fileContents)) { + fragmentDeclarations.push(m[1]); + } + } + }, this); + + const jsonString = `{ ${fragmentDeclarations.join(',')} }`; + return JSON.parse(jsonString); +} + +const referenceMatcher = /\${(.*)}/; +function getReferenceName(reference) { + const match = reference.match(referenceMatcher); + return match ? match[1] : null; +} + +function resolveIncludes(target, fragments) { + let includeClause = target['${include}']; + if (includeClause) { + let remainingIncludes = []; + for (let reference of includeClause) { + const referenceName = getReferenceName(reference); + if (referenceName) { + let fragment = fragments[referenceName]; + if (fragment) { + mergeFragment(target, fragment); + } else { + remainingIncludes.push(reference); + } + } + } + if (remainingIncludes.length === 0) { + delete target['${include}']; + } else { + target['${include}'] = remainingIncludes; + } + } + for (let p in target) { + if (target.hasOwnProperty(p) && typeof target[p] === 'object') { + resolveIncludes(target[p], fragments); + } + } + return target; +} + + +let fragments = getFragments(); +fragments = resolveIncludes(fragments, fragments); + +let commonProperties = getCommonProperties(); +let events = resolveIncludes(getEvents(), fragments); +events = addCommonProperties(events, commonProperties); +console.log(events); + diff --git a/scripts/gdpr.sh b/scripts/gdpr.sh deleted file mode 100644 index d6235822abbf8a..00000000000000 --- a/scripts/gdpr.sh +++ /dev/null @@ -1,3 +0,0 @@ -rg --no-line-number --regexp "//\s__GDPR__COMMON__(.*)\s*\$" --no-filename --no-heading - - From d1e4c64c5e1e2e5f264da33a14e08d4843676fc0 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Thu, 7 Sep 2017 11:49:38 -0700 Subject: [PATCH 06/39] fix GDPR value --- .../extensionManagement/node/extensionGalleryService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts index 56c720501a62c8..b366d44f9d2365 100644 --- a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts +++ b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts @@ -441,7 +441,7 @@ export class ExtensionGalleryService implements IExtensionGalleryService { const startTime = new Date().getTime(); /* __GDPR__ "galleryService:downloadVSIX" : { - "duration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth," }, + "duration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "${include}": [ "${GalleryExtensionTelemetryData}" ] From 0be84781c82b7a02a9659c24438771ad47110f47 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Thu, 7 Sep 2017 11:49:56 -0700 Subject: [PATCH 07/39] remove unused files --- GDPR-README.md | 130 ------------------------------------------- scripts/gdpr.js | 145 ------------------------------------------------ 2 files changed, 275 deletions(-) delete mode 100644 GDPR-README.md delete mode 100644 scripts/gdpr.js diff --git a/GDPR-README.md b/GDPR-README.md deleted file mode 100644 index a5078f1e9734dd..00000000000000 --- a/GDPR-README.md +++ /dev/null @@ -1,130 +0,0 @@ -Snippets defined for GDPR classification: - -```json -{ - "gdprCommonProperty": { - "prefix": "gdprcommon", - "body": [ - "// __GDPR__COMMON__ \"common.${1:propertyName}\" : { \"endPoint\": \"${2|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${3|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation|}\", \"purpose\": \"${4|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }\n" - ], - "description": "GDPR - declare a common property" - }, - "gdprProperty": { - "prefix": "gdprproperty", - "body": [ - "\"${1:propertyName}\": { \"endPoint\": \"${3|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${4|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation,PublicPersonalData,PublicNonPersonalData|}\", \"purpose\": \"${5|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }$2$0" - ], - "description": "GDPR - declare a property" - }, - "gdprInclude": { - "prefix": "gdprinclude", - "body": [ - "\"\\${include}\": [", - " \"\\${${1:FragmentName}}\"$0", - "]" - ], - "description": "GDPR - include fragments" - }, - "gdprIncludeFragment": { - "prefix": "gdprincludefragment", - "body": [ - "\"\\${${1:FragmentName}}\"$0" - ], - "description": "GDPR - include a fragment" - }, - "gdprEvent": { - "prefix": "gdprevent", - "body": [ - "/* __GDPR__", - " \"${1:eventName}\" : {", - " \"${2:propertyName}\" : { \"endPoint\": \"${4|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${5|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation,PublicPersonalData,PublicNonPersonalData|}\", \"purpose\": \"${6|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }$3$0", - " }", - " */\n" - ], - "description": "GDPR - declare an event" - }, - "gdprFragment": { - "prefix": "gdprinclude", - "body": [ - "/* __GDPR__FRAGMENT__", - " \"${1:fragmentName}\" : {", - " \"${2:propertyName}\" : { \"endPoint\": \"${4|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${5|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation,PublicPersonalData,PublicNonPersonalData|}\", \"purpose\": \"${6|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }$3$0", - " }", - " */\n" - ], - "description": "GDPR - declare a fragment" - } -} -``` - - -Keybindings defined for GDPR snippets: - -```json -[ - { - "key": "ctrl+9", - "command": "editor.action.insertSnippet", - "when": "editorTextFocus", - "args": { - "langId": "typescript", - "name": "gdprCommonProperty" - } - }, - { - "key": "ctrl+8 ctrl+8", - "command": "editor.action.insertSnippet", - "when": "editorTextFocus", - "args": { - "langId": "typescript", - "name": "gdprFragment" - } - }, - { - "key": "ctrl+0 ctrl+8", - "command": "editor.action.insertSnippet", - "when": "editorTextFocus", - "args": { - "langId": "typescript", - "name": "gdprInclude" - } - }, - { - "key": "ctrl+0 ctrl+7", - "command": "editor.action.insertSnippet", - "when": "editorTextFocus", - "args": { - "langId": "typescript", - "name": "gdprIncludeFragment" - } - }, - { - "key": "ctrl+0 ctrl+0", - "command": "editor.action.insertSnippet", - "when": "editorTextFocus", - "args": { - "langId": "typescript", - "name": "gdprEvent" - } - }, - { - "key": "ctrl+0 ctrl+9", - "command": "editor.action.insertSnippet", - "when": "editorTextFocus", - "args": { - "langId": "typescript", - "name": "gdprProperty" - } - }, - { - "key": "ctrl+8 ctrl+9", - "command": "editor.action.insertSnippet", - "when": "editorTextFocus", - "args": { - "langId": "typescript", - "name": "gdprProperty" - } - } -] - -``` \ No newline at end of file diff --git a/scripts/gdpr.js b/scripts/gdpr.js deleted file mode 100644 index 74e7c4588730fe..00000000000000 --- a/scripts/gdpr.js +++ /dev/null @@ -1,145 +0,0 @@ - -'use strict'; - -const path = require('path'); -const cp = require('child_process'); -const fs = require('fs'); - -const WORKSPACE_ROOT = path.join(__dirname, '..'); - - -function getCommonProperties() { - const cmd = `rg --files-with-matches --glob "*.ts" --regexp "//\\s*__GDPR__COMMON__"`; - let filePaths = cp.execSync(cmd, { cwd: WORKSPACE_ROOT, encoding: 'ascii' }); - filePaths = filePaths.split(/(?:\r\n|\r|\n)/g); - - let commonPropertyDeclarations = []; - filePaths.forEach(filePath => { - if (filePath) { - const cwdRelativePath = path.join(__dirname, `../${filePath}`); - const fileContents = fs.readFileSync(cwdRelativePath, { encoding: 'utf8' }); - const commonPropertyMatcher = /\/\/\s*__GDPR__COMMON__(.*)$/mg; - let m; - while (m = commonPropertyMatcher.exec(fileContents)) { - commonPropertyDeclarations.push(m[1]); - } - } - }, this); - - const jsonString = `{ ${commonPropertyDeclarations.join(',')} }`; - return JSON.parse(jsonString); -} - -function addCommonProperties(events, commonProperties) { - for (let e in events) { - if (events.hasOwnProperty(e)) { - let event = events[e]; - for (let p in commonProperties) { - event[p] = commonProperties[p]; - } - } - } - return events; -} - -function mergeFragment(target, source) { - for (let p in source) { - if (source.hasOwnProperty(p)) { - if (typeof target[p] === 'object' && typeof source[p] === 'object') { - mergeFragment(target[p], source[p]); - } else { - target[p] = source[p]; - } - } - } -} - -function getFragments() { - const cmd = `rg --files-with-matches --glob "*.ts" --regexp "/\*\\s*__GDPR__FRAGMENT__"`; - let filePaths = cp.execSync(cmd, { cwd: WORKSPACE_ROOT, encoding: 'ascii' }); - filePaths = filePaths.split(/(?:\r\n|\r|\n)/g); - - let fragmentDeclarations = {}; - filePaths.forEach(filePath => { - if (filePath) { - const cwdRelativePath = path.join(__dirname, `../${filePath}`); - const fileContents = fs.readFileSync(cwdRelativePath, { encoding: 'utf8' }); - const fragmentMatcher = /\/\*\s*__GDPR__FRAGMENT__([^/]*)*\*\//mg; - let m; - while (m = fragmentMatcher.exec(fileContents)) { - let jsonString = `{ ${m[1]} }`; - let fragment = JSON.parse(jsonString); - mergeFragment(fragmentDeclarations, fragment); - } - } - }, this); - - return fragmentDeclarations; -} - -function getEvents() { - const cmd = `rg --files-with-matches --glob "*.ts" --regexp "/\*\\s*__GDPR__\\b"`; - let filePaths = cp.execSync(cmd, { cwd: WORKSPACE_ROOT, encoding: 'ascii' }); - filePaths = filePaths.split(/(?:\r\n|\r|\n)/g); - - let fragmentDeclarations = []; - filePaths.forEach(filePath => { - if (filePath) { - const cwdRelativePath = path.join(__dirname, `../${filePath}`); - const fileContents = fs.readFileSync(cwdRelativePath, { encoding: 'utf8' }); - const fragmentMatcher = /\/\*\s*__GDPR__\b([^/]*)*\*\//mg; - let m; - while (m = fragmentMatcher.exec(fileContents)) { - fragmentDeclarations.push(m[1]); - } - } - }, this); - - const jsonString = `{ ${fragmentDeclarations.join(',')} }`; - return JSON.parse(jsonString); -} - -const referenceMatcher = /\${(.*)}/; -function getReferenceName(reference) { - const match = reference.match(referenceMatcher); - return match ? match[1] : null; -} - -function resolveIncludes(target, fragments) { - let includeClause = target['${include}']; - if (includeClause) { - let remainingIncludes = []; - for (let reference of includeClause) { - const referenceName = getReferenceName(reference); - if (referenceName) { - let fragment = fragments[referenceName]; - if (fragment) { - mergeFragment(target, fragment); - } else { - remainingIncludes.push(reference); - } - } - } - if (remainingIncludes.length === 0) { - delete target['${include}']; - } else { - target['${include}'] = remainingIncludes; - } - } - for (let p in target) { - if (target.hasOwnProperty(p) && typeof target[p] === 'object') { - resolveIncludes(target[p], fragments); - } - } - return target; -} - - -let fragments = getFragments(); -fragments = resolveIncludes(fragments, fragments); - -let commonProperties = getCommonProperties(); -let events = resolveIncludes(getEvents(), fragments); -events = addCommonProperties(events, commonProperties); -console.log(events); - From cc1255cf12c9051004422f91cf3cbe9dd5b0d35f Mon Sep 17 00:00:00 2001 From: kieferrm Date: Thu, 7 Sep 2017 19:18:33 -0700 Subject: [PATCH 08/39] more GDPR classification --- .../api/electron-browser/mainThreadEditors.ts | 10 ++++ .../mainThreadSaveParticipant.ts | 5 ++ src/vs/workbench/browser/composite.ts | 11 ++++ .../workbench/browser/parts/compositePart.ts | 6 +++ .../parts/editor/editorGroupsControl.ts | 3 ++ .../browser/parts/editor/editorPart.ts | 21 ++++++++ .../browser/parts/editor/titleControl.ts | 6 +++ .../parts/quickopen/quickOpenController.ts | 6 +++ .../browser/parts/statusbar/statusbarPart.ts | 6 +++ src/vs/workbench/common/actions.ts | 6 +++ src/vs/workbench/common/editor.ts | 18 +++++++ .../common/editor/resourceEditorInput.ts | 5 ++ .../common/editor/untitledEditorInput.ts | 5 ++ .../electron-browser/nodeCachedDataManager.ts | 13 +++++ src/vs/workbench/electron-browser/shell.ts | 32 ++++++++++++ src/vs/workbench/electron-browser/window.ts | 6 +++ .../parts/debug/browser/debugActionsWidget.ts | 11 ++++ .../debugEditorContribution.ts | 3 ++ .../debug/electron-browser/debugService.ts | 30 +++++++++++ .../debug/electron-browser/rawDebugSession.ts | 10 ++++ .../extensions/browser/extensionEditor.ts | 7 +++ .../electron-browser/extensionTipsService.ts | 52 ++++++++++++++++++- .../electron-browser/extensionsUtils.ts | 34 ++++++++++++ .../electron-browser/extensionsViews.ts | 15 ++++++ .../node/extensionsWorkbenchService.ts | 45 ++++++++++++++++ .../files/browser/views/explorerViewer.ts | 6 +++ .../files/browser/views/openEditorsViewer.ts | 6 +++ .../files/common/editors/fileEditorInput.ts | 5 ++ .../parts/markers/browser/markersPanel.ts | 5 ++ .../markers/browser/markersPanelActions.ts | 16 ++++++ .../preferences/browser/keybindingsEditor.ts | 7 +++ .../preferences/browser/preferencesEditor.ts | 6 +++ .../walkThrough/node/walkThroughInput.ts | 6 +++ .../services/timer/common/timerService.ts | 19 +++++++ 34 files changed, 441 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/api/electron-browser/mainThreadEditors.ts b/src/vs/workbench/api/electron-browser/mainThreadEditors.ts index dc966dd5cbfc4a..b27dcf1b64c85c 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadEditors.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadEditors.ts @@ -140,6 +140,11 @@ export class MainThreadEditors implements MainThreadEditorsShape { $tryShowEditor(id: string, position: EditorPosition): TPromise { // check how often this is used + /* __GDPR__ + "api.deprecated" : { + "function" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this._telemetryService.publicLog('api.deprecated', { function: 'TextEditor.show' }); let mainThreadEditor = this._documentsAndEditors.getEditor(id); @@ -155,6 +160,11 @@ export class MainThreadEditors implements MainThreadEditorsShape { $tryHideEditor(id: string): TPromise { // check how often this is used + /* __GDPR__ + "api.deprecated" : { + "function" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this._telemetryService.publicLog('api.deprecated', { function: 'TextEditor.hide' }); let mainThreadEditor = this._documentsAndEditors.getEditor(id); diff --git a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts index 3e4127cd39b961..577b4649acd1e9 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts @@ -266,6 +266,11 @@ export class SaveParticipant implements ISaveParticipant { }); return sequence(promiseFactory).then(() => { + /* __GDPR__ + "saveParticipantStats" : { + } + */ + // TODO: We need to move off dynamic property names as we can't declare them statically in the registry. this._telemetryService.publicLog('saveParticipantStats', stats); }); } diff --git a/src/vs/workbench/browser/composite.ts b/src/vs/workbench/browser/composite.ts index 0fba1254c671eb..8d2782a6ccdaaa 100644 --- a/src/vs/workbench/browser/composite.ts +++ b/src/vs/workbench/browser/composite.ts @@ -108,6 +108,11 @@ export abstract class Composite extends Component implements IComposite { // Only submit telemetry data when not running from an integration test if (this._telemetryService && this._telemetryService.publicLog) { const eventName: string = 'compositeOpen'; + /* __GDPR__ + "compositeOpen" : { + "composite" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this._telemetryService.publicLog(eventName, { composite: this.getId() }); } } @@ -121,6 +126,12 @@ export abstract class Composite extends Component implements IComposite { if (this._telemetryService && this._telemetryService.publicLog) { const eventName: string = 'compositeShown'; this._telemetryData.composite = this.getId(); + /* __GDPR__ + "compositeShown" : { + "timeSpent" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "composite": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this._telemetryService.publicLog(eventName, this._telemetryData); } } diff --git a/src/vs/workbench/browser/parts/compositePart.ts b/src/vs/workbench/browser/parts/compositePart.ts index 4c9a65800900ca..ff110ab1c7649b 100644 --- a/src/vs/workbench/browser/parts/compositePart.ts +++ b/src/vs/workbench/browser/parts/compositePart.ts @@ -309,6 +309,12 @@ export abstract class CompositePart extends Part { // Log in telemetry if (this.telemetryService) { + /* __GDPR__ + "workbenchActionExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: e.action.id, from: this.nameForTelemetry }); } }); diff --git a/src/vs/workbench/browser/parts/editor/editorGroupsControl.ts b/src/vs/workbench/browser/parts/editor/editorGroupsControl.ts index 46d5f7e644e352..bc6477e0c2f4b1 100644 --- a/src/vs/workbench/browser/parts/editor/editorGroupsControl.ts +++ b/src/vs/workbench/browser/parts/editor/editorGroupsControl.ts @@ -443,6 +443,9 @@ export class EditorGroupsControl extends Themable implements IEditorGroupsContro // Log this fact in telemetry if (this.telemetryService) { + /* __GDPR__ + "workbenchEditorMaximized" : {} + */ this.telemetryService.publicLog('workbenchEditorMaximized'); } diff --git a/src/vs/workbench/browser/parts/editor/editorPart.ts b/src/vs/workbench/browser/parts/editor/editorPart.ts index 8d53e32d0d0c22..56035c39b9aa94 100644 --- a/src/vs/workbench/browser/parts/editor/editorPart.ts +++ b/src/vs/workbench/browser/parts/editor/editorPart.ts @@ -166,6 +166,13 @@ export class EditorPart extends Part implements IEditorPart, IEditorGroupService this.revealIfOpen = editorConfig.revealIfOpen; + /* __GDPR__ + "workbenchEditorConfiguration" : { + "${include}": [ + "${IWorkbenchEditorConfiguration}" + ] + } + */ this.telemetryService.publicLog('workbenchEditorConfiguration', editorConfig); } else { this.tabOptions = { @@ -248,10 +255,24 @@ export class EditorPart extends Part implements IEditorPart, IEditorGroupService } private onEditorOpened(identifier: EditorIdentifier): void { + /* __GDPR__ + "editorOpened" : { + "${include}": [ + "${EditorTelemetryDescriptor}" + ] + } + */ this.telemetryService.publicLog('editorOpened', identifier.editor.getTelemetryDescriptor()); } private onEditorClosed(event: EditorCloseEvent): void { + /* __GDPR__ + "editorClosed" : { + "${include}": [ + "${EditorTelemetryDescriptor}" + ] + } + */ this.telemetryService.publicLog('editorClosed', event.editor.getTelemetryDescriptor()); } diff --git a/src/vs/workbench/browser/parts/editor/titleControl.ts b/src/vs/workbench/browser/parts/editor/titleControl.ts index 24f2303b131612..0f3c92d383460d 100644 --- a/src/vs/workbench/browser/parts/editor/titleControl.ts +++ b/src/vs/workbench/browser/parts/editor/titleControl.ts @@ -259,6 +259,12 @@ export abstract class TitleControl extends Themable implements ITitleAreaControl // Log in telemetry if (this.telemetryService) { + /* __GDPR__ + "workbenchActionExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: e.action.id, from: 'editorPart' }); } })); diff --git a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts index 10d32871c4b045..903b83c60114fd 100644 --- a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts +++ b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts @@ -552,6 +552,12 @@ export class QuickOpenController extends Component implements IQuickOpenService const registry = Registry.as(Extensions.Quickopen); const handlerDescriptor = registry.getQuickOpenHandler(prefix) || registry.getDefaultQuickOpenHandler(); + /* __GDPR__ + "quickOpenWidgetShown" : { + "mode" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "quickNavigate": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('quickOpenWidgetShown', { mode: handlerDescriptor.getId(), quickNavigate: quickNavigateConfiguration }); // Trigger onOpen diff --git a/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts b/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts index 1091ddda968785..3714236aa0a735 100644 --- a/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts +++ b/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts @@ -293,6 +293,12 @@ class StatusBarEntryItem implements IStatusbarItem { const action = this.instantiationService.createInstance(builtInActionDescriptor.syncDescriptor); if (action.enabled) { + /* __GDPR__ + "workbenchActionExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: action.id, from: 'status bar' }); (action.run() || TPromise.as(null)).done(() => { action.dispose(); diff --git a/src/vs/workbench/common/actions.ts b/src/vs/workbench/common/actions.ts index cc950f797bacec..24a43473a4b584 100644 --- a/src/vs/workbench/common/actions.ts +++ b/src/vs/workbench/common/actions.ts @@ -170,6 +170,12 @@ function triggerAndDisposeAction(instantitationService: IInstantiationService, t const from = args && args.from || 'keybinding'; if (telemetryService) { + /* __GDPR__ + "workbenchActionExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('workbenchActionExecuted', { id: actionInstance.id, from }); } diff --git a/src/vs/workbench/common/editor.ts b/src/vs/workbench/common/editor.ts index a058c6e902a202..9e4b4959580675 100644 --- a/src/vs/workbench/common/editor.ts +++ b/src/vs/workbench/common/editor.ts @@ -203,6 +203,11 @@ export abstract class EditorInput implements IEditorInput { * Subclasses should extend if they can contribute. */ public getTelemetryDescriptor(): object { + /* __GDPR__FRAGMENT__ + "EditorTelemetryDescriptor" : { + "typeId" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ return { typeId: this.getTypeId() }; } @@ -792,6 +797,19 @@ export const EditorOpenPositioning = { }; export interface IWorkbenchEditorConfiguration { + /* __GDPR__FRAGMENT__ + "IWorkbenchEditorConfiguration" : { + "showTabs" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "tabCloseButton": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "showIcons": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "enablePreview": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "enablePreviewFromQuickOpen": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "closeOnFileDelete": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "openPositioning": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "revealIfOpen": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "swipeToNavigate": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ workbench: { editor: { showTabs: boolean; diff --git a/src/vs/workbench/common/editor/resourceEditorInput.ts b/src/vs/workbench/common/editor/resourceEditorInput.ts index 3c33a6d16ecbd2..e77eff68f222eb 100644 --- a/src/vs/workbench/common/editor/resourceEditorInput.ts +++ b/src/vs/workbench/common/editor/resourceEditorInput.ts @@ -72,6 +72,11 @@ export class ResourceEditorInput extends EditorInput { const descriptor = super.getTelemetryDescriptor(); descriptor['resource'] = telemetryURIDescriptor(this.resource); + /* __GDPR__FRAGMENT__ + "EditorTelemetryDescriptor" : { + "resource": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ return descriptor; } diff --git a/src/vs/workbench/common/editor/untitledEditorInput.ts b/src/vs/workbench/common/editor/untitledEditorInput.ts index dac7180d617c11..a3f23f877c3246 100644 --- a/src/vs/workbench/common/editor/untitledEditorInput.ts +++ b/src/vs/workbench/common/editor/untitledEditorInput.ts @@ -254,6 +254,11 @@ export class UntitledEditorInput extends EditorInput implements IEncodingSupport const descriptor = super.getTelemetryDescriptor(); descriptor['resource'] = telemetryURIDescriptor(this.getResource()); + /* __GDPR__FRAGMENT__ + "EditorTelemetryDescriptor" : { + "resource": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ return descriptor; } diff --git a/src/vs/workbench/electron-browser/nodeCachedDataManager.ts b/src/vs/workbench/electron-browser/nodeCachedDataManager.ts index c21787e2e28004..e275bac0b75465 100644 --- a/src/vs/workbench/electron-browser/nodeCachedDataManager.ts +++ b/src/vs/workbench/electron-browser/nodeCachedDataManager.ts @@ -32,6 +32,12 @@ export class NodeCachedDataManager { // log each failure separately if (err) { + /* __GDPR__ + "cachedDataError" : { + "errorCode" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "path": { "endPoint": "none", "classification": "CustomerContent", "purpose": "PerformanceAndHealth" } + } + */ this._telemetryService.publicLog('cachedDataError', { errorCode: err.errorCode, path: basename(err.path) @@ -40,6 +46,13 @@ export class NodeCachedDataManager { } // log summary + /* __GDPR__ + "cachedDataInfo" : { + "didRequestCachedData" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "didRejectCachedData": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "didProduceCachedData": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ this._telemetryService.publicLog('cachedDataInfo', { didRequestCachedData: Boolean(global.require.getConfig().nodeCachedDataDir), didRejectCachedData, diff --git a/src/vs/workbench/electron-browser/shell.ts b/src/vs/workbench/electron-browser/shell.ts index fd99f05e00a49c..cf5cf8098cd3b7 100644 --- a/src/vs/workbench/electron-browser/shell.ts +++ b/src/vs/workbench/electron-browser/shell.ts @@ -199,6 +199,25 @@ export class WorkbenchShell { // Telemetry: workspace info const { filesToOpen, filesToCreate, filesToDiff } = this.configuration; + /* __GDPR__ + "workspaceLoad" : { + "userAgent" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowSize": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "emptyWorkbench": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToOpen": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToCreate": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToDiff": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "customKeybindingsCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "theme": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "language": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "BusinessInsight" }, + "experiments": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "BusinessInsight" }, + "pinnedViewlets": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "restoredViewlet": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "restoredEditors": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "pinnedViewlets": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "startupKind": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + } + */ this.telemetryService.publicLog('workspaceLoad', { userAgent: navigator.userAgent, windowSize: { innerHeight: window.innerHeight, innerWidth: window.innerWidth, outerHeight: window.outerHeight, outerWidth: window.outerWidth }, @@ -221,6 +240,13 @@ export class WorkbenchShell { this.timerService.restoreEditorsDuration = info.restoreEditorsDuration; this.timerService.restoreViewletDuration = info.restoreViewletDuration; this.extensionService.onReady().done(() => { + /* __GDPR__ + "startupTime" : { + "${include}": [ + "${IStartupMetrics}" + ] + } + */ this.telemetryService.publicLog('startupTime', this.timerService.startupMetrics); }); @@ -288,6 +314,12 @@ export class WorkbenchShell { const idleMonitor = new IdleMonitor(2 * 60 * 1000); // 2 minutes const listener = idleMonitor.onStatusChange(status => + /* __GDPR__ + "UserIdleStart" : {} + */ + /* __GDPR__ + "UserIdleStop" : {} + */ this.telemetryService.publicLog(status === UserStatus.Active ? TelemetryService.IDLE_STOP_EVENT_NAME : TelemetryService.IDLE_START_EVENT_NAME diff --git a/src/vs/workbench/electron-browser/window.ts b/src/vs/workbench/electron-browser/window.ts index 622cf14e8d33a3..0223d59c2d9c3b 100644 --- a/src/vs/workbench/electron-browser/window.ts +++ b/src/vs/workbench/electron-browser/window.ts @@ -145,6 +145,12 @@ export class ElectronWindow extends Themable { } this.commandService.executeCommand(request.id, ...args).done(_ => { + /* __GDPR__ + "commandExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('commandExecuted', { id: request.id, from: request.from }); }, err => { this.messageService.show(Severity.Error, err); diff --git a/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts b/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts index 78aefdb3d52927..3c1e657aa10af1 100644 --- a/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts +++ b/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts @@ -102,6 +102,12 @@ export class DebugActionsWidget extends Themable implements IWorkbenchContributi // log in telemetry if (this.telemetryService) { + /* __GDPR__ + "workbenchActionExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: e.action.id, from: 'debugActionsWidget' }); } })); @@ -141,6 +147,11 @@ export class DebugActionsWidget extends Themable implements IWorkbenchContributi private storePosition(): void { const position = parseFloat(this.$el.getComputedStyle().left) / window.innerWidth; this.storageService.store(DEBUG_ACTIONS_WIDGET_POSITION_KEY, position, StorageScope.WORKSPACE); + /* __GDPR__ + "debug.actionswidgetposition" : { + "position" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(DEBUG_ACTIONS_WIDGET_POSITION_KEY, { position }); } diff --git a/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts b/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts index bcb12909cf66ab..a8205753a6f83f 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts @@ -411,6 +411,9 @@ export class DebugEditorContribution implements IDebugEditorContribution { } public addLaunchConfiguration(): TPromise { + /* __GDPR__ + "debug/addLaunchConfiguration" : {} + */ this.telemetryService.publicLog('debug/addLaunchConfiguration'); let configurationsArrayPosition: Position; const model = this.editor.getModel(); diff --git a/src/vs/workbench/parts/debug/electron-browser/debugService.ts b/src/vs/workbench/parts/debug/electron-browser/debugService.ts index 2b53058eb9f326..58799a8b1af426 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugService.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugService.ts @@ -341,6 +341,7 @@ export class DebugService implements debug.IDebugService { // only log telemetry events from debug adapter if the adapter provided the telemetry key // and the user opted in telemetry if (session.customTelemetryService && this.telemetryService.isOptedIn) { + // TODO Need to move off dynamic event names or properties. They cannot be registered upfront. session.customTelemetryService.publicLog(event.body.output, event.body.data); } @@ -607,6 +608,9 @@ export class DebugService implements debug.IDebugService { } public addReplExpression(name: string): TPromise { + /* __GDPR__ + "debugService/addReplExpression" : {} + */ this.telemetryService.publicLog('debugService/addReplExpression'); return this.model.addReplExpression(this.viewModel.focusedProcess, this.viewModel.focusedStackFrame, name) // Evaluate all watch expressions and fetch variables again since repl evaluation might have changed some. @@ -909,6 +913,17 @@ export class DebugService implements debug.IDebugService { } this.updateStateAndEmit(session.getId(), debug.State.Running); + /* __GDPR__ + "debugSessionStart" : { + "type" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "breakpointCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "exceptionBreakpoints": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "watchExpressionsCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionName": { "endPoint": "none", "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, + "isBuiltin": { "endPoint": "none", "classification": "SystemMetaData", "purpose": ",FeatureInsight" }, + "launchJsonExists": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ return this.telemetryService.publicLog('debugSessionStart', { type: configuration.type, breakpointCount: this.model.getBreakpoints().length, @@ -925,6 +940,12 @@ export class DebugService implements debug.IDebugService { } const errorMessage = error instanceof Error ? error.message : error; + /* __GDPR__ + "debugMisconfiguration" : { + "type" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "error": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('debugMisconfiguration', { type: configuration ? configuration.type : undefined, error: errorMessage }); this.updateStateAndEmit(session.getId(), debug.State.Inactive); if (!session.disconnected) { @@ -1039,6 +1060,15 @@ export class DebugService implements debug.IDebugService { private onSessionEnd(session: RawDebugSession): void { const bpsExist = this.model.getBreakpoints().length > 0; const process = this.model.getProcesses().filter(p => p.getId() === session.getId()).pop(); + /* __GDPR__ + "debugSessionStop" : { + "type" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "success": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "sessionLengthInSeconds": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "breakpointCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "watchExpressionsCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('debugSessionStop', { type: process && process.configuration.type, success: session.emittedStopped || !bpsExist, diff --git a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts index 992f4a6d673bff..e0972aee21ec7d 100644 --- a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts +++ b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts @@ -164,8 +164,18 @@ export class RawDebugSession extends V8Protocol implements debug.ISession { const errorMessage = errorResponse ? errorResponse.message : ''; const telemetryMessage = error ? debug.formatPII(error.format, true, error.variables) : errorMessage; if (error && error.sendTelemetry) { + /* __GDPR__ + "debugProtocolErrorResponse" : { + "error" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('debugProtocolErrorResponse', { error: telemetryMessage }); if (this.customTelemetryService) { + /* __GDPR__ + "debugProtocolErrorResponse" : { + "error" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.customTelemetryService.publicLog('debugProtocolErrorResponse', { error: telemetryMessage }); } } diff --git a/src/vs/workbench/parts/extensions/browser/extensionEditor.ts b/src/vs/workbench/parts/extensions/browser/extensionEditor.ts index 16b88273dd35cc..ac9343e7034577 100644 --- a/src/vs/workbench/parts/extensions/browser/extensionEditor.ts +++ b/src/vs/workbench/parts/extensions/browser/extensionEditor.ts @@ -265,6 +265,13 @@ export class ExtensionEditor extends BaseEditor { this.transientDisposables = dispose(this.transientDisposables); + /* __GDPR__ + "extensionGallery:openExtension" : { + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ this.telemetryService.publicLog('extensionGallery:openExtension', extension.telemetryData); this.extensionReadme = new Cache(() => extension.getReadme()); diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts index d49a036b406700..2bb34cc14b2050 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts @@ -114,6 +114,12 @@ export class ExtensionTipsService implements IExtensionTipsService { const exeBased = distinct(this._exeBasedRecommendations); + /* __GDPR__ + "extensionRecommendations:unfiltered" : { + "fileBased" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "exeBased": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionRecommendations:unfiltered', { fileBased, exeBased }); return distinct([...fileBased, ...exeBased]); @@ -247,6 +253,12 @@ export class ExtensionTipsService implements IExtensionTipsService { this.choiceService.choose(Severity.Info, message, options, 2).done(choice => { switch (choice) { case 0: + /* __GDPR__ + "extensionRecommendations:popup" : { + "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionRecommendations:popup', { userReaction: 'show', extensionId: name }); return recommendationsAction.run(); case 1: this.importantRecommendationsIgnoreList.push(id); @@ -255,12 +267,30 @@ export class ExtensionTipsService implements IExtensionTipsService { JSON.stringify(this.importantRecommendationsIgnoreList), StorageScope.GLOBAL ); + /* __GDPR__ + "extensionRecommendations:popup" : { + "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionRecommendations:popup', { userReaction: 'neverShowAgain', extensionId: name }); return this.ignoreExtensionRecommendations(); case 2: + /* __GDPR__ + "extensionRecommendations:popup" : { + "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionRecommendations:popup', { userReaction: 'close', extensionId: name }); } }, () => { + /* __GDPR__ + "extensionRecommendations:popup" : { + "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionRecommendations:popup', { userReaction: 'cancelled', extensionId: name }); }); }); @@ -305,15 +335,35 @@ export class ExtensionTipsService implements IExtensionTipsService { this.choiceService.choose(Severity.Info, message, options, 2).done(choice => { switch (choice) { case 0: - this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'show' }); + /* __GDPR__ + "extensionRecommendations:popup" : { + "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ + this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'show' }); return action.run(); case 1: + /* __GDPR__ + "extensionRecommendations:popup" : { + "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'neverShowAgain' }); return this.storageService.store(storageKey, true, StorageScope.WORKSPACE); case 2: + /* __GDPR__ + "extensionRecommendations:popup" : { + "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'close' }); } }, () => { + /* __GDPR__ + "extensionRecommendations:popup" : { + "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'cancelled' }); }); }); diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts index bfd75970a59172..891ef659d922c3 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts @@ -72,6 +72,19 @@ export class KeymapExtensions implements IWorkbenchContribution { newKeymap: newKeymap.identifier, oldKeymaps: oldKeymaps.map(k => k.identifier) }; + /* __GDPR__FRAGMENT__ + "KeyMapsData" : { + "newKeymap" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "oldKeymaps": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ + /* __GDPR__ + "disableOtherKeymapsConfirmation" : { + "${include}": [ + "${KeyMapsData}" + ] + } + */ this.telemetryService.publicLog('disableOtherKeymapsConfirmation', telemetryData); const message = localize('disableOtherKeymapsConfirmation', "Disable other keymaps ({0}) to avoid conflicts between keybindings?", oldKeymaps.map(k => `'${k.local.manifest.displayName}'`).join(', ')); const options = [ @@ -82,6 +95,14 @@ export class KeymapExtensions implements IWorkbenchContribution { .then(value => { const confirmed = value === 0; telemetryData['confirmed'] = confirmed; + /* __GDPR__ + "disableOtherKeymaps" : { + "confirmed" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${keyMapsData}" + ] + } + */ this.telemetryService.publicLog('disableOtherKeymaps', telemetryData); if (confirmed) { return TPromise.join(oldKeymaps.map(keymap => { @@ -153,11 +174,19 @@ export class BetterMergeDisabled implements IWorkbenchContribution { extensionService.onReady().then(() => { if (storageService.getBoolean(BetterMergeDisabledNowKey, StorageScope.GLOBAL, false)) { storageService.remove(BetterMergeDisabledNowKey, StorageScope.GLOBAL); + /* __GDPR__ + "betterMergeDisabled" : {} + */ telemetryService.publicLog('betterMergeDisabled'); messageService.show(Severity.Info, { message: localize('betterMergeDisabled', "The Better Merge extension is now built-in, the installed extension was disabled and can be uninstalled."), actions: [ new Action('uninstall', localize('uninstall', "Uninstall"), null, true, () => { + /* __GDPR__ + "betterMergeUninstall" : { + "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('betterMergeUninstall', { outcome: 'uninstall', }); @@ -167,6 +196,11 @@ export class BetterMergeDisabled implements IWorkbenchContribution { }); }), new Action('later', localize('later', "Later"), null, true, () => { + /* __GDPR__ + "betterMergeUninstall" : { + "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('betterMergeUninstall', { outcome: 'later', }); diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts index d8fd1c8ec8f480..43e7b1101bdf44 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts @@ -315,6 +315,11 @@ export class ExtensionsListView extends ViewsViewletPanel { .filter(name => local.every(ext => `${ext.publisher}.${ext.name}` !== name)) .filter(name => name.toLowerCase().indexOf(value) > -1); + /* __GDPR__ + "extensionRecommendations:open" : { + "count" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionRecommendations:open', { count: names.length }); if (!names.length) { @@ -334,6 +339,11 @@ export class ExtensionsListView extends ViewsViewletPanel { return this.tipsService.getWorkspaceRecommendations() .then(recommendations => { const names = recommendations.filter(name => name.toLowerCase().indexOf(value) > -1); + /* __GDPR__ + "extensionWorkspaceRecommendations:open" : { + "count" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionWorkspaceRecommendations:open', { count: names.length }); if (!names.length) { @@ -349,6 +359,11 @@ export class ExtensionsListView extends ViewsViewletPanel { const value = query.value.replace(/@recommended:keymaps/g, '').trim().toLowerCase(); const names = this.tipsService.getKeymapRecommendations() .filter(name => name.toLowerCase().indexOf(value) > -1); + /* __GDPR__ + "extensionKeymapRecommendations:open" : { + "count" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionKeymapRecommendations:open', { count: names.length }); if (!names.length) { diff --git a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts index 39795d8e8a3ff1..3fbd5d0ce92e3b 100644 --- a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts +++ b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts @@ -418,6 +418,13 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { } open(extension: IExtension, sideByside: boolean = false): TPromise { + /* __GDPR__ + "extensionGallery:open" : { + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ this.telemetryService.publicLog('extensionGallery:open', extension.telemetryData); return this.editorService.openEditor(this.instantiationService.createInstance(ExtensionsInput, extension), null, sideByside); } @@ -527,6 +534,20 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { } return this.promptAndSetEnablement(extension, enable, workspace).then(reload => { + /* __GDPR__ + "extension:enabled" : { + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ + /* __GDPR__ + "extension:disable" : { + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ this.telemetryService.publicLog(enable ? 'extension:enable' : 'extension:disable', extension.telemetryData); }); } @@ -794,6 +815,30 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { const duration = new Date().getTime() - active.start.getTime(); const eventName = toTelemetryEventName(active.operation); + /* __GDPR__ + "extensionGallery:install" : { + "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ + /* __GDPR__ + "extensionGallery:update" : { + "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ + /* __GDPR__ + "extensionGallery:uninstall" : { + "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ this.telemetryService.publicLog(eventName, assign(data, { success: !errorcode, duration, errorcode })); } diff --git a/src/vs/workbench/parts/files/browser/views/explorerViewer.ts b/src/vs/workbench/parts/files/browser/views/explorerViewer.ts index a98fe094684a99..c4d5a48b5e45e0 100644 --- a/src/vs/workbench/parts/files/browser/views/explorerViewer.ts +++ b/src/vs/workbench/parts/files/browser/views/explorerViewer.ts @@ -537,6 +537,12 @@ export class FileController extends DefaultController { public openEditor(stat: FileStat, options: { preserveFocus: boolean; sideBySide: boolean; pinned: boolean; }): void { if (stat && !stat.isDirectory) { + /* __GDPR__ + "workbenchActionExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: 'workbench.files.openFile', from: 'explorer' }); this.editorService.openEditor({ resource: stat.resource, options }, options.sideBySide).done(null, errors.onUnexpectedError); diff --git a/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts b/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts index 67ec00f9bf7ac1..6f243b32a3bea9 100644 --- a/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts +++ b/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts @@ -273,6 +273,12 @@ export class Controller extends DefaultController { public openEditor(element: OpenEditor, options: { preserveFocus: boolean; pinned: boolean; sideBySide: boolean; }): void { if (element) { + /* __GDPR__ + "workbenchActionExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: 'workbench.files.openFile', from: 'openEditors' }); let position = this.model.positionOfGroup(element.editorGroup); if (options.sideBySide && position !== Position.THREE) { diff --git a/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts b/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts index d3930c9fcff64f..fdd06599dd5f7e 100644 --- a/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts +++ b/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts @@ -277,6 +277,11 @@ export class FileEditorInput extends EditorInput implements IFileEditorInput { const descriptor = super.getTelemetryDescriptor(); descriptor['resource'] = telemetryURIDescriptor(this.getResource()); + /* __GDPR__FRAGMENT__ + "EditorTelemetryDescriptor" : { + "resource": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ return descriptor; } diff --git a/src/vs/workbench/parts/markers/browser/markersPanel.ts b/src/vs/workbench/parts/markers/browser/markersPanel.ts index 6eeea5df06ee6b..789d16386a1992 100644 --- a/src/vs/workbench/parts/markers/browser/markersPanel.ts +++ b/src/vs/workbench/parts/markers/browser/markersPanel.ts @@ -148,6 +148,11 @@ export class MarkersPanel extends Panel { public openFileAtElement(element: any, preserveFocus: boolean, sideByside: boolean, pinned: boolean): boolean { if (element instanceof Marker) { const marker: Marker = element; + /* __GDPR__ + "problems.marker.opened" : { + "source" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('problems.marker.opened', { source: marker.marker.source }); this.editorService.openEditor({ resource: marker.resource, diff --git a/src/vs/workbench/parts/markers/browser/markersPanelActions.ts b/src/vs/workbench/parts/markers/browser/markersPanelActions.ts index fe2ce8c5d8f2d5..c5949b625d1a81 100644 --- a/src/vs/workbench/parts/markers/browser/markersPanelActions.ts +++ b/src/vs/workbench/parts/markers/browser/markersPanelActions.ts @@ -41,6 +41,9 @@ export class ToggleMarkersPanelAction extends TogglePanelAction { public run(): TPromise { let promise = super.run(); if (this.isPanelFocused()) { + /* __GDPR__ + "problems.used" : {} + */ this.telemetryService.publicLog('problems.used'); } return promise; @@ -63,6 +66,9 @@ export class ToggleErrorsAndWarningsAction extends TogglePanelAction { public run(): TPromise { let promise = super.run(); if (this.isPanelFocused()) { + /* __GDPR__ + "problems.used" : {} + */ this.telemetryService.publicLog('problems.used'); } return promise; @@ -77,6 +83,9 @@ export class CollapseAllAction extends TreeCollapseAction { } public run(context?: any): TPromise { + /* __GDPR__ + "problems.collapseAll.used" : {} + */ this.telemetryService.publicLog('problems.collapseAll.used'); return super.run(context); } @@ -132,6 +141,13 @@ export class FilterInputBoxActionItem extends BaseActionItem { data['errors'] = this.markersPanel.markersModel.filterOptions.filterErrors; data['warnings'] = this.markersPanel.markersModel.filterOptions.filterWarnings; data['infos'] = this.markersPanel.markersModel.filterOptions.filterInfos; + /* __GDPR__ + "problems.filter" : { + "errors" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "warnings": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "infos": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('problems.filter', data); } diff --git a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts index 895d2d310e46b8..9bfd1f87547362 100644 --- a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts @@ -521,6 +521,12 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor emptyFilters: this.getLatestEmptyFiltersForTelemetry() }; this.latestEmptyFilters = []; + // TODO need to move off dynamic properties as they cannot be statically registered + /* __GDPR__ + "keybindings.filter" : { + "emptyFilters" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('keybindings.filter', data); } } @@ -535,6 +541,7 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor } private reportKeybindingAction(action: string, command: string, keybinding: ResolvedKeybinding | string): void { + // TODO need to move off dynamic event names and properties as they cannot be registered statically this.telemetryService.publicLog(action, { command, keybinding: keybinding ? (typeof keybinding === 'string' ? keybinding : keybinding.getUserSettingsLabel()) : '' }); } diff --git a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts index efad32e7d9be28..c422d18cc848f7 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts @@ -323,6 +323,12 @@ export class PreferencesEditor extends BaseEditor { emptyFilters: this.getLatestEmptyFiltersForTelemetry() }; this.latestEmptyFilters = []; + // TODO need to move off dynamic properties as they cannot be statically be registered + /* __GDPR__ + "defaultSettings.filter" : { + "emptyFilters" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('defaultSettings.filter', data); } } diff --git a/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts b/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts index f99257555b6589..efb9f199365675 100644 --- a/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts +++ b/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts @@ -93,6 +93,12 @@ export class WalkThroughInput extends EditorInput { const descriptor = super.getTelemetryDescriptor(); descriptor['target'] = this.getTelemetryFrom(); descriptor['resource'] = telemetryURIDescriptor(this.options.resource); + /* __GDPR__FRAGMENT__ + "EditorTelemetryDescriptor" : { + "target" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "resource": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ return descriptor; } diff --git a/src/vs/workbench/services/timer/common/timerService.ts b/src/vs/workbench/services/timer/common/timerService.ts index a337b25bf2764a..f2a5554b3c2650 100644 --- a/src/vs/workbench/services/timer/common/timerService.ts +++ b/src/vs/workbench/services/timer/common/timerService.ts @@ -15,6 +15,25 @@ export interface IMemoryInfo { sharedBytes: number; } +/* __GDPR__FRAGMENT__ + "IStartupMetrics" : { + "version" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "ellapsed" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers2" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "platform" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "release" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "arch" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "totalmem" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "meminfo" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "cpus" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "initialStartup" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "hasAccessibilitySupport" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "isVMLikelyhood" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "emptyWorkbench" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "loadavg" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ export interface IStartupMetrics { version: number; ellapsed: number; From 370f1e7272638f1493e2094112521cd6ba0edcfc Mon Sep 17 00:00:00 2001 From: kieferrm Date: Thu, 7 Sep 2017 21:37:11 -0700 Subject: [PATCH 09/39] fix typo --- src/vs/workbench/electron-browser/shell.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/workbench/electron-browser/shell.ts b/src/vs/workbench/electron-browser/shell.ts index cf5cf8098cd3b7..78fcc3fd385581 100644 --- a/src/vs/workbench/electron-browser/shell.ts +++ b/src/vs/workbench/electron-browser/shell.ts @@ -215,7 +215,7 @@ export class WorkbenchShell { "restoredViewlet": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "restoredEditors": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "pinnedViewlets": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "startupKind": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "startupKind": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workspaceLoad', { From b059271642a11c741e1c965b8060fa82b54ca32d Mon Sep 17 00:00:00 2001 From: kieferrm Date: Thu, 7 Sep 2017 21:37:39 -0700 Subject: [PATCH 10/39] fix typo --- src/vs/workbench/parts/debug/electron-browser/debugService.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/parts/debug/electron-browser/debugService.ts b/src/vs/workbench/parts/debug/electron-browser/debugService.ts index 58799a8b1af426..442fd152a015b6 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugService.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugService.ts @@ -915,12 +915,12 @@ export class DebugService implements debug.IDebugService { /* __GDPR__ "debugSessionStart" : { - "type" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "type": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "breakpointCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "exceptionBreakpoints": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, "watchExpressionsCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "extensionName": { "endPoint": "none", "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, - "isBuiltin": { "endPoint": "none", "classification": "SystemMetaData", "purpose": ",FeatureInsight" }, + "isBuiltin": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "launchJsonExists": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ From d821c0840da3f2a414697bc8f09b81d5fa4f7dae Mon Sep 17 00:00:00 2001 From: kieferrm Date: Thu, 7 Sep 2017 21:38:07 -0700 Subject: [PATCH 11/39] fix typo --- .../parts/extensions/electron-browser/extensionsUtils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts index 891ef659d922c3..c40541152f8cde 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts @@ -99,7 +99,7 @@ export class KeymapExtensions implements IWorkbenchContribution { "disableOtherKeymaps" : { "confirmed" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "${include}": [ - "${keyMapsData}" + "${KeyMapsData}" ] } */ From ca8b4121837dd8e747f56329d2ee94fd66ba84e0 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Thu, 7 Sep 2017 21:40:57 -0700 Subject: [PATCH 12/39] more GDPR classification --- .../electron-browser/extensionService.ts | 14 ++++ .../electron-browser/keybindingService.ts | 10 +++ .../services/message/browser/messageList.ts | 6 ++ .../telemetry/common/workspaceStats.ts | 67 ++++++++++++++++++- .../textfile/common/textFileEditorModel.ts | 16 +++++ .../textfile/common/textFileService.ts | 14 ++++ .../services/textfile/common/textfiles.ts | 8 +++ .../electron-browser/workbenchThemeService.ts | 9 +++ 8 files changed, 143 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/services/extensions/electron-browser/extensionService.ts b/src/vs/workbench/services/extensions/electron-browser/extensionService.ts index e600bf32f97371..5d6e9ea57fbef7 100644 --- a/src/vs/workbench/services/extensions/electron-browser/extensionService.ts +++ b/src/vs/workbench/services/extensions/electron-browser/extensionService.ts @@ -300,6 +300,12 @@ export class ExtensionService implements IExtensionService { ...this._extensionEnablementService.getWorkspaceDisabledExtensions() ]; + /* __GDPR__ + "extensionsScanned" : { + "totalCount" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "disabledCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ this._telemetryService.publicLog('extensionsScanned', { totalCount: installedExtensions.length, disabledCount: disabledExtensions.length @@ -347,6 +353,14 @@ export class ExtensionService implements IExtensionService { if (!this._isDev && msg.extensionId) { const { type, extensionId, extensionPointId, message } = msg; + /* __GDPR__ + "extensionsMessage" : { + "type" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "extensionPointId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "message": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ this._telemetryService.publicLog('extensionsMessage', { type, extensionId, extensionPointId, message }); diff --git a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts index 0e599328bf583e..41db4494907b9e 100644 --- a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts +++ b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts @@ -318,6 +318,11 @@ export class WorkbenchKeybindingService extends AbstractKeybindingService { keybindingsTelemetry(telemetryService, this); let data = KeyboardMapperFactory.INSTANCE.getCurrentKeyboardLayout(); + /* __GDPR__ + "keyboardLayout" : { + "currentKeyboardLayout" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('keyboardLayout', { currentKeyboardLayout: data }); @@ -405,6 +410,11 @@ export class WorkbenchKeybindingService extends AbstractKeybindingService { if (!isFirstTime) { let cnt = extraUserKeybindings.length; + /* __GDPR__ + "customKeybindingsChanged" : { + "keyCount" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('customKeybindingsChanged', { keyCount: cnt }); diff --git a/src/vs/workbench/services/message/browser/messageList.ts b/src/vs/workbench/services/message/browser/messageList.ts index 154aca8ed0dc15..85e38aea40eccf 100644 --- a/src/vs/workbench/services/message/browser/messageList.ts +++ b/src/vs/workbench/services/message/browser/messageList.ts @@ -304,6 +304,12 @@ export class MessageList { DOM.EventHelper.stop(e, true); + /* __GDPR__ + "workbenchActionExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: action.id, from: 'message' }); (action.run() || TPromise.as(null)) diff --git a/src/vs/workbench/services/telemetry/common/workspaceStats.ts b/src/vs/workbench/services/telemetry/common/workspaceStats.ts index 55ed3e778ec3b0..b2648daa965df3 100644 --- a/src/vs/workbench/services/telemetry/common/workspaceStats.ts +++ b/src/vs/workbench/services/telemetry/common/workspaceStats.ts @@ -144,6 +144,34 @@ export class WorkspaceStats { return arr.some(v => v.search(regEx) > -1) || undefined; } + /* __GDPR__FRAGMENT__ + "WorkspaceTags" : { + "workbench.filesToOpen" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToCreate" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToDiff" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.roots" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.empty" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.grunt" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.gulp" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.jake" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.tsconfig" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.jsconfig" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.config.xml" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.vsc.extension" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.ASP5" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.sln" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.unity" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.npm" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.bower" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.yeoman.code.ext" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.cordova.high" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.cordova.low" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.xamarin.android" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.xamarin.ios" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.android.cpp" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workbench.reactNative" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" } + } + */ private getWorkspaceTags(configuration: IWindowConfiguration): TPromise { const tags: Tags = Object.create(null); @@ -245,6 +273,13 @@ export class WorkspaceStats { public reportWorkspaceTags(configuration: IWindowConfiguration): void { this.getWorkspaceTags(configuration).then((tags) => { + /* __GDPR__ + "workspace.tags" : { + "${include}": [ + "${WorkspaceTags}" + ] + } + */ this.telemetryService.publicLog('workspce.tags', tags); }, error => onUnexpectedError(error)); } @@ -261,6 +296,11 @@ export class WorkspaceStats { const set = domains.reduce((set, list) => list.reduce((set, item) => set.add(item), set), new Set()); const list: string[] = []; set.forEach(item => list.push(item)); + /* __GDPR__ + "workspace.remotes" : { + "domains" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workspace.remotes', { domains: list.sort() }); }, onUnexpectedError); } @@ -273,9 +313,21 @@ export class WorkspaceStats { content => getHashedRemotes(content.value), err => [] // ignore missing or binary file ); - })).then(hashedRemotes => this.telemetryService.publicLog('workspace.hashedRemotes', { remotes: hashedRemotes }), onUnexpectedError); + })).then(hashedRemotes => { + /* __GDPR__ + "workspace.hashedRemotes" : { + "remotes" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" } + } + */ + this.telemetryService.publicLog('workspace.hashedRemotes', { remotes: hashedRemotes }); + }, onUnexpectedError); } + /* __GDPR__FRAGMENT__ + "AzureTags" : { + "node" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ private reportAzureNode(workspaceUris: URI[], tags: Tags): TPromise { // TODO: should also work for `node_modules` folders several levels down const uris = workspaceUris.map(workspaceUri => { @@ -296,6 +348,12 @@ export class WorkspaceStats { }); } + + /* __GDPR__FRAGMENT__ + "AzureTags" : { + "java" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ private reportAzureJava(workspaceUris: URI[], tags: Tags): TPromise { return TPromise.join(workspaceUris.map(workspaceUri => { const path = workspaceUri.path; @@ -318,6 +376,13 @@ export class WorkspaceStats { return this.reportAzureJava(uris, tags); }).then((tags) => { if (Object.keys(tags).length) { + /* __GDPR__ + "workspace.azure" : { + "${include}": [ + "${AzureTags}" + ] + } + */ this.telemetryService.publicLog('workspace.azure', tags); } }).then(null, onUnexpectedError); diff --git a/src/vs/workbench/services/textfile/common/textFileEditorModel.ts b/src/vs/workbench/services/textfile/common/textFileEditorModel.ts index 6fbdcf7a435fd7..9bb53f432a02b3 100644 --- a/src/vs/workbench/services/textfile/common/textFileEditorModel.ts +++ b/src/vs/workbench/services/textfile/common/textFileEditorModel.ts @@ -367,6 +367,13 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil diag('load() - resolved content', this.resource, new Date()); // Telemetry + /* __GDPR__ + "fileGet" : { + "mimeType" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "ext": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "path": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('fileGet', { mimeType: guessMimeTypes(this.resource.fsPath).join(', '), ext: paths.extname(this.resource.fsPath), path: anonymize(this.resource.fsPath) }); // Update our resolved disk stat model @@ -698,8 +705,17 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil // Telemetry if (this.isSettingsFile()) { + /* __GDPR__ + "settingsWritten" : {} + */ this.telemetryService.publicLog('settingsWritten'); // Do not log write to user settings.json and .vscode folder as a filePUT event as it ruins our JSON usage data } else { + /* __GDPR__ + "filePUT" : { + "mimeType" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "ext": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('filePUT', { mimeType: guessMimeTypes(this.resource.fsPath).join(', '), ext: paths.extname(this.lastResolvedDiskStat.resource.fsPath) }); } diff --git a/src/vs/workbench/services/textfile/common/textFileService.ts b/src/vs/workbench/services/textfile/common/textFileService.ts index e754ef1bf389f6..f7640f6acfd122 100644 --- a/src/vs/workbench/services/textfile/common/textFileService.ts +++ b/src/vs/workbench/services/textfile/common/textFileService.ts @@ -87,6 +87,13 @@ export abstract class TextFileService implements ITextFileService { this.onConfigurationChange(configuration); + /* __GDPR__ + "autoSave" : { + "${include}": [ + "${IAutoSaveConfiguration}" + ] + } + */ this.telemetryService.publicLog('autoSave', this.getAutoSaveConfiguration()); this.registerListeners(); @@ -211,6 +218,13 @@ export abstract class TextFileService implements ITextFileService { } // Telemetry + /* __GDPR__ + "hotExit:triggered" : { + "reason" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "fileCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('hotExit:triggered', { reason, windowCount, fileCount: dirtyToBackup.length }); // Backup diff --git a/src/vs/workbench/services/textfile/common/textfiles.ts b/src/vs/workbench/services/textfile/common/textfiles.ts index fc5bb023221e9f..58e69f021fbd10 100644 --- a/src/vs/workbench/services/textfile/common/textfiles.ts +++ b/src/vs/workbench/services/textfile/common/textfiles.ts @@ -100,6 +100,14 @@ export interface IResult { success?: boolean; } +/* __GDPR__FRAGMENT__ + "IAutoSaveConfiguration" : { + "autoSaveDelay" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "autoSaveFocusChange": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "autoSaveApplicationChange": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ + export interface IAutoSaveConfiguration { autoSaveDelay: number; autoSaveFocusChange: boolean; diff --git a/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts b/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts index 41aae76275ddae..ce588294520c46 100644 --- a/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts +++ b/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts @@ -642,6 +642,15 @@ export class WorkbenchThemeService implements IWorkbenchThemeService { if (themeData) { let key = themeType + themeData.extensionId; if (!this.themeExtensionsActivated.get(key)) { + /* __GDPR__ + "activatePlugin" : { + "id" : { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "name": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "isBuiltin": { "endPoint": ",none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "publisherDisplayName": { "endPoint": "none", "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, + "themeId": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('activatePlugin', { id: themeData.extensionId, name: themeData.extensionName, From c28edb31e37fd647dce763f65ad7ce2a3133c03d Mon Sep 17 00:00:00 2001 From: kieferrm Date: Thu, 7 Sep 2017 22:24:53 -0700 Subject: [PATCH 13/39] more GDPR classification --- .../browser/preferencesRenderers.ts | 5 +++ .../preferences/browser/preferencesService.ts | 5 +++ .../quickopen/browser/commandsHandler.ts | 6 ++++ .../search/browser/openAnythingHandler.ts | 18 ++++++++++ .../search/browser/patternInputWidget.ts | 6 ++++ .../parts/search/browser/replaceService.ts | 3 ++ .../parts/search/browser/searchActions.ts | 6 ++++ .../parts/search/browser/searchViewlet.ts | 6 ++++ .../parts/search/common/searchModel.ts | 24 +++++++++++++ .../languageSurveys.contribution.ts | 4 +++ .../parts/tasks/common/taskSystem.ts | 10 ++++++ .../electron-browser/task.contribution.ts | 5 +++ .../electron-browser/terminalTaskSystem.ts | 14 ++++++++ .../parts/tasks/node/processTaskSystem.ts | 21 ++++++++++++ ...supportedWorkspaceSettings.contribution.ts | 12 +++++++ .../electron-browser/walkThroughPart.ts | 34 +++++++++++++++++++ .../walkThrough/node/walkThroughInput.ts | 14 ++++++++ .../electron-browser/contextmenuService.ts | 6 ++++ 18 files changed, 199 insertions(+) diff --git a/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts b/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts index afe4390953eac1..5fe824ea566f5c 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts @@ -108,6 +108,11 @@ export class UserSettingsRenderer extends Disposable implements IPreferencesRend } public updatePreference(key: string, value: any, source: ISetting): void { + /* __GDPR__ + "defaultSettingsActions.copySetting" : { + "userConfigurationKeys" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('defaultSettingsActions.copySetting', { userConfigurationKeys: [key] }); const overrideIdentifier = source.overrideOf ? overrideIdentifierFromKey(source.overrideOf.key) : null; const resource = this.preferencesModel.uri; diff --git a/src/vs/workbench/parts/preferences/browser/preferencesService.ts b/src/vs/workbench/parts/preferences/browser/preferencesService.ts index c975dfe62f8d8a..e86ff9e79b410e 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesService.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesService.ts @@ -223,6 +223,11 @@ export class PreferencesService extends Disposable implements IPreferencesServic } openGlobalKeybindingSettings(textual: boolean): TPromise { + /* __GDPR__ + "openKeybindings" : { + "textual" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('openKeybindings', { textual }); if (textual) { const emptyContents = '// ' + nls.localize('emptyKeybindingsHeader', "Place your key bindings in this file to overwrite the defaults") + '\n[\n]'; diff --git a/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts b/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts index fd7a60f1475049..050f508017292c 100644 --- a/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts +++ b/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts @@ -297,6 +297,12 @@ abstract class BaseCommandEntry extends QuickOpenEntryGroup { TPromise.timeout(50).done(() => { if (action && (!(action instanceof Action) || action.enabled)) { try { + /* __GDPR__ + "workbenchActionExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: action.id, from: 'quick open' }); (action.run() || TPromise.as(null)).done(() => { if (action instanceof Action) { diff --git a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts index 3eae07844b7cc2..5eb9fd1c02d34f 100644 --- a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts +++ b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts @@ -32,6 +32,16 @@ interface ISearchWithRange { range: IRange; } +/* __GDPR__FRAGMENT__ + "ITimerEventData" : { + "searchLength" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "unsortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "sortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "resultCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "symbols": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ interface ITimerEventData { searchLength: number; unsortedResultDuration: number; @@ -209,6 +219,14 @@ export class OpenAnythingHandler extends QuickOpenHandler { files: fileModel.stats, }); + /* __GDPR__ + "openAnything" : { + "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "${include}": [ + "${ITimerEventData}" + ] + } + */ this.telemetryService.publicLog('openAnything', objects.assign(data, { duration })); }); diff --git a/src/vs/workbench/parts/search/browser/patternInputWidget.ts b/src/vs/workbench/parts/search/browser/patternInputWidget.ts index 2f3509b593db15..08386257d11373 100644 --- a/src/vs/workbench/parts/search/browser/patternInputWidget.ts +++ b/src/vs/workbench/parts/search/browser/patternInputWidget.ts @@ -241,6 +241,9 @@ export class ExcludePatternInputWidget extends PatternInputWidget { title: nls.localize('useIgnoreFilesDescription', "Use Ignore Files"), isChecked: false, onChange: (viaKeyboard) => { + /* __GDPR__ + "search.useIgnoreFiles.toggled" : {} + */ this.telemetryService.publicLog('search.useIgnoreFiles.toggled'); this.onOptionChange(null); if (!viaKeyboard) { @@ -255,6 +258,9 @@ export class ExcludePatternInputWidget extends PatternInputWidget { title: nls.localize('useExcludeSettingsDescription', "Use Exclude Settings"), isChecked: false, onChange: (viaKeyboard) => { + /* __GDPR__ + "search.useExcludeSettings.toggled" : {} + */ this.telemetryService.publicLog('search.useExcludeSettings.toggled'); this.onOptionChange(null); if (!viaKeyboard) { diff --git a/src/vs/workbench/parts/search/browser/replaceService.ts b/src/vs/workbench/parts/search/browser/replaceService.ts index e4575c62f80f18..00449eed5e090f 100644 --- a/src/vs/workbench/parts/search/browser/replaceService.ts +++ b/src/vs/workbench/parts/search/browser/replaceService.ts @@ -137,6 +137,9 @@ export class ReplaceService implements IReplaceService { } public openReplacePreview(element: FileMatchOrMatch, preserveFocus?: boolean, sideBySide?: boolean, pinned?: boolean): TPromise { + /* __GDPR__ + "replace.open.previewEditor" : {} + */ this.telemetryService.publicLog('replace.open.previewEditor'); const fileMatch = element instanceof Match ? element.parent() : element; diff --git a/src/vs/workbench/parts/search/browser/searchActions.ts b/src/vs/workbench/parts/search/browser/searchActions.ts index 77af098c12ca7e..e841a394ecb2fd 100644 --- a/src/vs/workbench/parts/search/browser/searchActions.ts +++ b/src/vs/workbench/parts/search/browser/searchActions.ts @@ -549,6 +549,9 @@ export class ReplaceAllAction extends AbstractSearchAndReplaceAction { } public run(): TPromise { + /* __GDPR__ + "replaceAll.action.selected" : {} + */ this.telemetryService.publicLog('replaceAll.action.selected'); let nextFocusElement = this.getElementToFocusAfterRemoved(this.viewer, this.fileMatch); return this.fileMatch.parent().replace(this.fileMatch).then(() => { @@ -573,6 +576,9 @@ export class ReplaceAction extends AbstractSearchAndReplaceAction { public run(): TPromise { this.enabled = false; + /* __GDPR__ + "replace.action.selected" : {} + */ this.telemetryService.publicLog('replace.action.selected'); return this.element.parent().replace(this.element).then(() => { diff --git a/src/vs/workbench/parts/search/browser/searchViewlet.ts b/src/vs/workbench/parts/search/browser/searchViewlet.ts index 577a90f92ba7b2..e8500605299e21 100644 --- a/src/vs/workbench/parts/search/browser/searchViewlet.ts +++ b/src/vs/workbench/parts/search/browser/searchViewlet.ts @@ -853,6 +853,9 @@ export class SearchViewlet extends Viewlet { } public toggleQueryDetails(moveFocus?: boolean, show?: boolean, skipLayout?: boolean, reverse?: boolean): void { + /* __GDPR__ + "search.toggleQueryDetails" : {} + */ this.telemetryService.publicLog('search.toggleQueryDetails'); let cls = 'more'; @@ -1329,6 +1332,9 @@ export class SearchViewlet extends Viewlet { return TPromise.as(true); } + /* __GDPR__ + "searchResultChosen" : {} + */ this.telemetryService.publicLog('searchResultChosen'); return (this.viewModel.isReplaceActive() && !!this.viewModel.replaceString) ? diff --git a/src/vs/workbench/parts/search/common/searchModel.ts b/src/vs/workbench/parts/search/common/searchModel.ts index de3d6e7eee1b2f..eab71a0dbe39ef 100644 --- a/src/vs/workbench/parts/search/common/searchModel.ts +++ b/src/vs/workbench/parts/search/common/searchModel.ts @@ -568,6 +568,11 @@ export class SearchResult extends Disposable { const promise = this.replaceService.replace(this.matches(), progressRunner); const onDone = stopwatch(fromPromise(promise)); + /* __GDPR__ + "replaceAll.started" : { + "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ onDone(duration => this.telemetryService.publicLog('replaceAll.started', { duration })); return promise.then(() => { @@ -725,11 +730,21 @@ export class SearchModel extends Disposable { const progressEmitter = new Emitter(); const onFirstRender = any(onDone, progressEmitter.event); const onFirstRenderStopwatch = stopwatch(onFirstRender); + /* __GDPR__ + "searchResultsFirstRender" : { + "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ onFirstRenderStopwatch(duration => this.telemetryService.publicLog('searchResultsFirstRender', { duration })); const onDoneStopwatch = stopwatch(onDone); const start = Date.now(); + /* __GDPR__ + "searchResultsFinished" : { + "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ onDoneStopwatch(duration => this.telemetryService.publicLog('searchResultsFinished', { duration })); const currentRequest = this.currentRequest; @@ -754,6 +769,15 @@ export class SearchModel extends Disposable { } const options: IPatternInfo = objects.assign({}, this._searchQuery.contentPattern); delete options.pattern; + /* __GDPR__ + "searchresultsShown" : { + "count" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "fileCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "options": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "duration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "useRipgrep": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('searchResultsShown', { count: this._searchResult.count(), fileCount: this._searchResult.fileCount(), diff --git a/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts b/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts index 483374be65fa7f..f96e8a6110c721 100644 --- a/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts +++ b/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts @@ -88,6 +88,7 @@ class LanguageSurvey { const message = nls.localize('helpUs', "Help us improve our support for {0}", data.languageId); const takeSurveyAction = new Action('takeSurvey', nls.localize('takeShortSurvey', "Take Short Survey"), '', true, () => { + // GDPR_TODO need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/takeShortSurvey`); return telemetryService.getTelemetryInfo().then(info => { window.open(`${data.surveyUrl}?o=${encodeURIComponent(process.platform)}&v=${encodeURIComponent(pkg.version)}&m=${encodeURIComponent(info.machineId)}`); @@ -97,12 +98,14 @@ class LanguageSurvey { }); const remindMeLaterAction = new Action('later', nls.localize('remindLater', "Remind Me later"), '', true, () => { + // GDPR_TODO need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/remindMeLater`); storageService.store(SESSION_COUNT_KEY, sessionCount - 3, StorageScope.GLOBAL); return TPromise.as(null); }); const neverAgainAction = new Action('never', nls.localize('neverAgain', "Don't Show Again"), '', true, () => { + // GDPR_TODO need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/dontShowAgain`); storageService.store(IS_CANDIDATE_KEY, false, StorageScope.GLOBAL); storageService.store(SKIP_VERSION_KEY, pkg.version, StorageScope.GLOBAL); @@ -110,6 +113,7 @@ class LanguageSurvey { }); const actions = [neverAgainAction, remindMeLaterAction, takeSurveyAction]; + // GDPR_TODO need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/userAsked`); messageService.show(Severity.Info, { message, actions }); } diff --git a/src/vs/workbench/parts/tasks/common/taskSystem.ts b/src/vs/workbench/parts/tasks/common/taskSystem.ts index 50c34926ecfd21..5aabdd39d23f21 100644 --- a/src/vs/workbench/parts/tasks/common/taskSystem.ts +++ b/src/vs/workbench/parts/tasks/common/taskSystem.ts @@ -36,6 +36,16 @@ export class TaskError { } } +/* __GDPR__FRAGMENT__ + "TelemetryEvent" : { + "trigger" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "runner": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "taskKind": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "command": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "success": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "exitCode": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } +} + */ export interface TelemetryEvent { // How the task got trigger. Is either shortcut or command trigger: string; diff --git a/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts b/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts index 14abad75cd50be..0f10063fe1c4a9 100644 --- a/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts +++ b/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts @@ -1098,6 +1098,11 @@ class TaskService extends EventEmitter implements ITaskService { let event: TaskCustomizationTelementryEvent = { properties: properties ? Object.getOwnPropertyNames(properties) : [] }; + /* __GDPR__ + "taskService.customize" : { + "properties" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(TaskService.CustomizationTelemetryEventName, event); if (openConfig) { let resource = workspaceFolder.toResource('.vscode/tasks.json'); diff --git a/src/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.ts b/src/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.ts index 39b6e37ba07801..3cbf2b234e370b 100644 --- a/src/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.ts +++ b/src/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.ts @@ -410,6 +410,13 @@ export class TerminalTaskSystem extends EventEmitter implements ITaskSystem { success: true, exitCode: summary.exitCode }; + /* __GDPR__ + "taskService" : { + "${include}": [ + "${TelemetryEvent}" + ] + } + */ this.telemetryService.publicLog(TerminalTaskSystem.TelemetryEventName, telemetryEvent); } catch (error) { } @@ -423,6 +430,13 @@ export class TerminalTaskSystem extends EventEmitter implements ITaskSystem { command: this.getSanitizedCommand(executedCommand), success: false }; + /* __GDPR__ + "taskService" : { + "${include}": [ + "${TelemetryEvent}" + ] + } + */ this.telemetryService.publicLog(TerminalTaskSystem.TelemetryEventName, telemetryEvent); } catch (error) { } diff --git a/src/vs/workbench/parts/tasks/node/processTaskSystem.ts b/src/vs/workbench/parts/tasks/node/processTaskSystem.ts index 6074ce58b460a5..05ddc641bb441e 100644 --- a/src/vs/workbench/parts/tasks/node/processTaskSystem.ts +++ b/src/vs/workbench/parts/tasks/node/processTaskSystem.ts @@ -146,16 +146,37 @@ export class ProcessTaskSystem extends EventEmitter implements ITaskSystem { try { let result = this.doExecuteTask(task, telemetryEvent); result.promise = result.promise.then((success) => { + /* __GDPR__ + "taskService" : { + "${include}": [ + "${TelemetryEvent}" + ] + } + */ this.telemetryService.publicLog(ProcessTaskSystem.TelemetryEventName, telemetryEvent); return success; }, (err: any) => { telemetryEvent.success = false; + /* __GDPR__ + "taskService" : { + "${include}": [ + "${TelemetryEvent}" + ] + } + */ this.telemetryService.publicLog(ProcessTaskSystem.TelemetryEventName, telemetryEvent); return TPromise.wrapError(err); }); return result; } catch (err) { telemetryEvent.success = false; + /* __GDPR__ + "taskService" : { + "${include}": [ + "${TelemetryEvent}" + ] + } + */ this.telemetryService.publicLog(ProcessTaskSystem.TelemetryEventName, telemetryEvent); if (err instanceof TaskError) { throw err; diff --git a/src/vs/workbench/parts/trust/electron-browser/unsupportedWorkspaceSettings.contribution.ts b/src/vs/workbench/parts/trust/electron-browser/unsupportedWorkspaceSettings.contribution.ts index 8e68052288c594..f6741169902a71 100644 --- a/src/vs/workbench/parts/trust/electron-browser/unsupportedWorkspaceSettings.contribution.ts +++ b/src/vs/workbench/parts/trust/electron-browser/unsupportedWorkspaceSettings.contribution.ts @@ -70,12 +70,18 @@ class UnsupportedWorkspaceSettingsContribution implements IWorkbenchContribution const message = nls.localize('unsupportedWorkspaceSettings', 'This Workspace contains settings that can only be set in User Settings. ({0})', unsupportedKeys.join(', ')); const openWorkspaceSettings = new Action('unsupportedWorkspaceSettings.openWorkspaceSettings', nls.localize('openWorkspaceSettings', 'Open Workspace Settings'), '', true, () => { + /* __GDPR__ + "workspace.settings.unsupported.review" : {} + */ this.telemetryService.publicLog('workspace.settings.unsupported.review'); this.rememberWarningWasShown(); return this.preferencesService.openWorkspaceSettings(); }); const openDocumentation = new Action('unsupportedWorkspaceSettings.openDocumentation', nls.localize('openDocumentation', 'Learn More'), '', true, () => { + /* __GDPR__ + "workspace.settings.unsupported.documentation" : {} + */ this.telemetryService.publicLog('workspace.settings.unsupported.documentation'); this.rememberWarningWasShown(); window.open('https://go.microsoft.com/fwlink/?linkid=839878'); // Don't change link. @@ -83,6 +89,9 @@ class UnsupportedWorkspaceSettingsContribution implements IWorkbenchContribution }); const close = new Action('unsupportedWorkspaceSettings.Ignore', nls.localize('ignore', 'Ignore'), '', true, () => { + /* __GDPR__ + "workspace.settings.unsupported.ignore" : {} + */ this.telemetryService.publicLog('workspace.settings.unsupported.ignore'); this.rememberWarningWasShown(); return TPromise.as(true); @@ -90,6 +99,9 @@ class UnsupportedWorkspaceSettingsContribution implements IWorkbenchContribution const actions = [openWorkspaceSettings, openDocumentation, close]; this.messageService.show(Severity.Warning, { message, actions }); + /* __GDPR__ + "workspace.settings.unsupported.warning" : {} + */ this.telemetryService.publicLog('workspace.settings.unsupported.warning'); } } diff --git a/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts b/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts index 65d4be0580dfd6..64d860ee3faf19 100644 --- a/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts +++ b/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts @@ -178,6 +178,13 @@ export class WalkThroughPart extends BaseEditor { let baseElement = window.document.getElementsByTagName('base')[0] || window.location; if (baseElement && node.href.indexOf(baseElement.href) >= 0 && node.hash) { let scrollTarget = this.content.querySelector(node.hash); + /* __GDPR__ + "revealInDocument" : { + "hash" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "broken": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('revealInDocument', { hash: node.hash, broken: !scrollTarget, @@ -209,6 +216,12 @@ export class WalkThroughPart extends BaseEditor { private open(uri: URI) { if (uri.scheme === 'http' || uri.scheme === 'https') { + /* __GDPR__ + "openExternal" : { + "uri" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('openExternal', { uri: uri.toString(true), from: this.input instanceof WalkThroughInput ? this.input.getTelemetryFrom() : undefined @@ -389,6 +402,13 @@ export class WalkThroughPart extends BaseEditor { })); this.contentDisposables.push(once(editor.onMouseDown)(() => { + /* __GDPR__ + "walkThroughSnippetInteraction" : { + "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "type": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippet": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('walkThroughSnippetInteraction', { from: this.input instanceof WalkThroughInput ? this.input.getTelemetryFrom() : undefined, type: 'mouseDown', @@ -396,6 +416,13 @@ export class WalkThroughPart extends BaseEditor { }); })); this.contentDisposables.push(once(editor.onKeyDown)(() => { + /* __GDPR__ + "walkThroughSnippetInteraction" : { + "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "type": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippet": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('walkThroughSnippetInteraction', { from: this.input instanceof WalkThroughInput ? this.input.getTelemetryFrom() : undefined, type: 'keyDown', @@ -403,6 +430,13 @@ export class WalkThroughPart extends BaseEditor { }); })); this.contentDisposables.push(once(editor.onDidChangeModelContent)(() => { + /* __GDPR__ + "walkThroughSnippetInteraction" : { + "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "type": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippet": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('walkThroughSnippetInteraction', { from: this.input instanceof WalkThroughInput ? this.input.getTelemetryFrom() : undefined, type: 'changeModelContent', diff --git a/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts b/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts index efb9f199365675..442196b87d9c0b 100644 --- a/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts +++ b/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts @@ -171,6 +171,11 @@ export class WalkThroughInput extends EditorInput { private resolveTelemetry() { if (!this.resolveTime) { this.resolveTime = Date.now(); + /* __GDPR__ + "resolvingInput" : { + "target" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('resolvingInput', { target: this.getTelemetryFrom(), }); @@ -179,6 +184,15 @@ export class WalkThroughInput extends EditorInput { private disposeTelemetry(reason?: ShutdownReason) { if (this.resolveTime) { + /* __GDPR__ + "disposingInput" : { + "target" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "timeSpent": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "reason": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "maxTopScroll": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "maxBottomScroll": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('disposingInput', { target: this.getTelemetryFrom(), timeSpent: (Date.now() - this.resolveTime) / 60, diff --git a/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts b/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts index 463e224cfd4297..e07f1f8de97146 100644 --- a/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts +++ b/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts @@ -111,6 +111,12 @@ export class ContextMenuService implements IContextMenuService { } private runAction(actionRunner: IActionRunner, actionToRun: IAction, delegate: IContextMenuDelegate, event: IEvent): void { + /* __GDPR__ + "workbenchActionExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: actionToRun.id, from: 'contextMenu' }); const context = delegate.getActionsContext ? delegate.getActionsContext(event) : event; From 7ee4c75303b3081204161bf6c9d6cd7c016629f6 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Thu, 7 Sep 2017 22:32:13 -0700 Subject: [PATCH 14/39] correct typos --- src/vs/workbench/services/telemetry/common/workspaceStats.ts | 2 +- .../services/themes/electron-browser/workbenchThemeService.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/services/telemetry/common/workspaceStats.ts b/src/vs/workbench/services/telemetry/common/workspaceStats.ts index b2648daa965df3..b46121d40bffba 100644 --- a/src/vs/workbench/services/telemetry/common/workspaceStats.ts +++ b/src/vs/workbench/services/telemetry/common/workspaceStats.ts @@ -316,7 +316,7 @@ export class WorkspaceStats { })).then(hashedRemotes => { /* __GDPR__ "workspace.hashedRemotes" : { - "remotes" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" } + "remotes" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workspace.hashedRemotes', { remotes: hashedRemotes }); diff --git a/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts b/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts index ce588294520c46..059834c852f402 100644 --- a/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts +++ b/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts @@ -646,7 +646,7 @@ export class WorkbenchThemeService implements IWorkbenchThemeService { "activatePlugin" : { "id" : { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, "name": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "isBuiltin": { "endPoint": ",none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isBuiltin": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "publisherDisplayName": { "endPoint": "none", "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, "themeId": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } } From e1c04e573ff6b6139fb229eced8678617ebb63c1 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Thu, 7 Sep 2017 23:32:17 -0700 Subject: [PATCH 15/39] more GDPR classification --- .../quickopen/browser/quickOpenWidget.ts | 13 ++ src/vs/code/electron-main/windows.ts | 1 + .../editor/common/editorCommonExtensions.ts | 9 ++ .../telemetry/browser/errorTelemetry.ts | 1 + .../telemetry/common/telemetryService.ts | 5 + .../mainThreadSaveParticipant.ts | 2 +- .../electron-browser/mainThreadTelemetry.ts | 6 + src/vs/workbench/api/node/extHost.api.impl.ts | 19 +++ .../api/node/extHostExtensionService.ts | 7 ++ .../api/node/extHostLanguageFeatures.ts | 1 + .../workbench/api/node/extHostTextEditor.ts | 9 ++ .../browser/parts/editor/editorPart.ts | 5 + .../debug/electron-browser/debugService.ts | 2 +- .../electron-browser/extensionsUtils.ts | 9 +- .../preferences/browser/keybindingsEditor.ts | 4 +- .../preferences/browser/preferencesEditor.ts | 2 +- .../languageSurveys.contribution.ts | 8 +- .../page/electron-browser/welcomePage.ts | 114 ++++++++++++++++++ .../telemetry/common/workspaceStats.ts | 2 +- .../services/textfile/common/textfiles.ts | 1 - 20 files changed, 205 insertions(+), 15 deletions(-) diff --git a/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts b/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts index 63d07bf6c35a09..ed53520d887a4d 100644 --- a/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts +++ b/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts @@ -532,6 +532,13 @@ export class QuickOpenWidget implements IModelProvider { if (this.usageLogger) { const indexOfAcceptedElement = this.model.entries.indexOf(value); const entriesCount = this.model.entries.length; + /* __GDPR__ + "quickOpenWidgetItemAccepted" : { + "index" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "count": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isQuickNavigate": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.usageLogger.publicLog('quickOpenWidgetItemAccepted', { index: indexOfAcceptedElement, count: entriesCount, isQuickNavigate: this.quickNavigateConfiguration ? true : false }); } @@ -773,6 +780,12 @@ export class QuickOpenWidget implements IModelProvider { if (this.model) { const entriesCount = this.model.entries.filter(e => this.isElementVisible(this.model, e)).length; if (this.usageLogger) { + /* __GDPR__ + "quickOpenWidgetCancelled" : { + "count" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isQuickNavigate": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.usageLogger.publicLog('quickOpenWidgetCancelled', { count: entriesCount, isQuickNavigate: this.quickNavigateConfiguration ? true : false }); } } diff --git a/src/vs/code/electron-main/windows.ts b/src/vs/code/electron-main/windows.ts index 505bc50be4fd74..0f8575d31cd7e1 100644 --- a/src/vs/code/electron-main/windows.ts +++ b/src/vs/code/electron-main/windows.ts @@ -1572,6 +1572,7 @@ class FileDialog { // Telemetry if (options.telemetryEventName) { + // __GDPR__TODO this.telemetryService.publicLog(options.telemetryEventName, { ...options.telemetryExtraData, outcome: numberOfPaths ? 'success' : 'canceled', diff --git a/src/vs/editor/common/editorCommonExtensions.ts b/src/vs/editor/common/editorCommonExtensions.ts index 7fc3fda9ce2b2d..dad3900514b901 100644 --- a/src/vs/editor/common/editorCommonExtensions.ts +++ b/src/vs/editor/common/editorCommonExtensions.ts @@ -194,6 +194,15 @@ export abstract class EditorAction extends EditorCommand { } protected reportTelemetry(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor) { + /* __GDPR__ + "editorActionInvoked" : { + "name" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "id": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${EditorTelemetryData}" + ] + } + */ accessor.get(ITelemetryService).publicLog('editorActionInvoked', { name: this.label, id: this.id, ...editor.getTelemetryData() }); } diff --git a/src/vs/platform/telemetry/browser/errorTelemetry.ts b/src/vs/platform/telemetry/browser/errorTelemetry.ts index e21d4e5efd657b..58773296be7a15 100644 --- a/src/vs/platform/telemetry/browser/errorTelemetry.ts +++ b/src/vs/platform/telemetry/browser/errorTelemetry.ts @@ -153,6 +153,7 @@ export default class ErrorTelemetry { "column": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ + // GDPR__TODO more properties are missing this._telemetryService.publicLog('UnhandledError', error); } this._buffer.length = 0; diff --git a/src/vs/platform/telemetry/common/telemetryService.ts b/src/vs/platform/telemetry/common/telemetryService.ts index b452e7f8342c7f..f3d5a7b11a2325 100644 --- a/src/vs/platform/telemetry/common/telemetryService.ts +++ b/src/vs/platform/telemetry/common/telemetryService.ts @@ -65,6 +65,11 @@ export class TelemetryService implements ITelemetryService { if (this._configurationService) { this._updateUserOptIn(); this._configurationService.onDidUpdateConfiguration(this._updateUserOptIn, this, this._disposables); + /* __GDPR__ + "optInStatus" : { + "optIn" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "BusinessInsight" } + } + */ this.publicLog('optInStatus', { optIn: this._userOptIn }); } } diff --git a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts index 577b4649acd1e9..46710105847e19 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts @@ -270,7 +270,7 @@ export class SaveParticipant implements ISaveParticipant { "saveParticipantStats" : { } */ - // TODO: We need to move off dynamic property names as we can't declare them statically in the registry. + // GDPR__TODO: We need to move off dynamic property names as we can't declare them statically in the registry. this._telemetryService.publicLog('saveParticipantStats', stats); }); } diff --git a/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts b/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts index 31727b376256f8..9128720826c2fd 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts @@ -25,6 +25,12 @@ export class MainThreadTelemetry implements MainThreadTelemetryShape { } $publicLog(eventName: string, data: any = Object.create(null)): void { + /* __GDPR__FRAGMENT__ + "MainThreadData" : { + "pluginHostTelemetry" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ + data[MainThreadTelemetry._name] = true; this._telemetryService.publicLog(eventName, data); } diff --git a/src/vs/workbench/api/node/extHost.api.impl.ts b/src/vs/workbench/api/node/extHost.api.impl.ts index 90df60d5188d86..1ffa8bddc7c33c 100644 --- a/src/vs/workbench/api/node/extHost.api.impl.ts +++ b/src/vs/workbench/api/node/extHost.api.impl.ts @@ -145,6 +145,15 @@ export function createApiFactory( return undefined; } this._seen.add(apiName); + /* __GDPR__ + "apiUsage" : { + "name" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extension": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${MainThreadData}" + ] + } + */ return mainThreadTelemetry.$publicLog('apiUsage', { name: apiName, extension: extension.id @@ -494,6 +503,16 @@ export function createApiFactory( return extHostSCM.getLastInputBox(extension); }, createSourceControl(id: string, label: string, rootUri?: vscode.Uri) { + /* __GDPR__ + "registerSCMProvider" : { + "extensionId" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "providerId": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "providerLabel": { "endPoint": "none", "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, + "${include}": [ + "${MainThreadData}" + ] + } + */ mainThreadTelemetry.$publicLog('registerSCMProvider', { extensionId: extension.id, providerId: id, diff --git a/src/vs/workbench/api/node/extHostExtensionService.ts b/src/vs/workbench/api/node/extHostExtensionService.ts index d8ade5408f0528..dab3563615635b 100644 --- a/src/vs/workbench/api/node/extHostExtensionService.ts +++ b/src/vs/workbench/api/node/extHostExtensionService.ts @@ -281,6 +281,13 @@ export class ExtHostExtensionService implements ExtHostExtensionServiceShape { private _doActivateExtension(extensionDescription: IExtensionDescription, startup: boolean): TPromise { let event = getTelemetryActivationEvent(extensionDescription); + /* __GDPR__ + "activatePlugin" : { + "${include}": [ + "${TelemetryActivationEvent}" + ] + } + */ this._mainThreadTelemetry.$publicLog('activatePlugin', event); if (!extensionDescription.main) { // Treat the extension as being empty => NOT AN ERROR CASE diff --git a/src/vs/workbench/api/node/extHostLanguageFeatures.ts b/src/vs/workbench/api/node/extHostLanguageFeatures.ts index 9439c69b9b7b11..7a05149d9d238e 100644 --- a/src/vs/workbench/api/node/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/node/extHostLanguageFeatures.ts @@ -880,6 +880,7 @@ export class ExtHostLanguageFeatures implements ExtHostLanguageFeaturesShape { const handle = this._nextHandle(); this._adapter.set(handle, new HoverAdapter(this._documents, provider, once((name: string, data: any) => { data['extension'] = extensionId; + // GDPR__TODO this._telemetry.$publicLog(name, data); }))); this._proxy.$registerHoverProvider(handle, selector); diff --git a/src/vs/workbench/api/node/extHostTextEditor.ts b/src/vs/workbench/api/node/extHostTextEditor.ts index a3e9c45edae25b..af6d437a17d2f1 100644 --- a/src/vs/workbench/api/node/extHostTextEditor.ts +++ b/src/vs/workbench/api/node/extHostTextEditor.ts @@ -595,6 +595,15 @@ export class ExtHostTextEditor2 extends ExtHostTextEditor { for (const call of stackTrace) { const extension = index.findSubstr(call.getFileName()); if (extension) { + /* __GDPR__ + "usesCommandLink" : { + "extension" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${MainThreadData}" + ] + } + */ this._mainThreadTelemetry.$publicLog('usesCommandLink', { extension: extension.id, from: 'decoration', diff --git a/src/vs/workbench/browser/parts/editor/editorPart.ts b/src/vs/workbench/browser/parts/editor/editorPart.ts index 56035c39b9aa94..0ce8f44976c6be 100644 --- a/src/vs/workbench/browser/parts/editor/editorPart.ts +++ b/src/vs/workbench/browser/parts/editor/editorPart.ts @@ -340,6 +340,11 @@ export class EditorPart extends Part implements IEditorPart, IEditorGroupService // Opened to the side if (position !== Position.ONE) { + /* __GDPR__ + "workbenchSideEditorOpened" : { + "position" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchSideEditorOpened', { position: position }); } diff --git a/src/vs/workbench/parts/debug/electron-browser/debugService.ts b/src/vs/workbench/parts/debug/electron-browser/debugService.ts index 442fd152a015b6..b5a09da74ee495 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugService.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugService.ts @@ -341,7 +341,7 @@ export class DebugService implements debug.IDebugService { // only log telemetry events from debug adapter if the adapter provided the telemetry key // and the user opted in telemetry if (session.customTelemetryService && this.telemetryService.isOptedIn) { - // TODO Need to move off dynamic event names or properties. They cannot be registered upfront. + // GDPR__TODO Need to move off dynamic event names or properties. They cannot be registered upfront. session.customTelemetryService.publicLog(event.body.output, event.body.data); } diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts index c40541152f8cde..131b9e1202bfee 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts @@ -68,16 +68,17 @@ export class KeymapExtensions implements IWorkbenchContribution { } private promptForDisablingOtherKeymaps(newKeymap: IExtensionStatus, oldKeymaps: IExtensionStatus[]): TPromise { - const telemetryData: { [key: string]: any; } = { - newKeymap: newKeymap.identifier, - oldKeymaps: oldKeymaps.map(k => k.identifier) - }; /* __GDPR__FRAGMENT__ "KeyMapsData" : { "newKeymap" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "oldKeymaps": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ + const telemetryData: { [key: string]: any; } = { + newKeymap: newKeymap.identifier, + oldKeymaps: oldKeymaps.map(k => k.identifier) + }; + /* __GDPR__ "disableOtherKeymapsConfirmation" : { "${include}": [ diff --git a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts index 9bfd1f87547362..f819c86e4af2a9 100644 --- a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts @@ -521,9 +521,9 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor emptyFilters: this.getLatestEmptyFiltersForTelemetry() }; this.latestEmptyFilters = []; - // TODO need to move off dynamic properties as they cannot be statically registered /* __GDPR__ "keybindings.filter" : { + "filter": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } "emptyFilters" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ @@ -541,7 +541,7 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor } private reportKeybindingAction(action: string, command: string, keybinding: ResolvedKeybinding | string): void { - // TODO need to move off dynamic event names and properties as they cannot be registered statically + // GDPR__TODO need to move off dynamic event names and properties as they cannot be registered statically this.telemetryService.publicLog(action, { command, keybinding: keybinding ? (typeof keybinding === 'string' ? keybinding : keybinding.getUserSettingsLabel()) : '' }); } diff --git a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts index c422d18cc848f7..6a06717b19c89a 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts @@ -323,9 +323,9 @@ export class PreferencesEditor extends BaseEditor { emptyFilters: this.getLatestEmptyFiltersForTelemetry() }; this.latestEmptyFilters = []; - // TODO need to move off dynamic properties as they cannot be statically be registered /* __GDPR__ "defaultSettings.filter" : { + "filter": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } "emptyFilters" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ diff --git a/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts b/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts index f96e8a6110c721..e7d0ee6bc2f341 100644 --- a/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts +++ b/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts @@ -88,7 +88,7 @@ class LanguageSurvey { const message = nls.localize('helpUs', "Help us improve our support for {0}", data.languageId); const takeSurveyAction = new Action('takeSurvey', nls.localize('takeShortSurvey', "Take Short Survey"), '', true, () => { - // GDPR_TODO need to move away from dynamic event names as those cannot be registered statically + // __GDPR__TODO need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/takeShortSurvey`); return telemetryService.getTelemetryInfo().then(info => { window.open(`${data.surveyUrl}?o=${encodeURIComponent(process.platform)}&v=${encodeURIComponent(pkg.version)}&m=${encodeURIComponent(info.machineId)}`); @@ -98,14 +98,14 @@ class LanguageSurvey { }); const remindMeLaterAction = new Action('later', nls.localize('remindLater', "Remind Me later"), '', true, () => { - // GDPR_TODO need to move away from dynamic event names as those cannot be registered statically + // __GDPR__TODO need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/remindMeLater`); storageService.store(SESSION_COUNT_KEY, sessionCount - 3, StorageScope.GLOBAL); return TPromise.as(null); }); const neverAgainAction = new Action('never', nls.localize('neverAgain', "Don't Show Again"), '', true, () => { - // GDPR_TODO need to move away from dynamic event names as those cannot be registered statically + // __GDPR__TODO need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/dontShowAgain`); storageService.store(IS_CANDIDATE_KEY, false, StorageScope.GLOBAL); storageService.store(SKIP_VERSION_KEY, pkg.version, StorageScope.GLOBAL); @@ -113,7 +113,7 @@ class LanguageSurvey { }); const actions = [neverAgainAction, remindMeLaterAction, takeSurveyAction]; - // GDPR_TODO need to move away from dynamic event names as those cannot be registered statically + // __GDPR__TODO need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/userAsked`); messageService.show(Severity.Info, { message, actions }); } diff --git a/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts b/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts index 90336d7e2fff2a..ab87d7eaa7f9e6 100644 --- a/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts +++ b/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts @@ -148,6 +148,32 @@ interface Strings { extensionNotFound: string; } +/* __GDPR__ + "installExtension" : { + "${include}": [ + "${WelcomePageInstall-1}" + ] + } + */ +/* __GDPR__ + "installedExtension" : { + "${include}": [ + "${WelcomePageInstalled-1}", + "${WelcomePageInstalled-2}", + "${WelcomePageInstalled-3}", + "${WelcomePageInstalled-4}", + "${WelcomePageInstalled-5}", + "${WelcomePageInstalled-6}" + ] + } + */ +/* __GDPR__ + "detailsExtension" : { + "${include}": [ + "${WelcomePageDetails-1}" + ] + } + */ const extensionPackStrings: Strings = { installEvent: 'installExtension', installedEvent: 'installedExtension', @@ -159,6 +185,32 @@ const extensionPackStrings: Strings = { extensionNotFound: localize('welcomePage.extensionPackNotFound', "Support for {0} with id {1} could not be found."), }; +/* __GDPR__ + "installKeymap" : { + "${include}": [ + "${WelcomePageInstall-1}" + ] + } + */ +/* __GDPR__ + "installedKeymap" : { + "${include}": [ + "${WelcomePageInstalled-1}", + "${WelcomePageInstalled-2}", + "${WelcomePageInstalled-3}", + "${WelcomePageInstalled-4}", + "${WelcomePageInstalled-5}", + "${WelcomePageInstalled-6}" + ] + } + */ +/* __GDPR__ + "detailsKeymap" : { + "${include}": [ + "${WelcomePageDetails-1}" + ] + } + */ const keymapStrings: Strings = { installEvent: 'installKeymap', installedEvent: 'installedKeymap', @@ -271,6 +323,12 @@ class WelcomePage { a.setAttribute('aria-label', localize('welcomePage.openFolderWithPath', "Open folder {0} with path {1}", name, tildifiedParentFolder)); a.href = 'javascript:void(0)'; a.addEventListener('click', e => { + /* __GDPR__ + "workbenchActionExecuted" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: 'openRecentFolder', from: telemetryFrom @@ -350,6 +408,12 @@ class WelcomePage { } private installExtension(extensionSuggestion: ExtensionSuggestion, strings: Strings): void { + /* __GDPR__FRAGMENT__ + "WelcomePageInstall-1" : { + "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionsId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(strings.installEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -357,6 +421,13 @@ class WelcomePage { this.instantiationService.invokeFunction(getInstalledExtensions).then(extensions => { const installedExtension = arrays.first(extensions, extension => extension.identifier === extensionSuggestion.id); if (installedExtension && installedExtension.globallyEnabled) { + /* __GDPR__FRAGMENT__ + "WelcomePageInstalled-1" : { + "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(strings.installedEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -399,6 +470,13 @@ class WelcomePage { if (found) { return this.extensionEnablementService.setEnablement(extensionSuggestion.id, true) .then(() => { + /* __GDPR__FRAGMENT__ + "WelcomePageInstalled-2" : { + "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(strings.installedEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -407,6 +485,13 @@ class WelcomePage { return this.windowService.reloadWindow(); }); } else { + /* __GDPR__FRAGMENT__ + "WelcomePageInstalled-3" : { + "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(strings.installedEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -417,6 +502,14 @@ class WelcomePage { } }); }).then(null, err => { + /* __GDPR__FRAGMENT__ + "WelcomePageInstalled-4" : { + "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "error": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ this.telemetryService.publicLog(strings.installedEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -428,6 +521,12 @@ class WelcomePage { return TPromise.as(true); }), new Action('details', localize('details', "Details"), null, true, () => { + /* __GDPR__FRAGMENT__ + "WelcomePageDetails-1" : { + "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(strings.detailsEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -438,6 +537,13 @@ class WelcomePage { return TPromise.as(false); }), new Action('cancel', localize('cancel', "Cancel"), null, true, () => { + /* __GDPR__FRAGMENT__ + "WelcomePageInstalled-5" : { + "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(strings.installedEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -448,6 +554,14 @@ class WelcomePage { ] }); }).then(null, err => { + /* __GDPR__FRAGMENT__ + "WelcomePageInstalled-6" : { + "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "error": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ this.telemetryService.publicLog(strings.installedEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, diff --git a/src/vs/workbench/services/telemetry/common/workspaceStats.ts b/src/vs/workbench/services/telemetry/common/workspaceStats.ts index b46121d40bffba..268d94b579c436 100644 --- a/src/vs/workbench/services/telemetry/common/workspaceStats.ts +++ b/src/vs/workbench/services/telemetry/common/workspaceStats.ts @@ -274,7 +274,7 @@ export class WorkspaceStats { public reportWorkspaceTags(configuration: IWindowConfiguration): void { this.getWorkspaceTags(configuration).then((tags) => { /* __GDPR__ - "workspace.tags" : { + "workspce.tags" : { "${include}": [ "${WorkspaceTags}" ] diff --git a/src/vs/workbench/services/textfile/common/textfiles.ts b/src/vs/workbench/services/textfile/common/textfiles.ts index 58e69f021fbd10..1240afbfa83f88 100644 --- a/src/vs/workbench/services/textfile/common/textfiles.ts +++ b/src/vs/workbench/services/textfile/common/textfiles.ts @@ -107,7 +107,6 @@ export interface IResult { "autoSaveApplicationChange": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ - export interface IAutoSaveConfiguration { autoSaveDelay: number; autoSaveFocusChange: boolean; From fb2da692b93f3ed5d3627f94835e9186d8ba0171 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Thu, 7 Sep 2017 23:34:49 -0700 Subject: [PATCH 16/39] correct typos --- src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts | 2 +- src/vs/workbench/parts/preferences/browser/preferencesEditor.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts index f819c86e4af2a9..7e905668e616ca 100644 --- a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts @@ -523,7 +523,7 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor this.latestEmptyFilters = []; /* __GDPR__ "keybindings.filter" : { - "filter": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } + "filter": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, "emptyFilters" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ diff --git a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts index 6a06717b19c89a..88f34ac6d75d78 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts @@ -325,7 +325,7 @@ export class PreferencesEditor extends BaseEditor { this.latestEmptyFilters = []; /* __GDPR__ "defaultSettings.filter" : { - "filter": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "filter": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "emptyFilters" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ From 4f873b7998218b92a8a2f0b97d377c517550d5e3 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Thu, 7 Sep 2017 23:45:37 -0700 Subject: [PATCH 17/39] correct property names --- .../telemetry/common/workspaceStats.ts | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/vs/workbench/services/telemetry/common/workspaceStats.ts b/src/vs/workbench/services/telemetry/common/workspaceStats.ts index 268d94b579c436..0b71ede8e632bd 100644 --- a/src/vs/workbench/services/telemetry/common/workspaceStats.ts +++ b/src/vs/workbench/services/telemetry/common/workspaceStats.ts @@ -149,27 +149,27 @@ export class WorkspaceStats { "workbench.filesToOpen" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "workbench.filesToCreate" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "workbench.filesToDiff" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workbench.roots" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.empty" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.grunt" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.gulp" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.jake" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.tsconfig" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.jsconfig" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.config.xml" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.vsc.extension" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.ASP5" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.sln" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.unity" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.npm" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.bower" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.yeoman.code.ext" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.cordova.high" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.cordova.low" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.xamarin.android" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.xamarin.ios" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.android.cpp" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workbench.reactNative" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" } + "workspace.roots" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.empty" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.grunt" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.gulp" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.jake" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.tsconfig" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.jsconfig" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.config.xml" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.vsc.extension" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.ASP5" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.sln" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.unity" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.npm" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.bower" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.yeoman.code.ext" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.cordova.high" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.cordova.low" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.xamarin.android" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.xamarin.ios" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.android.cpp" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, + "workspace.reactNative" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" } } */ private getWorkspaceTags(configuration: IWindowConfiguration): TPromise { From d54487ecdfd820beeb4966d3114e6bb4b9a831cd Mon Sep 17 00:00:00 2001 From: kieferrm Date: Thu, 7 Sep 2017 23:57:30 -0700 Subject: [PATCH 18/39] replace invalid value --- .../telemetry/common/workspaceStats.ts | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/vs/workbench/services/telemetry/common/workspaceStats.ts b/src/vs/workbench/services/telemetry/common/workspaceStats.ts index 0b71ede8e632bd..7b496c739868b7 100644 --- a/src/vs/workbench/services/telemetry/common/workspaceStats.ts +++ b/src/vs/workbench/services/telemetry/common/workspaceStats.ts @@ -149,27 +149,27 @@ export class WorkspaceStats { "workbench.filesToOpen" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "workbench.filesToCreate" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "workbench.filesToDiff" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workspace.roots" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.empty" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.grunt" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.gulp" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.jake" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.tsconfig" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.jsconfig" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.config.xml" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.vsc.extension" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.ASP5" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.sln" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.unity" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.npm" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.bower" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.yeoman.code.ext" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.cordova.high" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.cordova.low" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.xamarin.android" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.xamarin.ios" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.android.cpp" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" }, - "workspace.reactNative" : { "endPoint": "none", "classification": "CustomerData", "purpose": "FeatureInsight" } + "workspace.roots" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.empty" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.grunt" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.gulp" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.jake" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.tsconfig" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.jsconfig" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.config.xml" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.vsc.extension" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.ASP5" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.sln" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.unity" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.npm" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.bower" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.yeoman.code.ext" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.cordova.high" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.cordova.low" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.xamarin.android" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.xamarin.ios" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.android.cpp" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.reactNative" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } } */ private getWorkspaceTags(configuration: IWindowConfiguration): TPromise { From fcd85f43ca3395f723d0f25b6dba8c5d94a08976 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Sat, 9 Sep 2017 00:22:36 -0700 Subject: [PATCH 19/39] inline values --- src/typings/native-keymap.d.ts | 22 +++++++++++ .../base/parts/quickopen/common/quickOpen.ts | 5 +++ src/vs/editor/common/commonCodeEditor.ts | 3 ++ src/vs/platform/search/common/search.ts | 11 +++++- .../platform/telemetry/common/experiments.ts | 5 +++ .../telemetry/common/telemetryUtils.ts | 7 ++++ .../api/node/extHostExtensionService.ts | 15 ++++++++ .../parts/quickopen/quickOpenController.ts | 2 +- .../common/editor/resourceEditorInput.ts | 2 +- .../common/editor/untitledEditorInput.ts | 2 +- src/vs/workbench/electron-browser/shell.ts | 7 +++- .../files/common/editors/fileEditorInput.ts | 2 +- .../search/browser/openAnythingHandler.ts | 38 ++++++++++++++++++- .../parts/search/common/searchModel.ts | 2 +- .../page/electron-browser/welcomePage.ts | 2 +- .../electron-browser/walkThroughPart.ts | 6 +++ .../walkThrough/node/walkThroughInput.ts | 2 +- .../electron-browser/keybindingService.ts | 2 +- .../services/timer/common/timerService.ts | 26 +++++++++++-- 19 files changed, 145 insertions(+), 16 deletions(-) diff --git a/src/typings/native-keymap.d.ts b/src/typings/native-keymap.d.ts index 092191dd759735..7671a421ac54b5 100644 --- a/src/typings/native-keymap.d.ts +++ b/src/typings/native-keymap.d.ts @@ -42,12 +42,28 @@ declare module 'native-keymap' { export function getKeyMap(): IKeyboardMapping; + /* __GDPR__FRAGMENT__ + "IKeyboardLayoutInfo" : { + "name" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "id": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "text": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ export interface IWindowsKeyboardLayoutInfo { name: string; id: string; text: string; } + /* __GDPR__FRAGMENT__ + "IKeyboardLayoutInfo" : { + "model" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "layout": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "variant": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "options": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "rules": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ export interface ILinuxKeyboardLayoutInfo { model: string; layout: string; @@ -56,6 +72,12 @@ declare module 'native-keymap' { rules: string; } + /* __GDPR__FRAGMENT__ + "IKeyboardLayoutInfo" : { + "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "lang": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ export interface IMacKeyboardLayoutInfo { id: string; lang: string; diff --git a/src/vs/base/parts/quickopen/common/quickOpen.ts b/src/vs/base/parts/quickopen/common/quickOpen.ts index 2d16a04306089d..8850a153307aa2 100644 --- a/src/vs/base/parts/quickopen/common/quickOpen.ts +++ b/src/vs/base/parts/quickopen/common/quickOpen.ts @@ -6,6 +6,11 @@ import { ResolvedKeybinding } from 'vs/base/common/keyCodes'; +/* __GDPR__FRAGMENT__ + "IQuickNavigateConfiguration" : { + "keybindings" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ export interface IQuickNavigateConfiguration { keybindings: ResolvedKeybinding[]; } diff --git a/src/vs/editor/common/commonCodeEditor.ts b/src/vs/editor/common/commonCodeEditor.ts index 56a286d4baf93d..8e8f3d966c7ec1 100644 --- a/src/vs/editor/common/commonCodeEditor.ts +++ b/src/vs/editor/common/commonCodeEditor.ts @@ -1004,6 +1004,9 @@ export abstract class CommonCodeEditor extends Disposable implements editorCommo protected abstract _removeDecorationType(key: string): void; protected abstract _resolveDecorationOptions(typeKey: string, writable: boolean): editorCommon.IModelDecorationOptions; + /* __GDPR__FRAGMENT__ + "EditorTelemetryData" : {} + */ public getTelemetryData(): { [key: string]: any; } { return null; } diff --git a/src/vs/platform/search/common/search.ts b/src/vs/platform/search/common/search.ts index ab315d50f0fe31..0c56bae5e399b3 100644 --- a/src/vs/platform/search/common/search.ts +++ b/src/vs/platform/search/common/search.ts @@ -70,7 +70,16 @@ export enum QueryType { File = 1, Text = 2 } - +/* __GDPR__FRAGMENT__ + "IPatternInfo" : { + "pattern" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "isRegExp": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isWordMatch": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "wordSeparators": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isMultiline": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isCaseSensitive": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ export interface IPatternInfo { pattern: string; isRegExp?: boolean; diff --git a/src/vs/platform/telemetry/common/experiments.ts b/src/vs/platform/telemetry/common/experiments.ts index 6911c881760600..710c0d2a179515 100644 --- a/src/vs/platform/telemetry/common/experiments.ts +++ b/src/vs/platform/telemetry/common/experiments.ts @@ -8,6 +8,11 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur import { IStorageService } from 'vs/platform/storage/common/storage'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; +/* __GDPR__FRAGMENT__ + "IExperiments" : { + "deployToAzureQuickLink" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ export interface IExperiments { ripgrepQuickSearch: boolean; } diff --git a/src/vs/platform/telemetry/common/telemetryUtils.ts b/src/vs/platform/telemetry/common/telemetryUtils.ts index 6433371917694b..7e78904491d4cb 100644 --- a/src/vs/platform/telemetry/common/telemetryUtils.ts +++ b/src/vs/platform/telemetry/common/telemetryUtils.ts @@ -66,6 +66,13 @@ export function anonymize(input: string): string { return r; } +/* __GDPR__FRAGMENT__ + "URIDescriptor" : { + "mimeType" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "ext": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "path": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } + } + */ export interface URIDescriptor { mimeType?: string; ext?: string; diff --git a/src/vs/workbench/api/node/extHostExtensionService.ts b/src/vs/workbench/api/node/extHostExtensionService.ts index dab3563615635b..e9dc303323ca67 100644 --- a/src/vs/workbench/api/node/extHostExtensionService.ts +++ b/src/vs/workbench/api/node/extHostExtensionService.ts @@ -387,6 +387,21 @@ function loadCommonJSModule(modulePath: string, activationTimesBuilder: Exten } function getTelemetryActivationEvent(extensionDescription: IExtensionDescription): any { + /* __GDPR__FRAGMENT__ + "TelemetryActivationEvent" : { + "id": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "name": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "publisherDisplayName": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "activationEvents": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isBuiltin": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${wildcard}": [ + { + "${prefix}": "contribution.", + "${property}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + ] + } + */ let event = { id: extensionDescription.id, name: extensionDescription.name, diff --git a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts index 903b83c60114fd..aa65a85917f3cf 100644 --- a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts +++ b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts @@ -555,7 +555,7 @@ export class QuickOpenController extends Component implements IQuickOpenService /* __GDPR__ "quickOpenWidgetShown" : { "mode" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "quickNavigate": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "quickNavigate": { "${inline}": [ "${IQuickNavigateConfiguration}" ] } } */ this.telemetryService.publicLog('quickOpenWidgetShown', { mode: handlerDescriptor.getId(), quickNavigate: quickNavigateConfiguration }); diff --git a/src/vs/workbench/common/editor/resourceEditorInput.ts b/src/vs/workbench/common/editor/resourceEditorInput.ts index e77eff68f222eb..6c20c0296d864c 100644 --- a/src/vs/workbench/common/editor/resourceEditorInput.ts +++ b/src/vs/workbench/common/editor/resourceEditorInput.ts @@ -74,7 +74,7 @@ export class ResourceEditorInput extends EditorInput { /* __GDPR__FRAGMENT__ "EditorTelemetryDescriptor" : { - "resource": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "resource": { "${inline}": [ "${URIDescriptor}" ] } } */ return descriptor; diff --git a/src/vs/workbench/common/editor/untitledEditorInput.ts b/src/vs/workbench/common/editor/untitledEditorInput.ts index a3f23f877c3246..cf27893825f8ac 100644 --- a/src/vs/workbench/common/editor/untitledEditorInput.ts +++ b/src/vs/workbench/common/editor/untitledEditorInput.ts @@ -256,7 +256,7 @@ export class UntitledEditorInput extends EditorInput implements IEncodingSupport /* __GDPR__FRAGMENT__ "EditorTelemetryDescriptor" : { - "resource": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "resource": { "${inline}": [ "${URIDescriptor}" ] } } */ return descriptor; diff --git a/src/vs/workbench/electron-browser/shell.ts b/src/vs/workbench/electron-browser/shell.ts index 78fcc3fd385581..86afd96a877635 100644 --- a/src/vs/workbench/electron-browser/shell.ts +++ b/src/vs/workbench/electron-browser/shell.ts @@ -202,7 +202,10 @@ export class WorkbenchShell { /* __GDPR__ "workspaceLoad" : { "userAgent" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "windowSize": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowSize.innerHeight": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowSize.innerWidth": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowSize.outerHeight": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowSize.outerWidth": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "emptyWorkbench": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "workbench.filesToOpen": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "workbench.filesToCreate": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, @@ -210,7 +213,7 @@ export class WorkbenchShell { "customKeybindingsCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "theme": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "language": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "BusinessInsight" }, - "experiments": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "BusinessInsight" }, + "experiments": { "${inline}": [ "${IExperiments}" ] }, "pinnedViewlets": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "restoredViewlet": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "restoredEditors": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, diff --git a/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts b/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts index fdd06599dd5f7e..0bc00a4682d2de 100644 --- a/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts +++ b/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts @@ -279,7 +279,7 @@ export class FileEditorInput extends EditorInput implements IFileEditorInput { /* __GDPR__FRAGMENT__ "EditorTelemetryDescriptor" : { - "resource": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "resource": { "${inline}": [ "${URIDescriptor}" ] } } */ return descriptor; diff --git a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts index 5eb9fd1c02d34f..9618eb9da27646 100644 --- a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts +++ b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts @@ -38,10 +38,44 @@ interface ISearchWithRange { "unsortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "sortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "resultCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "symbols": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "symbols.fromCache": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.fromCache": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.unsortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.sortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.resultCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.traversal": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.errors": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.fileWalkStartDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.fileWalkResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.directoriesWalked": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.filesWalked": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cmdForkStartTime": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cmdForkResultTime": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cmdResultCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cacheLookupStartDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cacheFilterStartDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cacheLookupResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cacheEntryCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.fromCache": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.unsortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.sortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.resultCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.traversal": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.errors": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.fileWalkStartDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.fileWalkResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.directoriesWalked": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.filesWalked": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.cmdForkStartTime": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.cmdForkResultTime": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.cmdResultCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.cacheLookupStartDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.cacheFilterStartDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.cacheLookupResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.joined.cacheEntryCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ +// GDPR__TODO joined seems to be recursive interface ITimerEventData { searchLength: number; unsortedResultDuration: number; diff --git a/src/vs/workbench/parts/search/common/searchModel.ts b/src/vs/workbench/parts/search/common/searchModel.ts index eab71a0dbe39ef..a02fb3fed951a5 100644 --- a/src/vs/workbench/parts/search/common/searchModel.ts +++ b/src/vs/workbench/parts/search/common/searchModel.ts @@ -773,7 +773,7 @@ export class SearchModel extends Disposable { "searchresultsShown" : { "count" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "fileCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "options": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "options": { "${inline}": [ "${IPatternInfo}" ] }, "duration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "useRipgrep": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } } diff --git a/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts b/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts index ab87d7eaa7f9e6..663f6388880c0c 100644 --- a/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts +++ b/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts @@ -411,7 +411,7 @@ class WelcomePage { /* __GDPR__FRAGMENT__ "WelcomePageInstall-1" : { "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionsId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog(strings.installEvent, { diff --git a/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts b/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts index 64d860ee3faf19..19e28ae242bb68 100644 --- a/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts +++ b/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts @@ -354,6 +354,12 @@ export class WalkThroughPart extends BaseEditor { const div = innerContent.querySelector(`#${id.replace(/\./g, '\\.')}`) as HTMLElement; const options = this.getEditorOptions(snippet.textEditorModel.getModeId()); + /* __GDPR__FRAGMENT__ + "EditorTelemetryData" : { + "target" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippet": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ const telemetryData = { target: this.input instanceof WalkThroughInput ? this.input.getTelemetryFrom() : undefined, snippet: i diff --git a/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts b/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts index 442196b87d9c0b..f3a4610d00f298 100644 --- a/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts +++ b/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts @@ -96,7 +96,7 @@ export class WalkThroughInput extends EditorInput { /* __GDPR__FRAGMENT__ "EditorTelemetryDescriptor" : { "target" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "resource": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "resource": { "${inline}": [ "${URIDescriptor}" ] } } */ return descriptor; diff --git a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts index 41db4494907b9e..69d92d5f6ac0a9 100644 --- a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts +++ b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts @@ -320,7 +320,7 @@ export class WorkbenchKeybindingService extends AbstractKeybindingService { let data = KeyboardMapperFactory.INSTANCE.getCurrentKeyboardLayout(); /* __GDPR__ "keyboardLayout" : { - "currentKeyboardLayout" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "currentKeyboardLayout": { "${inline}": [ "${IKeyboardLayoutInfo}" ] } } */ telemetryService.publicLog('keyboardLayout', { diff --git a/src/vs/workbench/services/timer/common/timerService.ts b/src/vs/workbench/services/timer/common/timerService.ts index f2a5554b3c2650..bea8fad317fb47 100644 --- a/src/vs/workbench/services/timer/common/timerService.ts +++ b/src/vs/workbench/services/timer/common/timerService.ts @@ -8,6 +8,14 @@ import { createDecorator } from 'vs/platform/instantiation/common/instantiation' export const ITimerService = createDecorator('timerService'); +/* __GDPR__FRAGMENT__ + "IMemoryInfo" : { + "workingSetSize" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "peakWorkingSetSize": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "privateBytes": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "sharedBytes": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ export interface IMemoryInfo { workingSetSize: number; peakWorkingSetSize: number; @@ -19,14 +27,25 @@ export interface IMemoryInfo { "IStartupMetrics" : { "version" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "ellapsed" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedAppReady" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedWindowLoad" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedWindowLoadToRequire" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedExtensions" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedExtensionsReady" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedRequire" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedViewletRestore" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedEditorRestore" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedWorkbench" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedTimersToTimersComputed" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "timers2" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "platform" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "release" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "arch" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "totalmem" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "meminfo" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "cpus" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "meminfo" : { "${inline}": [ "${IMemoryInfo}" ] }, + "cpus.count" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "cpus.speed" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "cpus.model" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "initialStartup" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "hasAccessibilitySupport" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "isVMLikelyhood" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, @@ -49,6 +68,7 @@ export interface IStartupMetrics { ellapsedWorkbench: number; ellapsedTimersToTimersComputed: number; }; + // GDPR__TODO: Dynamic property set with timer2, cannot be declared in the registry timers2: { [name: string]: number }; platform: string; release: string; From f885522b2ef2eac3c1f7005f14f81eb36709de1a Mon Sep 17 00:00:00 2001 From: kieferrm Date: Tue, 12 Sep 2017 11:56:50 -0700 Subject: [PATCH 20/39] change wildcard property --- src/vs/workbench/api/node/extHostExtensionService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/workbench/api/node/extHostExtensionService.ts b/src/vs/workbench/api/node/extHostExtensionService.ts index e9dc303323ca67..6555a222bf90bf 100644 --- a/src/vs/workbench/api/node/extHostExtensionService.ts +++ b/src/vs/workbench/api/node/extHostExtensionService.ts @@ -397,7 +397,7 @@ function getTelemetryActivationEvent(extensionDescription: IExtensionDescription "${wildcard}": [ { "${prefix}": "contribution.", - "${property}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "${classification}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } } ] } From 1d7b0a2d9929a19beeb156a73cfe9f45e303f8db Mon Sep 17 00:00:00 2001 From: kieferrm Date: Tue, 12 Sep 2017 16:29:53 -0700 Subject: [PATCH 21/39] use wildcard for files.joined --- .../search/browser/openAnythingHandler.ts | 23 +++++-------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts index 9618eb9da27646..9d7599dd3f8f58 100644 --- a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts +++ b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts @@ -56,23 +56,12 @@ interface ISearchWithRange { "files.cacheFilterStartDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "files.cacheLookupResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "files.cacheEntryCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.fromCache": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.unsortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.sortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.resultCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.traversal": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.errors": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.fileWalkStartDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.fileWalkResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.directoriesWalked": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.filesWalked": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.cmdForkStartTime": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.cmdForkResultTime": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.cmdResultCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.cacheLookupStartDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.cacheFilterStartDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.cacheLookupResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.joined.cacheEntryCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "${wildcard}": [ + { + "${prefix}": "files.joined", + "${classification}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + ] } */ // GDPR__TODO joined seems to be recursive From f691cfe444f040840afd38c59004f83ac75cb656 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Mon, 18 Sep 2017 16:07:46 -0700 Subject: [PATCH 22/39] classification for TS extension --- .../typescript/src/typescriptServiceClient.ts | 24 +++++++++++++++++++ .../typescript/src/utils/projectStatus.ts | 3 +++ 2 files changed, 27 insertions(+) diff --git a/extensions/typescript/src/typescriptServiceClient.ts b/extensions/typescript/src/typescriptServiceClient.ts index 3fe2dde35fd090..84982e9658aaf8 100644 --- a/extensions/typescript/src/typescriptServiceClient.ts +++ b/extensions/typescript/src/typescriptServiceClient.ts @@ -386,6 +386,11 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient this.lastError = err; this.error('Starting TSServer failed with error.', err); window.showErrorMessage(localize('serverCouldNotBeStarted', 'TypeScript language server couldn\'t be started. Error message is: {0}', err.message || err)); + /* __GDPR__ + "error" : { + "message": { "endPoint": "none", "classification": "CustomerContent", "purpose": "PerformanceAndHealth" } + } + */ this.logTelemetry('error', { message: err.message }); return; } @@ -396,6 +401,9 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient if (this.tsServerLogFile) { this.error(`TSServer log file: ${this.tsServerLogFile}`); } + /* __GDPR__ + "tsserver.error" : {} + */ this.logTelemetry('tsserver.error'); this.serviceExited(false); }); @@ -404,6 +412,11 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient this.info(`TSServer exited`); } else { this.error(`TSServer exited with code: ${code}`); + /* __GDPR__ + "tsserver.exitWithCode" : { + "code" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ this.logTelemetry('tsserver.exitWithCode', { code: code }); } @@ -548,6 +561,9 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient id: MessageAction.reportIssue, isCloseAffordance: true }); + /* __GDPR__ + "serviceExited" : {} + */ this.logTelemetry('serviceExited'); } else if (diff < 60 * 1000 /* 1 Minutes */) { this.lastStart = Date.now(); @@ -835,6 +851,14 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient } break; } + /* __GDPR__ + "typingsInstalled" : { + "installedPackages" : { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "installSuccess": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "typingsInstallerVersion": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ + // GDPR__COMMENT: Other events are defined by TypeScript. this.logTelemetry(telemetryData.telemetryEventName, properties); } } diff --git a/extensions/typescript/src/utils/projectStatus.ts b/extensions/typescript/src/utils/projectStatus.ts index ec6cb67c2b52ee..7bb8416e33ab57 100644 --- a/extensions/typescript/src/utils/projectStatus.ts +++ b/extensions/typescript/src/utils/projectStatus.ts @@ -54,6 +54,9 @@ class ExcludeHintItem { this._item.tooltip = localize('hintExclude.tooltip', "To enable project-wide JavaScript/TypeScript language features, exclude large folders with source files that you do not work on."); this._item.color = '#A5DF3B'; this._item.show(); + /* __GDPR__ + "js.hintProjectExcludes" : {} + */ this._client.logTelemetry('js.hintProjectExcludes'); } } From 9cceab083c28a6d58ea3bee7b6157f3b805bf70a Mon Sep 17 00:00:00 2001 From: kieferrm Date: Mon, 18 Sep 2017 16:15:49 -0700 Subject: [PATCH 23/39] gdpr classification for markdown extension --- extensions/markdown/src/extension.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/extensions/markdown/src/extension.ts b/extensions/markdown/src/extension.ts index b684f8ad74370b..686ac504a4c9de 100644 --- a/extensions/markdown/src/extension.ts +++ b/extensions/markdown/src/extension.ts @@ -260,6 +260,12 @@ function showPreview(cspArbiter: ExtensionContentSecurityPolicyArbiter, uri?: vs }); if (telemetryReporter) { + /* __GDPR__ + "openPreview" : { + "where" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "how": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryReporter.sendTelemetryEvent('openPreview', { where: sideBySide ? 'sideBySide' : 'inPlace', how: (uri instanceof vscode.Uri) ? 'action' : 'pallete' From 47000c3804bcb637d35a5d30adc287ede4799acf Mon Sep 17 00:00:00 2001 From: kieferrm Date: Tue, 19 Sep 2017 10:30:19 -0700 Subject: [PATCH 24/39] GDPR classification for git extension --- extensions/git/src/commands.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/extensions/git/src/commands.ts b/extensions/git/src/commands.ts index 7b4c807989d76f..fe4ded45769843 100644 --- a/extensions/git/src/commands.ts +++ b/extensions/git/src/commands.ts @@ -264,6 +264,11 @@ export class CommandCenter { }); if (!url) { + /* __GDPR__ + "clone" : { + "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'no_URL' }); return; } @@ -278,6 +283,11 @@ export class CommandCenter { }); if (!parentPath) { + /* __GDPR__ + "clone" : { + "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'no_directory' }); return; } @@ -295,14 +305,30 @@ export class CommandCenter { const result = await window.showInformationMessage(localize('proposeopen', "Would you like to open the cloned repository?"), open); const openFolder = result === open; + /* __GDPR__ + "clone" : { + "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "openFolder": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "isMeasurement": true } + } + */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'success' }, { openFolder: openFolder ? 1 : 0 }); if (openFolder) { commands.executeCommand('vscode.openFolder', Uri.file(repositoryPath)); } } catch (err) { if (/already exists and is not an empty directory/.test(err && err.stderr || '')) { + /* __GDPR__ + "clone" : { + "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'directory_not_empty' }); } else { + /* __GDPR__ + "clone" : { + "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'error' }); } throw err; @@ -1315,6 +1341,11 @@ export class CommandCenter { }); } + /* __GDPR__ + "git.command" : { + "command" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryReporter.sendTelemetryEvent('git.command', { command: id }); return result.catch(async err => { From f0e9b12d8f37f1116a7e7485d6ebf8ff6f95d139 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Tue, 19 Sep 2017 10:31:20 -0700 Subject: [PATCH 25/39] GDPR classification for save participants --- .../electron-browser/mainThreadSaveParticipant.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts index 46710105847e19..d28ea20e6eebdd 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts @@ -268,9 +268,20 @@ export class SaveParticipant implements ISaveParticipant { return sequence(promiseFactory).then(() => { /* __GDPR__ "saveParticipantStats" : { + "${wildcard}": [ + { + "${prefix}": "Success-", + "${classification}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + ], + "${wildcard}": [ + { + "${prefix}": "Failure-", + "${classification}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + ] } */ - // GDPR__TODO: We need to move off dynamic property names as we can't declare them statically in the registry. this._telemetryService.publicLog('saveParticipantStats', stats); }); } From b4c594aaa5d79b4d1c1336d3e4dd743a874f64a1 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Tue, 19 Sep 2017 10:32:45 -0700 Subject: [PATCH 26/39] GDPR classify timer2 on IStartupMetrics --- src/vs/workbench/services/timer/common/timerService.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/services/timer/common/timerService.ts b/src/vs/workbench/services/timer/common/timerService.ts index bea8fad317fb47..b2b673855532bd 100644 --- a/src/vs/workbench/services/timer/common/timerService.ts +++ b/src/vs/workbench/services/timer/common/timerService.ts @@ -37,7 +37,6 @@ export interface IMemoryInfo { "timers.ellapsedEditorRestore" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "timers.ellapsedWorkbench" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "timers.ellapsedTimersToTimersComputed" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers2" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "platform" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "release" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "arch" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, @@ -50,7 +49,13 @@ export interface IMemoryInfo { "hasAccessibilitySupport" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "isVMLikelyhood" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "emptyWorkbench" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "loadavg" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "loadavg" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "${wildcard}": [ + { + "${prefix}": "timers2.", + "${classification}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + ] } */ export interface IStartupMetrics { @@ -68,7 +73,6 @@ export interface IStartupMetrics { ellapsedWorkbench: number; ellapsedTimersToTimersComputed: number; }; - // GDPR__TODO: Dynamic property set with timer2, cannot be declared in the registry timers2: { [name: string]: number }; platform: string; release: string; From da1fc4683f79a0ac7be28f170c2a61a68b00f640 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Tue, 19 Sep 2017 10:33:12 -0700 Subject: [PATCH 27/39] review GDPR classifications --- src/vs/editor/contrib/suggest/browser/completionModel.ts | 1 + src/vs/platform/telemetry/browser/errorTelemetry.ts | 2 +- src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts | 1 - src/vs/workbench/api/node/extHostLanguageFeatures.ts | 2 +- src/vs/workbench/parts/debug/electron-browser/debugService.ts | 2 +- src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts | 2 +- src/vs/workbench/parts/search/browser/openAnythingHandler.ts | 1 - 7 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/vs/editor/contrib/suggest/browser/completionModel.ts b/src/vs/editor/contrib/suggest/browser/completionModel.ts index 4a4921267ee1ba..a47b77f044e843 100644 --- a/src/vs/editor/contrib/suggest/browser/completionModel.ts +++ b/src/vs/editor/contrib/suggest/browser/completionModel.ts @@ -24,6 +24,7 @@ export interface ICompletionItem extends ISuggestionItem { "textCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ +// __GDPR__TODO: This is an extensible structure which can not be statically declared. export interface ICompletionStats { suggestionCount: number; snippetCount: number; diff --git a/src/vs/platform/telemetry/browser/errorTelemetry.ts b/src/vs/platform/telemetry/browser/errorTelemetry.ts index 58773296be7a15..e9489eaab4cd30 100644 --- a/src/vs/platform/telemetry/browser/errorTelemetry.ts +++ b/src/vs/platform/telemetry/browser/errorTelemetry.ts @@ -153,7 +153,7 @@ export default class ErrorTelemetry { "column": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ - // GDPR__TODO more properties are missing + // __GDPR__TODO more properties are missing this._telemetryService.publicLog('UnhandledError', error); } this._buffer.length = 0; diff --git a/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts b/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts index 9128720826c2fd..0fbadd2148c1d9 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts @@ -30,7 +30,6 @@ export class MainThreadTelemetry implements MainThreadTelemetryShape { "pluginHostTelemetry" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ - data[MainThreadTelemetry._name] = true; this._telemetryService.publicLog(eventName, data); } diff --git a/src/vs/workbench/api/node/extHostLanguageFeatures.ts b/src/vs/workbench/api/node/extHostLanguageFeatures.ts index 7a05149d9d238e..7c8387018a65a3 100644 --- a/src/vs/workbench/api/node/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/node/extHostLanguageFeatures.ts @@ -880,7 +880,7 @@ export class ExtHostLanguageFeatures implements ExtHostLanguageFeaturesShape { const handle = this._nextHandle(); this._adapter.set(handle, new HoverAdapter(this._documents, provider, once((name: string, data: any) => { data['extension'] = extensionId; - // GDPR__TODO + // __GDPR__TODO Dynamic event names and dynamic properties. Can not be registered statically. this._telemetry.$publicLog(name, data); }))); this._proxy.$registerHoverProvider(handle, selector); diff --git a/src/vs/workbench/parts/debug/electron-browser/debugService.ts b/src/vs/workbench/parts/debug/electron-browser/debugService.ts index b5a09da74ee495..765a7dfa83d69e 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugService.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugService.ts @@ -341,7 +341,7 @@ export class DebugService implements debug.IDebugService { // only log telemetry events from debug adapter if the adapter provided the telemetry key // and the user opted in telemetry if (session.customTelemetryService && this.telemetryService.isOptedIn) { - // GDPR__TODO Need to move off dynamic event names or properties. They cannot be registered upfront. + // __GDPR__TODO Need to move off dynamic event names or properties. They cannot be registered upfront. session.customTelemetryService.publicLog(event.body.output, event.body.data); } diff --git a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts index 7e905668e616ca..8d3f4b450d7149 100644 --- a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts @@ -541,7 +541,7 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor } private reportKeybindingAction(action: string, command: string, keybinding: ResolvedKeybinding | string): void { - // GDPR__TODO need to move off dynamic event names and properties as they cannot be registered statically + // __GDPR__TODO need to move off dynamic event names and properties as they cannot be registered statically this.telemetryService.publicLog(action, { command, keybinding: keybinding ? (typeof keybinding === 'string' ? keybinding : keybinding.getUserSettingsLabel()) : '' }); } diff --git a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts index 9d7599dd3f8f58..63f575866b8c93 100644 --- a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts +++ b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts @@ -64,7 +64,6 @@ interface ISearchWithRange { ] } */ -// GDPR__TODO joined seems to be recursive interface ITimerEventData { searchLength: number; unsortedResultDuration: number; From 8550b03dee1b8fcca0fcd04e4be6a7a075765174 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Tue, 19 Sep 2017 11:31:00 -0700 Subject: [PATCH 28/39] correct wildcard usage --- .../api/electron-browser/mainThreadSaveParticipant.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts index d28ea20e6eebdd..e78e624bdba652 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts @@ -272,10 +272,8 @@ export class SaveParticipant implements ISaveParticipant { { "${prefix}": "Success-", "${classification}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - ], - "${wildcard}": [ - { + }, + { "${prefix}": "Failure-", "${classification}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } From dca73b718479f765e79315dca5e845cfd6eade55 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Wed, 20 Sep 2017 15:03:24 -0700 Subject: [PATCH 29/39] omit endPoint where it defaults to none --- extensions/git/src/commands.ts | 14 ++--- extensions/markdown/src/extension.ts | 4 +- .../typescript/src/typescriptServiceClient.ts | 10 ++-- src/typings/native-keymap.d.ts | 20 +++---- .../quickopen/browser/quickOpenWidget.ts | 10 ++-- .../base/parts/quickopen/common/quickOpen.ts | 2 +- .../electron-browser/sharedProcessMain.ts | 2 +- src/vs/code/electron-main/app.ts | 2 +- src/vs/code/electron-main/menus.ts | 4 +- .../editor/common/editorCommonExtensions.ts | 4 +- .../contrib/gotoError/browser/gotoError.ts | 2 +- .../browser/referencesController.ts | 8 +-- .../suggest/browser/completionModel.ts | 6 +- .../suggest/browser/suggestController.ts | 2 +- .../contrib/suggest/browser/suggestWidget.ts | 2 +- .../contextview/browser/contextMenuHandler.ts | 4 +- .../common/extensionManagementUtil.ts | 14 ++--- .../node/extensionGalleryService.ts | 28 ++++----- .../platform/opener/browser/openerService.ts | 2 +- src/vs/platform/search/common/search.ts | 12 ++-- .../telemetry/browser/errorTelemetry.ts | 12 ++-- .../platform/telemetry/common/experiments.ts | 2 +- .../telemetry/common/telemetryService.ts | 2 +- .../telemetry/common/telemetryUtils.ts | 18 +++--- .../telemetry/node/commonProperties.ts | 20 +++---- .../node/workbenchCommonProperties.ts | 16 ++--- .../update/electron-main/updateService.ts | 10 ++-- .../api/electron-browser/mainThreadEditors.ts | 4 +- .../mainThreadSaveParticipant.ts | 4 +- .../electron-browser/mainThreadTelemetry.ts | 2 +- src/vs/workbench/api/node/extHost.api.impl.ts | 10 ++-- .../api/node/extHostExtensionService.ts | 12 ++-- .../workbench/api/node/extHostTextEditor.ts | 4 +- src/vs/workbench/browser/composite.ts | 6 +- .../workbench/browser/parts/compositePart.ts | 4 +- .../browser/parts/editor/editorPart.ts | 2 +- .../browser/parts/editor/titleControl.ts | 4 +- .../parts/quickopen/quickOpenController.ts | 2 +- .../browser/parts/statusbar/statusbarPart.ts | 4 +- src/vs/workbench/common/actions.ts | 4 +- src/vs/workbench/common/editor.ts | 20 +++---- .../electron-browser/nodeCachedDataManager.ts | 10 ++-- src/vs/workbench/electron-browser/shell.ts | 34 +++++------ src/vs/workbench/electron-browser/window.ts | 4 +- .../parts/debug/browser/debugActionsWidget.ts | 6 +- .../debug/electron-browser/debugService.ts | 28 ++++----- .../debug/electron-browser/rawDebugSession.ts | 4 +- .../electron-browser/extensionTipsService.ts | 20 +++---- .../electron-browser/extensionsUtils.ts | 10 ++-- .../electron-browser/extensionsViews.ts | 6 +- .../node/extensionsWorkbenchService.ts | 6 +- .../files/browser/views/explorerViewer.ts | 4 +- .../files/browser/views/openEditorsViewer.ts | 4 +- .../parts/markers/browser/markersPanel.ts | 2 +- .../markers/browser/markersPanelActions.ts | 6 +- .../preferences/browser/keybindingsEditor.ts | 4 +- .../preferences/browser/preferencesEditor.ts | 4 +- .../browser/preferencesRenderers.ts | 2 +- .../preferences/browser/preferencesService.ts | 2 +- .../quickopen/browser/commandsHandler.ts | 4 +- .../search/browser/openAnythingHandler.ts | 48 +++++++-------- .../parts/search/common/searchModel.ts | 14 ++--- .../parts/tasks/common/taskSystem.ts | 12 ++-- .../electron-browser/task.contribution.ts | 2 +- .../page/electron-browser/welcomePage.ts | 52 ++++++++--------- .../electron-browser/walkThroughPart.ts | 32 +++++----- .../walkThrough/node/walkThroughInput.ts | 14 ++--- .../electron-browser/contextmenuService.ts | 4 +- .../electron-browser/extensionService.ts | 12 ++-- .../electron-browser/keybindingService.ts | 2 +- .../services/message/browser/messageList.ts | 4 +- .../telemetry/common/workspaceStats.ts | 56 +++++++++--------- .../textfile/common/textFileEditorModel.ts | 10 ++-- .../textfile/common/textFileService.ts | 6 +- .../services/textfile/common/textfiles.ts | 6 +- .../electron-browser/workbenchThemeService.ts | 10 ++-- .../services/timer/common/timerService.ts | 58 +++++++++---------- 77 files changed, 408 insertions(+), 408 deletions(-) diff --git a/extensions/git/src/commands.ts b/extensions/git/src/commands.ts index fe4ded45769843..3251645107460a 100644 --- a/extensions/git/src/commands.ts +++ b/extensions/git/src/commands.ts @@ -266,7 +266,7 @@ export class CommandCenter { if (!url) { /* __GDPR__ "clone" : { - "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'no_URL' }); @@ -285,7 +285,7 @@ export class CommandCenter { if (!parentPath) { /* __GDPR__ "clone" : { - "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'no_directory' }); @@ -307,8 +307,8 @@ export class CommandCenter { const openFolder = result === open; /* __GDPR__ "clone" : { - "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "openFolder": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "isMeasurement": true } + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "openFolder": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "isMeasurement": true } } */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'success' }, { openFolder: openFolder ? 1 : 0 }); @@ -319,14 +319,14 @@ export class CommandCenter { if (/already exists and is not an empty directory/.test(err && err.stderr || '')) { /* __GDPR__ "clone" : { - "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'directory_not_empty' }); } else { /* __GDPR__ "clone" : { - "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'error' }); @@ -1343,7 +1343,7 @@ export class CommandCenter { /* __GDPR__ "git.command" : { - "command" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "command" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryReporter.sendTelemetryEvent('git.command', { command: id }); diff --git a/extensions/markdown/src/extension.ts b/extensions/markdown/src/extension.ts index 686ac504a4c9de..7d7a3a8ae27097 100644 --- a/extensions/markdown/src/extension.ts +++ b/extensions/markdown/src/extension.ts @@ -262,8 +262,8 @@ function showPreview(cspArbiter: ExtensionContentSecurityPolicyArbiter, uri?: vs if (telemetryReporter) { /* __GDPR__ "openPreview" : { - "where" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "how": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "where" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "how": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ telemetryReporter.sendTelemetryEvent('openPreview', { diff --git a/extensions/typescript/src/typescriptServiceClient.ts b/extensions/typescript/src/typescriptServiceClient.ts index 84982e9658aaf8..c83f2aa3cb034e 100644 --- a/extensions/typescript/src/typescriptServiceClient.ts +++ b/extensions/typescript/src/typescriptServiceClient.ts @@ -388,7 +388,7 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient window.showErrorMessage(localize('serverCouldNotBeStarted', 'TypeScript language server couldn\'t be started. Error message is: {0}', err.message || err)); /* __GDPR__ "error" : { - "message": { "endPoint": "none", "classification": "CustomerContent", "purpose": "PerformanceAndHealth" } + "message": { "classification": "CustomerContent", "purpose": "PerformanceAndHealth" } } */ this.logTelemetry('error', { message: err.message }); @@ -414,7 +414,7 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient this.error(`TSServer exited with code: ${code}`); /* __GDPR__ "tsserver.exitWithCode" : { - "code" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "code" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ this.logTelemetry('tsserver.exitWithCode', { code: code }); @@ -853,9 +853,9 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient } /* __GDPR__ "typingsInstalled" : { - "installedPackages" : { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "installSuccess": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "typingsInstallerVersion": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "installedPackages" : { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "installSuccess": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "typingsInstallerVersion": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ // GDPR__COMMENT: Other events are defined by TypeScript. diff --git a/src/typings/native-keymap.d.ts b/src/typings/native-keymap.d.ts index 7671a421ac54b5..8f5162ab951992 100644 --- a/src/typings/native-keymap.d.ts +++ b/src/typings/native-keymap.d.ts @@ -44,9 +44,9 @@ declare module 'native-keymap' { /* __GDPR__FRAGMENT__ "IKeyboardLayoutInfo" : { - "name" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "id": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "text": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "name" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "id": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "text": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ export interface IWindowsKeyboardLayoutInfo { @@ -57,11 +57,11 @@ declare module 'native-keymap' { /* __GDPR__FRAGMENT__ "IKeyboardLayoutInfo" : { - "model" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "layout": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "variant": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "options": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "rules": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "model" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "layout": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "variant": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "options": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "rules": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ export interface ILinuxKeyboardLayoutInfo { @@ -74,8 +74,8 @@ declare module 'native-keymap' { /* __GDPR__FRAGMENT__ "IKeyboardLayoutInfo" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "lang": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "lang": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ export interface IMacKeyboardLayoutInfo { diff --git a/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts b/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts index ed53520d887a4d..4285167e65601d 100644 --- a/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts +++ b/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts @@ -534,9 +534,9 @@ export class QuickOpenWidget implements IModelProvider { const entriesCount = this.model.entries.length; /* __GDPR__ "quickOpenWidgetItemAccepted" : { - "index" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "count": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "isQuickNavigate": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "index" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "count": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isQuickNavigate": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.usageLogger.publicLog('quickOpenWidgetItemAccepted', { index: indexOfAcceptedElement, count: entriesCount, isQuickNavigate: this.quickNavigateConfiguration ? true : false }); @@ -782,8 +782,8 @@ export class QuickOpenWidget implements IModelProvider { if (this.usageLogger) { /* __GDPR__ "quickOpenWidgetCancelled" : { - "count" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "isQuickNavigate": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isQuickNavigate": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.usageLogger.publicLog('quickOpenWidgetCancelled', { count: entriesCount, isQuickNavigate: this.quickNavigateConfiguration ? true : false }); diff --git a/src/vs/base/parts/quickopen/common/quickOpen.ts b/src/vs/base/parts/quickopen/common/quickOpen.ts index 8850a153307aa2..b8f5f06a4f2937 100644 --- a/src/vs/base/parts/quickopen/common/quickOpen.ts +++ b/src/vs/base/parts/quickopen/common/quickOpen.ts @@ -8,7 +8,7 @@ import { ResolvedKeybinding } from 'vs/base/common/keyCodes'; /* __GDPR__FRAGMENT__ "IQuickNavigateConfiguration" : { - "keybindings" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "keybindings" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ export interface IQuickNavigateConfiguration { diff --git a/src/vs/code/electron-browser/sharedProcessMain.ts b/src/vs/code/electron-browser/sharedProcessMain.ts index 3af6219f706e1e..fe27100012cbf3 100644 --- a/src/vs/code/electron-browser/sharedProcessMain.ts +++ b/src/vs/code/electron-browser/sharedProcessMain.ts @@ -109,7 +109,7 @@ function main(server: Server, initData: ISharedProcessInitData): void { const config: ITelemetryServiceConfig = { appender, commonProperties: resolveCommonProperties(product.commit, pkg.version, installSource) - // __GDPR__COMMON__ "common.machineId" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.machineId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } .then(result => Object.defineProperty(result, 'common.machineId', { get: () => storageService.get(machineIdStorageKey), enumerable: true diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts index ed5c323de8a9d5..fa34e9e0452179 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts @@ -295,7 +295,7 @@ export class CodeApplication { const channel = getDelayedChannel(this.sharedProcessClient.then(c => c.getChannel('telemetryAppender'))); const appender = new TelemetryAppenderClient(channel); const commonProperties = resolveCommonProperties(product.commit, pkg.version, this.environmentService.installSource) - // __GDPR__COMMON__ "common.machineId" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.machineId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } .then(result => Object.defineProperty(result, 'common.machineId', { get: () => this.storageService.getItem(machineIdStorageKey), enumerable: true diff --git a/src/vs/code/electron-main/menus.ts b/src/vs/code/electron-main/menus.ts index 3cd93fc8e0ac29..ddde16603a4c5f 100644 --- a/src/vs/code/electron-main/menus.ts +++ b/src/vs/code/electron-main/menus.ts @@ -1241,8 +1241,8 @@ export class CodeMenu { private reportMenuActionTelemetry(id: string): void { /* __GDPR__ "workbencActionExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workbenchActionExecuted', { id, from: telemetryFrom }); diff --git a/src/vs/editor/common/editorCommonExtensions.ts b/src/vs/editor/common/editorCommonExtensions.ts index dad3900514b901..ec7cbbb5d0b61d 100644 --- a/src/vs/editor/common/editorCommonExtensions.ts +++ b/src/vs/editor/common/editorCommonExtensions.ts @@ -196,8 +196,8 @@ export abstract class EditorAction extends EditorCommand { protected reportTelemetry(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor) { /* __GDPR__ "editorActionInvoked" : { - "name" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "id": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "name" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "id": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "${include}": [ "${EditorTelemetryData}" ] diff --git a/src/vs/editor/contrib/gotoError/browser/gotoError.ts b/src/vs/editor/contrib/gotoError/browser/gotoError.ts index 023ffb757544a2..c6d780a5bc8bd9 100644 --- a/src/vs/editor/contrib/gotoError/browser/gotoError.ts +++ b/src/vs/editor/contrib/gotoError/browser/gotoError.ts @@ -408,7 +408,7 @@ class MarkerNavigationAction extends EditorAction { let model = controller.getOrCreateModel(); /* __GDPR__ "zoneWidgetShown" : { - "mode" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "mode" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "${include}": [ "${EditorTelemetryData}" ] diff --git a/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts b/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts index 2aef97724177e3..e00a92c8e388ad 100644 --- a/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts +++ b/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts @@ -163,8 +163,8 @@ export class ReferencesController implements editorCommon.IEditorContribution { dispose: () => { /* __GDPR__ "zoneWidgetShown" : { - "mode" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "elapsedTime": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "mode" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "elapsedTime": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this._telemetryService.publicLog('zoneWidgetShown', { @@ -199,8 +199,8 @@ export class ReferencesController implements editorCommon.IEditorContribution { /* __GDPR__ "findReferences" : { - "durarion" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "mode": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "durarion" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "mode": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ onDone(duration => this._telemetryService.publicLog('findReferences', { diff --git a/src/vs/editor/contrib/suggest/browser/completionModel.ts b/src/vs/editor/contrib/suggest/browser/completionModel.ts index a47b77f044e843..8cbd01e3d13c0c 100644 --- a/src/vs/editor/contrib/suggest/browser/completionModel.ts +++ b/src/vs/editor/contrib/suggest/browser/completionModel.ts @@ -19,9 +19,9 @@ export interface ICompletionItem extends ISuggestionItem { /* __GDPR__FRAGMENT__ "ICompletionStats" : { - "suggestionCount" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "snippetCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "textCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "suggestionCount" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippetCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "textCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ // __GDPR__TODO: This is an extensible structure which can not be statically declared. diff --git a/src/vs/editor/contrib/suggest/browser/suggestController.ts b/src/vs/editor/contrib/suggest/browser/suggestController.ts index c9a8630db75e61..a7a2433e668b58 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestController.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestController.ts @@ -199,7 +199,7 @@ export class SuggestController implements IEditorContribution { this._alertCompletionItem(item); /* __GDPR__ "suggestSnippetInsert" : { - "suggestionType" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "suggestionType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "${include}": [ "${EditorTelemetryData}" ] diff --git a/src/vs/editor/contrib/suggest/browser/suggestWidget.ts b/src/vs/editor/contrib/suggest/browser/suggestWidget.ts index 9952f962ccf3be..bd6189984efbbd 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestWidget.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestWidget.ts @@ -730,7 +730,7 @@ export class SuggestWidget implements IContentWidget, IDelegate stats['wasAutomaticallyTriggered'] = !!isAuto; /* __GDPR__ "suggestWidget" : { - "wasAutomaticallyTriggered" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "wasAutomaticallyTriggered" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "${include}": [ "${ICompletionStats}", "${EditorTelemetryData}" diff --git a/src/vs/platform/contextview/browser/contextMenuHandler.ts b/src/vs/platform/contextview/browser/contextMenuHandler.ts index f61264b3a2ebff..00479364aba7be 100644 --- a/src/vs/platform/contextview/browser/contextMenuHandler.ts +++ b/src/vs/platform/contextview/browser/contextMenuHandler.ts @@ -46,8 +46,8 @@ export class ContextMenuHandler { if (this.telemetryService) { /* __GDPR__ "workbenchActionExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workbenchActionExecuted', { id: e.action.id, from: 'contextMenu' }); diff --git a/src/vs/platform/extensionManagement/common/extensionManagementUtil.ts b/src/vs/platform/extensionManagement/common/extensionManagementUtil.ts index 78beef0e12c790..45292d71eaa0cf 100644 --- a/src/vs/platform/extensionManagement/common/extensionManagementUtil.ts +++ b/src/vs/platform/extensionManagement/common/extensionManagementUtil.ts @@ -65,13 +65,13 @@ export function getLocalExtensionTelemetryData(extension: ILocalExtension): any /* __GDPR__FRAGMENT__ "GalleryExtensionTelemetryData" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "name": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "galleryId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "publisherId": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "publisherName": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "publisherDisplayName": { "endPoint": "none", "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, - "dependencies": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "name": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "galleryId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "publisherId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "publisherName": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "publisherDisplayName": { "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, + "dependencies": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "${include}": [ "${GalleryExtensionTelemetryData2}" ] diff --git a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts index b366d44f9d2365..257226f03fd823 100644 --- a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts +++ b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts @@ -265,9 +265,9 @@ function toExtension(galleryExtension: IRawGalleryExtension, extensionsGalleryUr }, /* __GDPR__FRAGMENT__ "GalleryExtensionTelemetryData2" : { - "index" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "searchText": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "querySource": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "index" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "searchText": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "querySource": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ telemetryData: { @@ -320,8 +320,8 @@ export class ExtensionGalleryService implements IExtensionGalleryService { /* __GDPR__ "galleryService:query" : { - "type" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "text": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "type" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "text": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('galleryService:query', { type, text }); @@ -441,7 +441,7 @@ export class ExtensionGalleryService implements IExtensionGalleryService { const startTime = new Date().getTime(); /* __GDPR__ "galleryService:downloadVSIX" : { - "duration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "duration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "${include}": [ "${GalleryExtensionTelemetryData}" ] @@ -589,16 +589,16 @@ export class ExtensionGalleryService implements IExtensionGalleryService { const message = getErrorMessage(err); /* __GDPR__ "galleryService:requestError" : { - "url" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "cdn": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "message": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "url" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "cdn": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "message": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('galleryService:requestError', { url, cdn: true, message }); /* __GDPR__ "galleryService:cdnFallback" : { - "url" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "message": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "url" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "message": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('galleryService:cdnFallback', { url, message }); @@ -612,9 +612,9 @@ export class ExtensionGalleryService implements IExtensionGalleryService { const message = getErrorMessage(err); /* __GDPR__ "galleryService:requestError" : { - "url" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "cdn": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "message": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "url" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "cdn": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "message": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('galleryService:requestError', { url: fallbackUrl, cdn: false, message }); diff --git a/src/vs/platform/opener/browser/openerService.ts b/src/vs/platform/opener/browser/openerService.ts index 5e48c5025c4b9d..9425f4a2ea442b 100644 --- a/src/vs/platform/opener/browser/openerService.ts +++ b/src/vs/platform/opener/browser/openerService.ts @@ -32,7 +32,7 @@ export class OpenerService implements IOpenerService { /* __GDPR__ "openerService" : { - "scheme" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "scheme" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this._telemetryService.publicLog('openerService', { scheme: resource.scheme }); diff --git a/src/vs/platform/search/common/search.ts b/src/vs/platform/search/common/search.ts index 0c56bae5e399b3..cc86f27e2a38d9 100644 --- a/src/vs/platform/search/common/search.ts +++ b/src/vs/platform/search/common/search.ts @@ -72,12 +72,12 @@ export enum QueryType { } /* __GDPR__FRAGMENT__ "IPatternInfo" : { - "pattern" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "isRegExp": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "isWordMatch": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "wordSeparators": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "isMultiline": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "isCaseSensitive": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "pattern" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "isRegExp": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isWordMatch": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "wordSeparators": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isMultiline": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isCaseSensitive": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ export interface IPatternInfo { diff --git a/src/vs/platform/telemetry/browser/errorTelemetry.ts b/src/vs/platform/telemetry/browser/errorTelemetry.ts index e9489eaab4cd30..0e017ed13d1bf5 100644 --- a/src/vs/platform/telemetry/browser/errorTelemetry.ts +++ b/src/vs/platform/telemetry/browser/errorTelemetry.ts @@ -145,12 +145,12 @@ export default class ErrorTelemetry { for (let error of this._buffer) { /* __GDPR__ "UnhandledError" : { - "message" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "name": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "stack": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "id": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "line": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "column": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "message" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "name": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "stack": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "id": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "line": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "column": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ // __GDPR__TODO more properties are missing diff --git a/src/vs/platform/telemetry/common/experiments.ts b/src/vs/platform/telemetry/common/experiments.ts index 710c0d2a179515..d3636665fd071c 100644 --- a/src/vs/platform/telemetry/common/experiments.ts +++ b/src/vs/platform/telemetry/common/experiments.ts @@ -10,7 +10,7 @@ import { createDecorator } from 'vs/platform/instantiation/common/instantiation' /* __GDPR__FRAGMENT__ "IExperiments" : { - "deployToAzureQuickLink" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "deployToAzureQuickLink" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ export interface IExperiments { diff --git a/src/vs/platform/telemetry/common/telemetryService.ts b/src/vs/platform/telemetry/common/telemetryService.ts index f3d5a7b11a2325..826c751b7ce5ce 100644 --- a/src/vs/platform/telemetry/common/telemetryService.ts +++ b/src/vs/platform/telemetry/common/telemetryService.ts @@ -67,7 +67,7 @@ export class TelemetryService implements ITelemetryService { this._configurationService.onDidUpdateConfiguration(this._updateUserOptIn, this, this._disposables); /* __GDPR__ "optInStatus" : { - "optIn" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "BusinessInsight" } + "optIn" : { "classification": "SystemMetaData", "purpose": "BusinessInsight" } } */ this.publicLog('optInStatus', { optIn: this._userOptIn }); diff --git a/src/vs/platform/telemetry/common/telemetryUtils.ts b/src/vs/platform/telemetry/common/telemetryUtils.ts index 7e78904491d4cb..f530c77d794a28 100644 --- a/src/vs/platform/telemetry/common/telemetryUtils.ts +++ b/src/vs/platform/telemetry/common/telemetryUtils.ts @@ -68,9 +68,9 @@ export function anonymize(input: string): string { /* __GDPR__FRAGMENT__ "URIDescriptor" : { - "mimeType" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "ext": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "path": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } + "mimeType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "ext": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "path": { "classification": "CustomerContent", "purpose": "FeatureInsight" } } */ export interface URIDescriptor { @@ -189,8 +189,8 @@ export function configurationTelemetry(telemetryService: ITelemetryService, conf if (event.source !== ConfigurationSource.Default) { /* __GDPR__ "updateConfiguration" : { - "configurationSource" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "configurationKeys": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "configurationSource" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "configurationKeys": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ telemetryService.publicLog('updateConfiguration', { @@ -199,8 +199,8 @@ export function configurationTelemetry(telemetryService: ITelemetryService, conf }); /* __GDPR__ "updateConfigurationValues" : { - "configurationSource" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "configurationValues": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } + "configurationSource" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "configurationValues": { "classification": "CustomerContent", "purpose": "FeatureInsight" } } */ telemetryService.publicLog('updateConfigurationValues', { @@ -215,7 +215,7 @@ export function lifecycleTelemetry(telemetryService: ITelemetryService, lifecycl return lifecycleService.onShutdown(event => { /* __GDPR__ "shutdown" : { - "reason" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "reason" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ telemetryService.publicLog('shutdown', { reason: ShutdownReason[event] }); @@ -227,7 +227,7 @@ export function keybindingsTelemetry(telemetryService: ITelemetryService, keybin if (event.source === KeybindingSource.User && event.keybindings) { /* __GDPR__ "updateKeybindings" : { - "bindings": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } + "bindings": { "classification": "CustomerContent", "purpose": "FeatureInsight" } } */ telemetryService.publicLog('updateKeybindings', { diff --git a/src/vs/platform/telemetry/node/commonProperties.ts b/src/vs/platform/telemetry/node/commonProperties.ts index ff4b81f29b4d8c..e8a16e6e06e6a3 100644 --- a/src/vs/platform/telemetry/node/commonProperties.ts +++ b/src/vs/platform/telemetry/node/commonProperties.ts @@ -14,19 +14,19 @@ export const machineIdIpcChannel = 'vscode:machineId'; export function resolveCommonProperties(commit: string, version: string, source: string): TPromise<{ [name: string]: string; }> { const result: { [name: string]: string; } = Object.create(null); - // __GDPR__COMMON__ "sessionID" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "sessionID" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['sessionID'] = uuid.generateUuid() + Date.now(); - // __GDPR__COMMON__ "commitHash" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "commitHash" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['commitHash'] = commit; - // __GDPR__COMMON__ "version" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "version" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['version'] = version; - // __GDPR__COMMON__ "common.osVersion" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.osVersion" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.osVersion'] = os.release(); - // __GDPR__COMMON__ "common.platfrom" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.platfrom" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.platform'] = Platform.Platform[Platform.platform]; - // __GDPR__COMMON__ "common.nodePlatform" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.nodePlatform" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.nodePlatform'] = process.platform; - // __GDPR__COMMON__ "common.nodeArch" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.nodeArch" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.nodeArch'] = process.arch; result['common.source'] = source; @@ -34,17 +34,17 @@ export function resolveCommonProperties(commit: string, version: string, source: let seq = 0; const startTime = Date.now(); Object.defineProperties(result, { - // __GDPR__COMMON__ "timestamp" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "timestamp" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } 'timestamp': { get: () => new Date(), enumerable: true }, - // __GDPR__COMMON__ "common.timesincesessionstart" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.timesincesessionstart" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } 'common.timesincesessionstart': { get: () => Date.now() - startTime, enumerable: true }, - // __GDPR__COMMON__ "common.sequence" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.sequence" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } 'common.sequence': { get: () => seq++, enumerable: true diff --git a/src/vs/platform/telemetry/node/workbenchCommonProperties.ts b/src/vs/platform/telemetry/node/workbenchCommonProperties.ts index df83c2ff004ecf..01920c0c380ae1 100644 --- a/src/vs/platform/telemetry/node/workbenchCommonProperties.ts +++ b/src/vs/platform/telemetry/node/workbenchCommonProperties.ts @@ -16,11 +16,11 @@ const SQM_KEY: string = '\\Software\\Microsoft\\SQMClient'; export function resolveWorkbenchCommonProperties(storageService: IStorageService, commit: string, version: string, source: string): TPromise<{ [name: string]: string }> { return resolveCommonProperties(commit, version, source).then(result => { - // __GDPR__COMMON__ "common.version.shell" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.version.shell" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.version.shell'] = process.versions && (process).versions['electron']; - // __GDPR__COMMON__ "common.version.renderer" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.version.renderer" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.version.renderer'] = process.versions && (process).versions['chrome']; - // __GDPR__COMMON__ "common.osVersion" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.osVersion" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.osVersion'] = os.release(); const lastSessionDate = storageService.get('telemetry.lastSessionDate'); @@ -28,17 +28,17 @@ export function resolveWorkbenchCommonProperties(storageService: IStorageService storageService.store('telemetry.firstSessionDate', firstSessionDate); storageService.store('telemetry.lastSessionDate', new Date().toUTCString()); - // __GDPR__COMMON__ "common.firstSessionDate" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.firstSessionDate" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.firstSessionDate'] = firstSessionDate; - // __GDPR__COMMON__ "common.lastSessionDate" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.lastSessionDate" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.lastSessionDate'] = lastSessionDate; - // __GDPR__COMMON__ "common.isNewSession" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.isNewSession" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.isNewSession'] = !lastSessionDate ? '1' : '0'; const promises: TPromise[] = []; - // __GDPR__COMMON__ "common.instanceId" : { "endPoint": "none", "classification": "EndUserPseudonymizedInformation", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.instanceId" : { "classification": "EndUserPseudonymizedInformation", "purpose": "FeatureInsight" } promises.push(getOrCreateInstanceId(storageService).then(value => result['common.instanceId'] = value)); - // __GDPR__COMMON__ "common.machineId" : { "endPoint": "none", "classification": "EndUserPseudonymizedInformation", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.machineId" : { "classification": "EndUserPseudonymizedInformation", "purpose": "FeatureInsight" } promises.push(getOrCreateMachineId(storageService).then(value => result['common.machineId'] = value)); if (process.platform === 'win32') { diff --git a/src/vs/platform/update/electron-main/updateService.ts b/src/vs/platform/update/electron-main/updateService.ts index 091075c6364efc..e38d809b297b13 100644 --- a/src/vs/platform/update/electron-main/updateService.ts +++ b/src/vs/platform/update/electron-main/updateService.ts @@ -166,7 +166,7 @@ export class UpdateService implements IUpdateService { this.state = State.Idle; /* __GDPR__ "update:notAvailable" : { - "explicit" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "explicit" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('update:notAvailable', { explicit }); @@ -184,9 +184,9 @@ export class UpdateService implements IUpdateService { this.state = State.UpdateAvailable; /* __GDPR__ "update:available" : { - "explicit" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "version": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "currentVersion": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "explicit" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "version": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "currentVersion": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('update:available', { explicit, version: update.version, currentVersion: product.commit }); @@ -203,7 +203,7 @@ export class UpdateService implements IUpdateService { this.state = State.UpdateDownloaded; /* __GDPR__ "update:downloaded" : { - "version" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "version" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('update:downloaded', { version: update.version }); diff --git a/src/vs/workbench/api/electron-browser/mainThreadEditors.ts b/src/vs/workbench/api/electron-browser/mainThreadEditors.ts index b27dcf1b64c85c..81f605b88a3f50 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadEditors.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadEditors.ts @@ -142,7 +142,7 @@ export class MainThreadEditors implements MainThreadEditorsShape { // check how often this is used /* __GDPR__ "api.deprecated" : { - "function" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "function" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this._telemetryService.publicLog('api.deprecated', { function: 'TextEditor.show' }); @@ -162,7 +162,7 @@ export class MainThreadEditors implements MainThreadEditorsShape { // check how often this is used /* __GDPR__ "api.deprecated" : { - "function" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "function" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this._telemetryService.publicLog('api.deprecated', { function: 'TextEditor.hide' }); diff --git a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts index e78e624bdba652..830c46aa697a6f 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts @@ -271,11 +271,11 @@ export class SaveParticipant implements ISaveParticipant { "${wildcard}": [ { "${prefix}": "Success-", - "${classification}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "${classification}": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } }, { "${prefix}": "Failure-", - "${classification}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "${classification}": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } ] } diff --git a/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts b/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts index 0fbadd2148c1d9..af7e60b99ae9ec 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts @@ -27,7 +27,7 @@ export class MainThreadTelemetry implements MainThreadTelemetryShape { $publicLog(eventName: string, data: any = Object.create(null)): void { /* __GDPR__FRAGMENT__ "MainThreadData" : { - "pluginHostTelemetry" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "pluginHostTelemetry" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ data[MainThreadTelemetry._name] = true; diff --git a/src/vs/workbench/api/node/extHost.api.impl.ts b/src/vs/workbench/api/node/extHost.api.impl.ts index 1ffa8bddc7c33c..6d402d24a05445 100644 --- a/src/vs/workbench/api/node/extHost.api.impl.ts +++ b/src/vs/workbench/api/node/extHost.api.impl.ts @@ -147,8 +147,8 @@ export function createApiFactory( this._seen.add(apiName); /* __GDPR__ "apiUsage" : { - "name" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extension": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "name" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extension": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "${include}": [ "${MainThreadData}" ] @@ -505,9 +505,9 @@ export function createApiFactory( createSourceControl(id: string, label: string, rootUri?: vscode.Uri) { /* __GDPR__ "registerSCMProvider" : { - "extensionId" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "providerId": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "providerLabel": { "endPoint": "none", "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, + "extensionId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "providerId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "providerLabel": { "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, "${include}": [ "${MainThreadData}" ] diff --git a/src/vs/workbench/api/node/extHostExtensionService.ts b/src/vs/workbench/api/node/extHostExtensionService.ts index 6555a222bf90bf..407a5a6cd58ee9 100644 --- a/src/vs/workbench/api/node/extHostExtensionService.ts +++ b/src/vs/workbench/api/node/extHostExtensionService.ts @@ -389,15 +389,15 @@ function loadCommonJSModule(modulePath: string, activationTimesBuilder: Exten function getTelemetryActivationEvent(extensionDescription: IExtensionDescription): any { /* __GDPR__FRAGMENT__ "TelemetryActivationEvent" : { - "id": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "name": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "publisherDisplayName": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "activationEvents": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "isBuiltin": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "id": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "name": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "publisherDisplayName": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "activationEvents": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isBuiltin": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "${wildcard}": [ { "${prefix}": "contribution.", - "${classification}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "${classification}": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } ] } diff --git a/src/vs/workbench/api/node/extHostTextEditor.ts b/src/vs/workbench/api/node/extHostTextEditor.ts index af6d437a17d2f1..dde54d0e6f2392 100644 --- a/src/vs/workbench/api/node/extHostTextEditor.ts +++ b/src/vs/workbench/api/node/extHostTextEditor.ts @@ -597,8 +597,8 @@ export class ExtHostTextEditor2 extends ExtHostTextEditor { if (extension) { /* __GDPR__ "usesCommandLink" : { - "extension" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extension" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "${include}": [ "${MainThreadData}" ] diff --git a/src/vs/workbench/browser/composite.ts b/src/vs/workbench/browser/composite.ts index 8d2782a6ccdaaa..cfcb5993fe9dcd 100644 --- a/src/vs/workbench/browser/composite.ts +++ b/src/vs/workbench/browser/composite.ts @@ -110,7 +110,7 @@ export abstract class Composite extends Component implements IComposite { const eventName: string = 'compositeOpen'; /* __GDPR__ "compositeOpen" : { - "composite" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "composite" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this._telemetryService.publicLog(eventName, { composite: this.getId() }); @@ -128,8 +128,8 @@ export abstract class Composite extends Component implements IComposite { this._telemetryData.composite = this.getId(); /* __GDPR__ "compositeShown" : { - "timeSpent" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "composite": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "timeSpent" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "composite": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this._telemetryService.publicLog(eventName, this._telemetryData); diff --git a/src/vs/workbench/browser/parts/compositePart.ts b/src/vs/workbench/browser/parts/compositePart.ts index ff110ab1c7649b..acdcbc9975dc1b 100644 --- a/src/vs/workbench/browser/parts/compositePart.ts +++ b/src/vs/workbench/browser/parts/compositePart.ts @@ -311,8 +311,8 @@ export abstract class CompositePart extends Part { if (this.telemetryService) { /* __GDPR__ "workbenchActionExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workbenchActionExecuted', { id: e.action.id, from: this.nameForTelemetry }); diff --git a/src/vs/workbench/browser/parts/editor/editorPart.ts b/src/vs/workbench/browser/parts/editor/editorPart.ts index 0ce8f44976c6be..c05d8b9031c051 100644 --- a/src/vs/workbench/browser/parts/editor/editorPart.ts +++ b/src/vs/workbench/browser/parts/editor/editorPart.ts @@ -342,7 +342,7 @@ export class EditorPart extends Part implements IEditorPart, IEditorGroupService if (position !== Position.ONE) { /* __GDPR__ "workbenchSideEditorOpened" : { - "position" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "position" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workbenchSideEditorOpened', { position: position }); diff --git a/src/vs/workbench/browser/parts/editor/titleControl.ts b/src/vs/workbench/browser/parts/editor/titleControl.ts index 0f3c92d383460d..4cb58efa3c69d5 100644 --- a/src/vs/workbench/browser/parts/editor/titleControl.ts +++ b/src/vs/workbench/browser/parts/editor/titleControl.ts @@ -261,8 +261,8 @@ export abstract class TitleControl extends Themable implements ITitleAreaControl if (this.telemetryService) { /* __GDPR__ "workbenchActionExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workbenchActionExecuted', { id: e.action.id, from: 'editorPart' }); diff --git a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts index aa65a85917f3cf..ccc519931c9c76 100644 --- a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts +++ b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts @@ -554,7 +554,7 @@ export class QuickOpenController extends Component implements IQuickOpenService /* __GDPR__ "quickOpenWidgetShown" : { - "mode" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "mode" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "quickNavigate": { "${inline}": [ "${IQuickNavigateConfiguration}" ] } } */ diff --git a/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts b/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts index 3714236aa0a735..de1e639aeeb163 100644 --- a/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts +++ b/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts @@ -295,8 +295,8 @@ class StatusBarEntryItem implements IStatusbarItem { if (action.enabled) { /* __GDPR__ "workbenchActionExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workbenchActionExecuted', { id: action.id, from: 'status bar' }); diff --git a/src/vs/workbench/common/actions.ts b/src/vs/workbench/common/actions.ts index 24a43473a4b584..b8557349a2badb 100644 --- a/src/vs/workbench/common/actions.ts +++ b/src/vs/workbench/common/actions.ts @@ -172,8 +172,8 @@ function triggerAndDisposeAction(instantitationService: IInstantiationService, t if (telemetryService) { /* __GDPR__ "workbenchActionExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ telemetryService.publicLog('workbenchActionExecuted', { id: actionInstance.id, from }); diff --git a/src/vs/workbench/common/editor.ts b/src/vs/workbench/common/editor.ts index 9e4b4959580675..3674332592e521 100644 --- a/src/vs/workbench/common/editor.ts +++ b/src/vs/workbench/common/editor.ts @@ -205,7 +205,7 @@ export abstract class EditorInput implements IEditorInput { public getTelemetryDescriptor(): object { /* __GDPR__FRAGMENT__ "EditorTelemetryDescriptor" : { - "typeId" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "typeId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ return { typeId: this.getTypeId() }; @@ -799,15 +799,15 @@ export const EditorOpenPositioning = { export interface IWorkbenchEditorConfiguration { /* __GDPR__FRAGMENT__ "IWorkbenchEditorConfiguration" : { - "showTabs" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "tabCloseButton": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "showIcons": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "enablePreview": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "enablePreviewFromQuickOpen": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "closeOnFileDelete": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "openPositioning": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "revealIfOpen": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "swipeToNavigate": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "showTabs" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "tabCloseButton": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "showIcons": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "enablePreview": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "enablePreviewFromQuickOpen": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "closeOnFileDelete": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "openPositioning": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "revealIfOpen": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "swipeToNavigate": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ workbench: { diff --git a/src/vs/workbench/electron-browser/nodeCachedDataManager.ts b/src/vs/workbench/electron-browser/nodeCachedDataManager.ts index e275bac0b75465..b7c4c9e36d51cf 100644 --- a/src/vs/workbench/electron-browser/nodeCachedDataManager.ts +++ b/src/vs/workbench/electron-browser/nodeCachedDataManager.ts @@ -34,8 +34,8 @@ export class NodeCachedDataManager { if (err) { /* __GDPR__ "cachedDataError" : { - "errorCode" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "path": { "endPoint": "none", "classification": "CustomerContent", "purpose": "PerformanceAndHealth" } + "errorCode" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "path": { "classification": "CustomerContent", "purpose": "PerformanceAndHealth" } } */ this._telemetryService.publicLog('cachedDataError', { @@ -48,9 +48,9 @@ export class NodeCachedDataManager { // log summary /* __GDPR__ "cachedDataInfo" : { - "didRequestCachedData" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "didRejectCachedData": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "didProduceCachedData": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "didRequestCachedData" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "didRejectCachedData": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "didProduceCachedData": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ this._telemetryService.publicLog('cachedDataInfo', { diff --git a/src/vs/workbench/electron-browser/shell.ts b/src/vs/workbench/electron-browser/shell.ts index 86afd96a877635..ed0c0605689d13 100644 --- a/src/vs/workbench/electron-browser/shell.ts +++ b/src/vs/workbench/electron-browser/shell.ts @@ -201,24 +201,24 @@ export class WorkbenchShell { const { filesToOpen, filesToCreate, filesToDiff } = this.configuration; /* __GDPR__ "workspaceLoad" : { - "userAgent" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "windowSize.innerHeight": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "windowSize.innerWidth": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "windowSize.outerHeight": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "windowSize.outerWidth": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "emptyWorkbench": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workbench.filesToOpen": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workbench.filesToCreate": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workbench.filesToDiff": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "customKeybindingsCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "theme": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "language": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "BusinessInsight" }, + "userAgent" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowSize.innerHeight": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowSize.innerWidth": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowSize.outerHeight": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowSize.outerWidth": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "emptyWorkbench": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToOpen": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToCreate": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToDiff": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "customKeybindingsCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "theme": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "language": { "classification": "SystemMetaData", "purpose": "BusinessInsight" }, "experiments": { "${inline}": [ "${IExperiments}" ] }, - "pinnedViewlets": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "restoredViewlet": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "restoredEditors": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "pinnedViewlets": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "startupKind": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "pinnedViewlets": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "restoredViewlet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "restoredEditors": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "pinnedViewlets": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "startupKind": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workspaceLoad', { diff --git a/src/vs/workbench/electron-browser/window.ts b/src/vs/workbench/electron-browser/window.ts index 0223d59c2d9c3b..e11a4d36565453 100644 --- a/src/vs/workbench/electron-browser/window.ts +++ b/src/vs/workbench/electron-browser/window.ts @@ -147,8 +147,8 @@ export class ElectronWindow extends Themable { this.commandService.executeCommand(request.id, ...args).done(_ => { /* __GDPR__ "commandExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('commandExecuted', { id: request.id, from: request.from }); diff --git a/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts b/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts index 3c1e657aa10af1..911399623f67ce 100644 --- a/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts +++ b/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts @@ -104,8 +104,8 @@ export class DebugActionsWidget extends Themable implements IWorkbenchContributi if (this.telemetryService) { /* __GDPR__ "workbenchActionExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workbenchActionExecuted', { id: e.action.id, from: 'debugActionsWidget' }); @@ -149,7 +149,7 @@ export class DebugActionsWidget extends Themable implements IWorkbenchContributi this.storageService.store(DEBUG_ACTIONS_WIDGET_POSITION_KEY, position, StorageScope.WORKSPACE); /* __GDPR__ "debug.actionswidgetposition" : { - "position" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "position" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog(DEBUG_ACTIONS_WIDGET_POSITION_KEY, { position }); diff --git a/src/vs/workbench/parts/debug/electron-browser/debugService.ts b/src/vs/workbench/parts/debug/electron-browser/debugService.ts index 765a7dfa83d69e..d587655099964a 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugService.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugService.ts @@ -915,13 +915,13 @@ export class DebugService implements debug.IDebugService { /* __GDPR__ "debugSessionStart" : { - "type": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "breakpointCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "exceptionBreakpoints": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "watchExpressionsCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionName": { "endPoint": "none", "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, - "isBuiltin": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "launchJsonExists": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "type": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "breakpointCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "exceptionBreakpoints": { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "watchExpressionsCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionName": { "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, + "isBuiltin": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "launchJsonExists": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ return this.telemetryService.publicLog('debugSessionStart', { @@ -942,8 +942,8 @@ export class DebugService implements debug.IDebugService { const errorMessage = error instanceof Error ? error.message : error; /* __GDPR__ "debugMisconfiguration" : { - "type" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "error": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "type" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "error": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('debugMisconfiguration', { type: configuration ? configuration.type : undefined, error: errorMessage }); @@ -1062,11 +1062,11 @@ export class DebugService implements debug.IDebugService { const process = this.model.getProcesses().filter(p => p.getId() === session.getId()).pop(); /* __GDPR__ "debugSessionStop" : { - "type" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "success": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "sessionLengthInSeconds": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "breakpointCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "watchExpressionsCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "type" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "success": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "sessionLengthInSeconds": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "breakpointCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "watchExpressionsCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('debugSessionStop', { diff --git a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts index e0972aee21ec7d..286e29524f5dff 100644 --- a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts +++ b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts @@ -166,14 +166,14 @@ export class RawDebugSession extends V8Protocol implements debug.ISession { if (error && error.sendTelemetry) { /* __GDPR__ "debugProtocolErrorResponse" : { - "error" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "error" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('debugProtocolErrorResponse', { error: telemetryMessage }); if (this.customTelemetryService) { /* __GDPR__ "debugProtocolErrorResponse" : { - "error" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "error" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.customTelemetryService.publicLog('debugProtocolErrorResponse', { error: telemetryMessage }); diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts index 2bb34cc14b2050..961d417aec688d 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts @@ -116,8 +116,8 @@ export class ExtensionTipsService implements IExtensionTipsService { /* __GDPR__ "extensionRecommendations:unfiltered" : { - "fileBased" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "exeBased": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "fileBased" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "exeBased": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('extensionRecommendations:unfiltered', { fileBased, exeBased }); @@ -255,7 +255,7 @@ export class ExtensionTipsService implements IExtensionTipsService { case 0: /* __GDPR__ "extensionRecommendations:popup" : { - "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } } */ @@ -269,7 +269,7 @@ export class ExtensionTipsService implements IExtensionTipsService { ); /* __GDPR__ "extensionRecommendations:popup" : { - "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } } */ @@ -278,7 +278,7 @@ export class ExtensionTipsService implements IExtensionTipsService { case 2: /* __GDPR__ "extensionRecommendations:popup" : { - "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } } */ @@ -287,7 +287,7 @@ export class ExtensionTipsService implements IExtensionTipsService { }, () => { /* __GDPR__ "extensionRecommendations:popup" : { - "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } } */ @@ -337,7 +337,7 @@ export class ExtensionTipsService implements IExtensionTipsService { case 0: /* __GDPR__ "extensionRecommendations:popup" : { - "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'show' }); @@ -345,7 +345,7 @@ export class ExtensionTipsService implements IExtensionTipsService { case 1: /* __GDPR__ "extensionRecommendations:popup" : { - "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'neverShowAgain' }); @@ -353,7 +353,7 @@ export class ExtensionTipsService implements IExtensionTipsService { case 2: /* __GDPR__ "extensionRecommendations:popup" : { - "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'close' }); @@ -361,7 +361,7 @@ export class ExtensionTipsService implements IExtensionTipsService { }, () => { /* __GDPR__ "extensionRecommendations:popup" : { - "userReaction" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'cancelled' }); diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts index 131b9e1202bfee..824757fac4dbef 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts @@ -70,8 +70,8 @@ export class KeymapExtensions implements IWorkbenchContribution { private promptForDisablingOtherKeymaps(newKeymap: IExtensionStatus, oldKeymaps: IExtensionStatus[]): TPromise { /* __GDPR__FRAGMENT__ "KeyMapsData" : { - "newKeymap" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "oldKeymaps": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "newKeymap" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "oldKeymaps": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ const telemetryData: { [key: string]: any; } = { @@ -98,7 +98,7 @@ export class KeymapExtensions implements IWorkbenchContribution { telemetryData['confirmed'] = confirmed; /* __GDPR__ "disableOtherKeymaps" : { - "confirmed" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "confirmed" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "${include}": [ "${KeyMapsData}" ] @@ -185,7 +185,7 @@ export class BetterMergeDisabled implements IWorkbenchContribution { new Action('uninstall', localize('uninstall', "Uninstall"), null, true, () => { /* __GDPR__ "betterMergeUninstall" : { - "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ telemetryService.publicLog('betterMergeUninstall', { @@ -199,7 +199,7 @@ export class BetterMergeDisabled implements IWorkbenchContribution { new Action('later', localize('later', "Later"), null, true, () => { /* __GDPR__ "betterMergeUninstall" : { - "outcome" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ telemetryService.publicLog('betterMergeUninstall', { diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts index 43e7b1101bdf44..5feec62cd87ac4 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts @@ -317,7 +317,7 @@ export class ExtensionsListView extends ViewsViewletPanel { /* __GDPR__ "extensionRecommendations:open" : { - "count" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('extensionRecommendations:open', { count: names.length }); @@ -341,7 +341,7 @@ export class ExtensionsListView extends ViewsViewletPanel { const names = recommendations.filter(name => name.toLowerCase().indexOf(value) > -1); /* __GDPR__ "extensionWorkspaceRecommendations:open" : { - "count" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('extensionWorkspaceRecommendations:open', { count: names.length }); @@ -361,7 +361,7 @@ export class ExtensionsListView extends ViewsViewletPanel { .filter(name => name.toLowerCase().indexOf(value) > -1); /* __GDPR__ "extensionKeymapRecommendations:open" : { - "count" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('extensionKeymapRecommendations:open', { count: names.length }); diff --git a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts index 3fbd5d0ce92e3b..5b860f40dfc109 100644 --- a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts +++ b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts @@ -817,7 +817,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { /* __GDPR__ "extensionGallery:install" : { - "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "duration" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "${include}": [ "${GalleryExtensionTelemetryData}" ] @@ -825,7 +825,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { */ /* __GDPR__ "extensionGallery:update" : { - "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "duration" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "${include}": [ "${GalleryExtensionTelemetryData}" ] @@ -833,7 +833,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { */ /* __GDPR__ "extensionGallery:uninstall" : { - "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "duration" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "${include}": [ "${GalleryExtensionTelemetryData}" ] diff --git a/src/vs/workbench/parts/files/browser/views/explorerViewer.ts b/src/vs/workbench/parts/files/browser/views/explorerViewer.ts index c4d5a48b5e45e0..833836aa42dfd0 100644 --- a/src/vs/workbench/parts/files/browser/views/explorerViewer.ts +++ b/src/vs/workbench/parts/files/browser/views/explorerViewer.ts @@ -539,8 +539,8 @@ export class FileController extends DefaultController { if (stat && !stat.isDirectory) { /* __GDPR__ "workbenchActionExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workbenchActionExecuted', { id: 'workbench.files.openFile', from: 'explorer' }); diff --git a/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts b/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts index 6f243b32a3bea9..578e93f3e0e849 100644 --- a/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts +++ b/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts @@ -275,8 +275,8 @@ export class Controller extends DefaultController { if (element) { /* __GDPR__ "workbenchActionExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workbenchActionExecuted', { id: 'workbench.files.openFile', from: 'openEditors' }); diff --git a/src/vs/workbench/parts/markers/browser/markersPanel.ts b/src/vs/workbench/parts/markers/browser/markersPanel.ts index 789d16386a1992..89563149e7702a 100644 --- a/src/vs/workbench/parts/markers/browser/markersPanel.ts +++ b/src/vs/workbench/parts/markers/browser/markersPanel.ts @@ -150,7 +150,7 @@ export class MarkersPanel extends Panel { const marker: Marker = element; /* __GDPR__ "problems.marker.opened" : { - "source" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "source" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('problems.marker.opened', { source: marker.marker.source }); diff --git a/src/vs/workbench/parts/markers/browser/markersPanelActions.ts b/src/vs/workbench/parts/markers/browser/markersPanelActions.ts index c5949b625d1a81..7459d9d0dedfb4 100644 --- a/src/vs/workbench/parts/markers/browser/markersPanelActions.ts +++ b/src/vs/workbench/parts/markers/browser/markersPanelActions.ts @@ -143,9 +143,9 @@ export class FilterInputBoxActionItem extends BaseActionItem { data['infos'] = this.markersPanel.markersModel.filterOptions.filterInfos; /* __GDPR__ "problems.filter" : { - "errors" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "warnings": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "infos": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "errors" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "warnings": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "infos": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('problems.filter', data); diff --git a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts index 8d3f4b450d7149..0598ee9d18985b 100644 --- a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts @@ -523,8 +523,8 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor this.latestEmptyFilters = []; /* __GDPR__ "keybindings.filter" : { - "filter": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "emptyFilters" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "filter": { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "emptyFilters" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('keybindings.filter', data); diff --git a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts index 88f34ac6d75d78..3aedcefcd57db5 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts @@ -325,8 +325,8 @@ export class PreferencesEditor extends BaseEditor { this.latestEmptyFilters = []; /* __GDPR__ "defaultSettings.filter" : { - "filter": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "emptyFilters" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "filter": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "emptyFilters" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('defaultSettings.filter', data); diff --git a/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts b/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts index 5fe824ea566f5c..a3b86ba458f2ce 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts @@ -110,7 +110,7 @@ export class UserSettingsRenderer extends Disposable implements IPreferencesRend public updatePreference(key: string, value: any, source: ISetting): void { /* __GDPR__ "defaultSettingsActions.copySetting" : { - "userConfigurationKeys" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "userConfigurationKeys" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('defaultSettingsActions.copySetting', { userConfigurationKeys: [key] }); diff --git a/src/vs/workbench/parts/preferences/browser/preferencesService.ts b/src/vs/workbench/parts/preferences/browser/preferencesService.ts index e86ff9e79b410e..203b3487e0a4d5 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesService.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesService.ts @@ -225,7 +225,7 @@ export class PreferencesService extends Disposable implements IPreferencesServic openGlobalKeybindingSettings(textual: boolean): TPromise { /* __GDPR__ "openKeybindings" : { - "textual" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "textual" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('openKeybindings', { textual }); diff --git a/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts b/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts index 050f508017292c..a09aaf6b7b8b8e 100644 --- a/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts +++ b/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts @@ -299,8 +299,8 @@ abstract class BaseCommandEntry extends QuickOpenEntryGroup { try { /* __GDPR__ "workbenchActionExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workbenchActionExecuted', { id: action.id, from: 'quick open' }); diff --git a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts index 63f575866b8c93..bf411c9079a5ca 100644 --- a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts +++ b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts @@ -34,32 +34,32 @@ interface ISearchWithRange { /* __GDPR__FRAGMENT__ "ITimerEventData" : { - "searchLength" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "unsortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "sortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "resultCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "symbols.fromCache": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.fromCache": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.unsortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.sortedResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.resultCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.traversal": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.errors": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.fileWalkStartDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.fileWalkResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.directoriesWalked": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.filesWalked": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cmdForkStartTime": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cmdForkResultTime": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cmdResultCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cacheLookupStartDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cacheFilterStartDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cacheLookupResultDuration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cacheEntryCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "searchLength" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "unsortedResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "sortedResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "resultCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "symbols.fromCache": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.fromCache": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.unsortedResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.sortedResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.resultCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.traversal": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.errors": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.fileWalkStartDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.fileWalkResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.directoriesWalked": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.filesWalked": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cmdForkStartTime": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cmdForkResultTime": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cmdResultCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cacheLookupStartDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cacheFilterStartDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cacheLookupResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cacheEntryCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "${wildcard}": [ { "${prefix}": "files.joined", - "${classification}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "${classification}": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } ] } @@ -243,7 +243,7 @@ export class OpenAnythingHandler extends QuickOpenHandler { /* __GDPR__ "openAnything" : { - "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "${include}": [ "${ITimerEventData}" ] diff --git a/src/vs/workbench/parts/search/common/searchModel.ts b/src/vs/workbench/parts/search/common/searchModel.ts index a02fb3fed951a5..ad4f3ad0ffb8b3 100644 --- a/src/vs/workbench/parts/search/common/searchModel.ts +++ b/src/vs/workbench/parts/search/common/searchModel.ts @@ -570,7 +570,7 @@ export class SearchResult extends Disposable { const onDone = stopwatch(fromPromise(promise)); /* __GDPR__ "replaceAll.started" : { - "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ onDone(duration => this.telemetryService.publicLog('replaceAll.started', { duration })); @@ -732,7 +732,7 @@ export class SearchModel extends Disposable { const onFirstRenderStopwatch = stopwatch(onFirstRender); /* __GDPR__ "searchResultsFirstRender" : { - "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ onFirstRenderStopwatch(duration => this.telemetryService.publicLog('searchResultsFirstRender', { duration })); @@ -742,7 +742,7 @@ export class SearchModel extends Disposable { /* __GDPR__ "searchResultsFinished" : { - "duration" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ onDoneStopwatch(duration => this.telemetryService.publicLog('searchResultsFinished', { duration })); @@ -771,11 +771,11 @@ export class SearchModel extends Disposable { delete options.pattern; /* __GDPR__ "searchresultsShown" : { - "count" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "fileCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "fileCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "options": { "${inline}": [ "${IPatternInfo}" ] }, - "duration": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "useRipgrep": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "duration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "useRipgrep": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('searchResultsShown', { diff --git a/src/vs/workbench/parts/tasks/common/taskSystem.ts b/src/vs/workbench/parts/tasks/common/taskSystem.ts index 5aabdd39d23f21..3edda7015f6ee2 100644 --- a/src/vs/workbench/parts/tasks/common/taskSystem.ts +++ b/src/vs/workbench/parts/tasks/common/taskSystem.ts @@ -38,12 +38,12 @@ export class TaskError { /* __GDPR__FRAGMENT__ "TelemetryEvent" : { - "trigger" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "runner": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "taskKind": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "command": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "success": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "exitCode": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "trigger" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "runner": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "taskKind": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "command": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "success": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "exitCode": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ export interface TelemetryEvent { diff --git a/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts b/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts index 0f10063fe1c4a9..34eb91a1b638ab 100644 --- a/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts +++ b/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts @@ -1100,7 +1100,7 @@ class TaskService extends EventEmitter implements ITaskService { }; /* __GDPR__ "taskService.customize" : { - "properties" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "properties" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog(TaskService.CustomizationTelemetryEventName, event); diff --git a/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts b/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts index 663f6388880c0c..ff447c18678af5 100644 --- a/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts +++ b/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts @@ -325,8 +325,8 @@ class WelcomePage { a.addEventListener('click', e => { /* __GDPR__ "workbenchActionExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workbenchActionExecuted', { @@ -410,8 +410,8 @@ class WelcomePage { private installExtension(extensionSuggestion: ExtensionSuggestion, strings: Strings): void { /* __GDPR__FRAGMENT__ "WelcomePageInstall-1" : { - "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog(strings.installEvent, { @@ -423,9 +423,9 @@ class WelcomePage { if (installedExtension && installedExtension.globallyEnabled) { /* __GDPR__FRAGMENT__ "WelcomePageInstalled-1" : { - "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog(strings.installedEvent, { @@ -472,9 +472,9 @@ class WelcomePage { .then(() => { /* __GDPR__FRAGMENT__ "WelcomePageInstalled-2" : { - "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog(strings.installedEvent, { @@ -487,9 +487,9 @@ class WelcomePage { } else { /* __GDPR__FRAGMENT__ "WelcomePageInstalled-3" : { - "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog(strings.installedEvent, { @@ -504,10 +504,10 @@ class WelcomePage { }).then(null, err => { /* __GDPR__FRAGMENT__ "WelcomePageInstalled-4" : { - "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "error": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "error": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ this.telemetryService.publicLog(strings.installedEvent, { @@ -523,8 +523,8 @@ class WelcomePage { new Action('details', localize('details', "Details"), null, true, () => { /* __GDPR__FRAGMENT__ "WelcomePageDetails-1" : { - "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog(strings.detailsEvent, { @@ -539,9 +539,9 @@ class WelcomePage { new Action('cancel', localize('cancel', "Cancel"), null, true, () => { /* __GDPR__FRAGMENT__ "WelcomePageInstalled-5" : { - "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog(strings.installedEvent, { @@ -556,10 +556,10 @@ class WelcomePage { }).then(null, err => { /* __GDPR__FRAGMENT__ "WelcomePageInstalled-6" : { - "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "error": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "error": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ this.telemetryService.publicLog(strings.installedEvent, { diff --git a/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts b/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts index 19e28ae242bb68..94f97255ff321e 100644 --- a/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts +++ b/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts @@ -180,9 +180,9 @@ export class WalkThroughPart extends BaseEditor { let scrollTarget = this.content.querySelector(node.hash); /* __GDPR__ "revealInDocument" : { - "hash" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "broken": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "hash" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "broken": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('revealInDocument', { @@ -218,8 +218,8 @@ export class WalkThroughPart extends BaseEditor { if (uri.scheme === 'http' || uri.scheme === 'https') { /* __GDPR__ "openExternal" : { - "uri" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "uri" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('openExternal', { @@ -356,8 +356,8 @@ export class WalkThroughPart extends BaseEditor { const options = this.getEditorOptions(snippet.textEditorModel.getModeId()); /* __GDPR__FRAGMENT__ "EditorTelemetryData" : { - "target" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "snippet": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "target" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ const telemetryData = { @@ -410,9 +410,9 @@ export class WalkThroughPart extends BaseEditor { this.contentDisposables.push(once(editor.onMouseDown)(() => { /* __GDPR__ "walkThroughSnippetInteraction" : { - "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "type": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "snippet": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "type": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('walkThroughSnippetInteraction', { @@ -424,9 +424,9 @@ export class WalkThroughPart extends BaseEditor { this.contentDisposables.push(once(editor.onKeyDown)(() => { /* __GDPR__ "walkThroughSnippetInteraction" : { - "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "type": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "snippet": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "type": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('walkThroughSnippetInteraction', { @@ -438,9 +438,9 @@ export class WalkThroughPart extends BaseEditor { this.contentDisposables.push(once(editor.onDidChangeModelContent)(() => { /* __GDPR__ "walkThroughSnippetInteraction" : { - "from" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "type": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "snippet": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "type": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('walkThroughSnippetInteraction', { diff --git a/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts b/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts index f3a4610d00f298..1b2a25daf6906b 100644 --- a/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts +++ b/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts @@ -95,7 +95,7 @@ export class WalkThroughInput extends EditorInput { descriptor['resource'] = telemetryURIDescriptor(this.options.resource); /* __GDPR__FRAGMENT__ "EditorTelemetryDescriptor" : { - "target" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "target" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "resource": { "${inline}": [ "${URIDescriptor}" ] } } */ @@ -173,7 +173,7 @@ export class WalkThroughInput extends EditorInput { this.resolveTime = Date.now(); /* __GDPR__ "resolvingInput" : { - "target" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "target" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('resolvingInput', { @@ -186,11 +186,11 @@ export class WalkThroughInput extends EditorInput { if (this.resolveTime) { /* __GDPR__ "disposingInput" : { - "target" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "timeSpent": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "reason": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "maxTopScroll": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "maxBottomScroll": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "target" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "timeSpent": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "reason": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "maxTopScroll": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "maxBottomScroll": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('disposingInput', { diff --git a/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts b/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts index e07f1f8de97146..34515dba9b4031 100644 --- a/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts +++ b/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts @@ -113,8 +113,8 @@ export class ContextMenuService implements IContextMenuService { private runAction(actionRunner: IActionRunner, actionToRun: IAction, delegate: IContextMenuDelegate, event: IEvent): void { /* __GDPR__ "workbenchActionExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workbenchActionExecuted', { id: actionToRun.id, from: 'contextMenu' }); diff --git a/src/vs/workbench/services/extensions/electron-browser/extensionService.ts b/src/vs/workbench/services/extensions/electron-browser/extensionService.ts index 5d6e9ea57fbef7..af7c9fda0034e6 100644 --- a/src/vs/workbench/services/extensions/electron-browser/extensionService.ts +++ b/src/vs/workbench/services/extensions/electron-browser/extensionService.ts @@ -302,8 +302,8 @@ export class ExtensionService implements IExtensionService { /* __GDPR__ "extensionsScanned" : { - "totalCount" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "disabledCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "totalCount" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "disabledCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ this._telemetryService.publicLog('extensionsScanned', { @@ -355,10 +355,10 @@ export class ExtensionService implements IExtensionService { const { type, extensionId, extensionPointId, message } = msg; /* __GDPR__ "extensionsMessage" : { - "type" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "extensionId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "extensionPointId": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "message": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "type" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "extensionPointId": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "message": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ this._telemetryService.publicLog('extensionsMessage', { diff --git a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts index 69d92d5f6ac0a9..57bf0f221fad05 100644 --- a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts +++ b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts @@ -412,7 +412,7 @@ export class WorkbenchKeybindingService extends AbstractKeybindingService { /* __GDPR__ "customKeybindingsChanged" : { - "keyCount" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "keyCount" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('customKeybindingsChanged', { diff --git a/src/vs/workbench/services/message/browser/messageList.ts b/src/vs/workbench/services/message/browser/messageList.ts index 85e38aea40eccf..67b2e2623a5865 100644 --- a/src/vs/workbench/services/message/browser/messageList.ts +++ b/src/vs/workbench/services/message/browser/messageList.ts @@ -306,8 +306,8 @@ export class MessageList { /* __GDPR__ "workbenchActionExecuted" : { - "id" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workbenchActionExecuted', { id: action.id, from: 'message' }); diff --git a/src/vs/workbench/services/telemetry/common/workspaceStats.ts b/src/vs/workbench/services/telemetry/common/workspaceStats.ts index 7b496c739868b7..cd737abb95c896 100644 --- a/src/vs/workbench/services/telemetry/common/workspaceStats.ts +++ b/src/vs/workbench/services/telemetry/common/workspaceStats.ts @@ -146,30 +146,30 @@ export class WorkspaceStats { /* __GDPR__FRAGMENT__ "WorkspaceTags" : { - "workbench.filesToOpen" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workbench.filesToCreate" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workbench.filesToDiff" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workspace.roots" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.empty" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.grunt" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.gulp" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.jake" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.tsconfig" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.jsconfig" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.config.xml" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.vsc.extension" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.ASP5" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.sln" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.unity" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.npm" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.bower" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.yeoman.code.ext" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.cordova.high" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.cordova.low" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.xamarin.android" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.xamarin.ios" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.android.cpp" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.reactNative" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } + "workbench.filesToOpen" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToCreate" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToDiff" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workspace.roots" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.empty" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.grunt" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.gulp" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.jake" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.tsconfig" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.jsconfig" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.config.xml" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.vsc.extension" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.ASP5" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.sln" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.unity" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.npm" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.bower" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.yeoman.code.ext" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.cordova.high" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.cordova.low" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.xamarin.android" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.xamarin.ios" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.android.cpp" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.reactNative" : { "classification": "CustomerContent", "purpose": "FeatureInsight" } } */ private getWorkspaceTags(configuration: IWindowConfiguration): TPromise { @@ -298,7 +298,7 @@ export class WorkspaceStats { set.forEach(item => list.push(item)); /* __GDPR__ "workspace.remotes" : { - "domains" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } + "domains" : { "classification": "CustomerContent", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workspace.remotes', { domains: list.sort() }); @@ -316,7 +316,7 @@ export class WorkspaceStats { })).then(hashedRemotes => { /* __GDPR__ "workspace.hashedRemotes" : { - "remotes" : { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } + "remotes" : { "classification": "CustomerContent", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('workspace.hashedRemotes', { remotes: hashedRemotes }); @@ -325,7 +325,7 @@ export class WorkspaceStats { /* __GDPR__FRAGMENT__ "AzureTags" : { - "node" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "node" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ private reportAzureNode(workspaceUris: URI[], tags: Tags): TPromise { @@ -351,7 +351,7 @@ export class WorkspaceStats { /* __GDPR__FRAGMENT__ "AzureTags" : { - "java" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "java" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ private reportAzureJava(workspaceUris: URI[], tags: Tags): TPromise { diff --git a/src/vs/workbench/services/textfile/common/textFileEditorModel.ts b/src/vs/workbench/services/textfile/common/textFileEditorModel.ts index 9bb53f432a02b3..2360ed580d52db 100644 --- a/src/vs/workbench/services/textfile/common/textFileEditorModel.ts +++ b/src/vs/workbench/services/textfile/common/textFileEditorModel.ts @@ -369,9 +369,9 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil // Telemetry /* __GDPR__ "fileGet" : { - "mimeType" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "ext": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "path": { "endPoint": "none", "classification": "CustomerContent", "purpose": "FeatureInsight" } + "mimeType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "ext": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "path": { "classification": "CustomerContent", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('fileGet', { mimeType: guessMimeTypes(this.resource.fsPath).join(', '), ext: paths.extname(this.resource.fsPath), path: anonymize(this.resource.fsPath) }); @@ -712,8 +712,8 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil } else { /* __GDPR__ "filePUT" : { - "mimeType" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "ext": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "mimeType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "ext": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('filePUT', { mimeType: guessMimeTypes(this.resource.fsPath).join(', '), ext: paths.extname(this.lastResolvedDiskStat.resource.fsPath) }); diff --git a/src/vs/workbench/services/textfile/common/textFileService.ts b/src/vs/workbench/services/textfile/common/textFileService.ts index f7640f6acfd122..2461fd37f5f3b3 100644 --- a/src/vs/workbench/services/textfile/common/textFileService.ts +++ b/src/vs/workbench/services/textfile/common/textFileService.ts @@ -220,9 +220,9 @@ export abstract class TextFileService implements ITextFileService { // Telemetry /* __GDPR__ "hotExit:triggered" : { - "reason" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "windowCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "fileCount": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "reason" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "fileCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('hotExit:triggered', { reason, windowCount, fileCount: dirtyToBackup.length }); diff --git a/src/vs/workbench/services/textfile/common/textfiles.ts b/src/vs/workbench/services/textfile/common/textfiles.ts index 1240afbfa83f88..13427c4653907c 100644 --- a/src/vs/workbench/services/textfile/common/textfiles.ts +++ b/src/vs/workbench/services/textfile/common/textfiles.ts @@ -102,9 +102,9 @@ export interface IResult { /* __GDPR__FRAGMENT__ "IAutoSaveConfiguration" : { - "autoSaveDelay" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "autoSaveFocusChange": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "autoSaveApplicationChange": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" } + "autoSaveDelay" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "autoSaveFocusChange": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "autoSaveApplicationChange": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ export interface IAutoSaveConfiguration { diff --git a/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts b/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts index 059834c852f402..c027ae8af77d66 100644 --- a/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts +++ b/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts @@ -644,11 +644,11 @@ export class WorkbenchThemeService implements IWorkbenchThemeService { if (!this.themeExtensionsActivated.get(key)) { /* __GDPR__ "activatePlugin" : { - "id" : { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "name": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "isBuiltin": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "publisherDisplayName": { "endPoint": "none", "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, - "themeId": { "endPoint": "none", "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } + "id" : { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "name": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "isBuiltin": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "publisherDisplayName": { "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, + "themeId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } } */ this.telemetryService.publicLog('activatePlugin', { diff --git a/src/vs/workbench/services/timer/common/timerService.ts b/src/vs/workbench/services/timer/common/timerService.ts index b2b673855532bd..1d6c5d4f16a3ed 100644 --- a/src/vs/workbench/services/timer/common/timerService.ts +++ b/src/vs/workbench/services/timer/common/timerService.ts @@ -10,10 +10,10 @@ export const ITimerService = createDecorator('timerService'); /* __GDPR__FRAGMENT__ "IMemoryInfo" : { - "workingSetSize" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "peakWorkingSetSize": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "privateBytes": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "sharedBytes": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "workingSetSize" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "peakWorkingSetSize": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "privateBytes": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "sharedBytes": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ export interface IMemoryInfo { @@ -25,35 +25,35 @@ export interface IMemoryInfo { /* __GDPR__FRAGMENT__ "IStartupMetrics" : { - "version" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "ellapsed" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedAppReady" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedWindowLoad" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedWindowLoadToRequire" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedExtensions" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedExtensionsReady" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedRequire" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedViewletRestore" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedEditorRestore" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedWorkbench" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedTimersToTimersComputed" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "platform" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "release" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "arch" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "totalmem" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "version" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "ellapsed" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedAppReady" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedWindowLoad" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedWindowLoadToRequire" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedExtensions" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedExtensionsReady" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedRequire" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedViewletRestore" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedEditorRestore" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedWorkbench" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedTimersToTimersComputed" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "platform" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "release" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "arch" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "totalmem" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "meminfo" : { "${inline}": [ "${IMemoryInfo}" ] }, - "cpus.count" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "cpus.speed" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "cpus.model" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "initialStartup" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "hasAccessibilitySupport" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "isVMLikelyhood" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "emptyWorkbench" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "loadavg" : { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "cpus.count" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "cpus.speed" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "cpus.model" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "initialStartup" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "hasAccessibilitySupport" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "isVMLikelyhood" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "emptyWorkbench" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "loadavg" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "${wildcard}": [ { "${prefix}": "timers2.", - "${classification}": { "endPoint": "none", "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "${classification}": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } ] } From 15e6a8284880612a26b46d9687762a8392e67bfa Mon Sep 17 00:00:00 2001 From: kieferrm Date: Fri, 22 Sep 2017 17:54:02 -0700 Subject: [PATCH 30/39] GDPR comments --- src/vs/platform/telemetry/browser/errorTelemetry.ts | 2 +- .../parts/debug/electron-browser/rawDebugSession.ts | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/vs/platform/telemetry/browser/errorTelemetry.ts b/src/vs/platform/telemetry/browser/errorTelemetry.ts index 0e017ed13d1bf5..9ae4c316325605 100644 --- a/src/vs/platform/telemetry/browser/errorTelemetry.ts +++ b/src/vs/platform/telemetry/browser/errorTelemetry.ts @@ -153,7 +153,7 @@ export default class ErrorTelemetry { "column": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ - // __GDPR__TODO more properties are missing + // __GDPR__TODO what's the complete set of properties? this._telemetryService.publicLog('UnhandledError', error); } this._buffer.length = 0; diff --git a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts index 286e29524f5dff..bd6c687d1217a5 100644 --- a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts +++ b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts @@ -171,11 +171,7 @@ export class RawDebugSession extends V8Protocol implements debug.ISession { */ this.telemetryService.publicLog('debugProtocolErrorResponse', { error: telemetryMessage }); if (this.customTelemetryService) { - /* __GDPR__ - "debugProtocolErrorResponse" : { - "error" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + // __GDPR__TODO the message is sent in the name of the adapter but since the adapters are an open set, this can not be statically declared this.customTelemetryService.publicLog('debugProtocolErrorResponse', { error: telemetryMessage }); } } From 8d48ed835ecaa15b7e6e84aabb0671374ba6208e Mon Sep 17 00:00:00 2001 From: kieferrm Date: Mon, 25 Sep 2017 11:34:48 -0700 Subject: [PATCH 31/39] update GDPR todos --- extensions/typescript/src/typescriptServiceClient.ts | 2 +- src/vs/code/electron-main/windows.ts | 2 +- src/vs/editor/contrib/suggest/browser/completionModel.ts | 2 +- src/vs/platform/telemetry/browser/errorTelemetry.ts | 2 +- src/vs/workbench/api/node/extHostLanguageFeatures.ts | 2 +- .../parts/debug/electron-browser/debugService.ts | 2 +- .../parts/debug/electron-browser/rawDebugSession.ts | 5 ++++- .../parts/preferences/browser/keybindingsEditor.ts | 2 +- .../electron-browser/languageSurveys.contribution.ts | 8 ++++---- 9 files changed, 15 insertions(+), 12 deletions(-) diff --git a/extensions/typescript/src/typescriptServiceClient.ts b/extensions/typescript/src/typescriptServiceClient.ts index c83f2aa3cb034e..edee7f5d633cdc 100644 --- a/extensions/typescript/src/typescriptServiceClient.ts +++ b/extensions/typescript/src/typescriptServiceClient.ts @@ -858,7 +858,7 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient "typingsInstallerVersion": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ - // GDPR__COMMENT: Other events are defined by TypeScript. + // __GDPR__COMMENT__: Other events are defined by TypeScript. this.logTelemetry(telemetryData.telemetryEventName, properties); } } diff --git a/src/vs/code/electron-main/windows.ts b/src/vs/code/electron-main/windows.ts index 0f8575d31cd7e1..37d81aaacc83d9 100644 --- a/src/vs/code/electron-main/windows.ts +++ b/src/vs/code/electron-main/windows.ts @@ -1572,7 +1572,7 @@ class FileDialog { // Telemetry if (options.telemetryEventName) { - // __GDPR__TODO + // __GDPR__TODO__ Dynamic event names and dynamic properties. Can not be registered statically. this.telemetryService.publicLog(options.telemetryEventName, { ...options.telemetryExtraData, outcome: numberOfPaths ? 'success' : 'canceled', diff --git a/src/vs/editor/contrib/suggest/browser/completionModel.ts b/src/vs/editor/contrib/suggest/browser/completionModel.ts index 8cbd01e3d13c0c..e902cfd9697422 100644 --- a/src/vs/editor/contrib/suggest/browser/completionModel.ts +++ b/src/vs/editor/contrib/suggest/browser/completionModel.ts @@ -24,7 +24,7 @@ export interface ICompletionItem extends ISuggestionItem { "textCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } */ -// __GDPR__TODO: This is an extensible structure which can not be statically declared. +// __GDPR__TODO__: This is a dynamically extensible structure which can not be declared statically. export interface ICompletionStats { suggestionCount: number; snippetCount: number; diff --git a/src/vs/platform/telemetry/browser/errorTelemetry.ts b/src/vs/platform/telemetry/browser/errorTelemetry.ts index 9ae4c316325605..3d604a4034b461 100644 --- a/src/vs/platform/telemetry/browser/errorTelemetry.ts +++ b/src/vs/platform/telemetry/browser/errorTelemetry.ts @@ -153,7 +153,7 @@ export default class ErrorTelemetry { "column": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } */ - // __GDPR__TODO what's the complete set of properties? + // __GDPR__TODO__ what's the complete set of properties? this._telemetryService.publicLog('UnhandledError', error); } this._buffer.length = 0; diff --git a/src/vs/workbench/api/node/extHostLanguageFeatures.ts b/src/vs/workbench/api/node/extHostLanguageFeatures.ts index 7c8387018a65a3..b075808bd0f03c 100644 --- a/src/vs/workbench/api/node/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/node/extHostLanguageFeatures.ts @@ -880,7 +880,7 @@ export class ExtHostLanguageFeatures implements ExtHostLanguageFeaturesShape { const handle = this._nextHandle(); this._adapter.set(handle, new HoverAdapter(this._documents, provider, once((name: string, data: any) => { data['extension'] = extensionId; - // __GDPR__TODO Dynamic event names and dynamic properties. Can not be registered statically. + // __GDPR__TODO__ Dynamic event names and dynamic properties. Can not be registered statically. this._telemetry.$publicLog(name, data); }))); this._proxy.$registerHoverProvider(handle, selector); diff --git a/src/vs/workbench/parts/debug/electron-browser/debugService.ts b/src/vs/workbench/parts/debug/electron-browser/debugService.ts index d587655099964a..5ce56cb36a5896 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugService.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugService.ts @@ -341,7 +341,7 @@ export class DebugService implements debug.IDebugService { // only log telemetry events from debug adapter if the adapter provided the telemetry key // and the user opted in telemetry if (session.customTelemetryService && this.telemetryService.isOptedIn) { - // __GDPR__TODO Need to move off dynamic event names or properties. They cannot be registered upfront. + // __GDPR__TODO__ We're sending events in the name of the debug adapter and we can not ensure that those are declared correctly. session.customTelemetryService.publicLog(event.body.output, event.body.data); } diff --git a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts index bd6c687d1217a5..291e72af77a455 100644 --- a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts +++ b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts @@ -171,7 +171,10 @@ export class RawDebugSession extends V8Protocol implements debug.ISession { */ this.telemetryService.publicLog('debugProtocolErrorResponse', { error: telemetryMessage }); if (this.customTelemetryService) { - // __GDPR__TODO the message is sent in the name of the adapter but since the adapters are an open set, this can not be statically declared + /* __GDPR__TODO__ + * The message is sent in the name of the adapter but the adapter doesn't know about it. However, since adapters are an open-ended set, + * we can not declared the events statically either. + */ this.customTelemetryService.publicLog('debugProtocolErrorResponse', { error: telemetryMessage }); } } diff --git a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts index 0598ee9d18985b..694c2dc7b96658 100644 --- a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts @@ -541,7 +541,7 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor } private reportKeybindingAction(action: string, command: string, keybinding: ResolvedKeybinding | string): void { - // __GDPR__TODO need to move off dynamic event names and properties as they cannot be registered statically + // __GDPR__TODO__ Need to move off dynamic event names and properties as they cannot be registered statically this.telemetryService.publicLog(action, { command, keybinding: keybinding ? (typeof keybinding === 'string' ? keybinding : keybinding.getUserSettingsLabel()) : '' }); } diff --git a/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts b/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts index e7d0ee6bc2f341..55567eec11f455 100644 --- a/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts +++ b/src/vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts @@ -88,7 +88,7 @@ class LanguageSurvey { const message = nls.localize('helpUs', "Help us improve our support for {0}", data.languageId); const takeSurveyAction = new Action('takeSurvey', nls.localize('takeShortSurvey', "Take Short Survey"), '', true, () => { - // __GDPR__TODO need to move away from dynamic event names as those cannot be registered statically + // __GDPR__TODO__ Need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/takeShortSurvey`); return telemetryService.getTelemetryInfo().then(info => { window.open(`${data.surveyUrl}?o=${encodeURIComponent(process.platform)}&v=${encodeURIComponent(pkg.version)}&m=${encodeURIComponent(info.machineId)}`); @@ -98,14 +98,14 @@ class LanguageSurvey { }); const remindMeLaterAction = new Action('later', nls.localize('remindLater', "Remind Me later"), '', true, () => { - // __GDPR__TODO need to move away from dynamic event names as those cannot be registered statically + // __GDPR__TODO__ Need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/remindMeLater`); storageService.store(SESSION_COUNT_KEY, sessionCount - 3, StorageScope.GLOBAL); return TPromise.as(null); }); const neverAgainAction = new Action('never', nls.localize('neverAgain', "Don't Show Again"), '', true, () => { - // __GDPR__TODO need to move away from dynamic event names as those cannot be registered statically + // __GDPR__TODO__ Need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/dontShowAgain`); storageService.store(IS_CANDIDATE_KEY, false, StorageScope.GLOBAL); storageService.store(SKIP_VERSION_KEY, pkg.version, StorageScope.GLOBAL); @@ -113,7 +113,7 @@ class LanguageSurvey { }); const actions = [neverAgainAction, remindMeLaterAction, takeSurveyAction]; - // __GDPR__TODO need to move away from dynamic event names as those cannot be registered statically + // __GDPR__TODO__ Need to move away from dynamic event names as those cannot be registered statically telemetryService.publicLog(`${data.surveyId}.survey/userAsked`); messageService.show(Severity.Info, { message, actions }); } From 146f868250262a5b0c5935c78f217c3af1035ca7 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Mon, 25 Sep 2017 11:55:36 -0700 Subject: [PATCH 32/39] fixing classification --- src/vs/code/electron-browser/sharedProcessMain.ts | 2 +- src/vs/code/electron-main/app.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vs/code/electron-browser/sharedProcessMain.ts b/src/vs/code/electron-browser/sharedProcessMain.ts index fe27100012cbf3..67faa28623e15a 100644 --- a/src/vs/code/electron-browser/sharedProcessMain.ts +++ b/src/vs/code/electron-browser/sharedProcessMain.ts @@ -109,7 +109,7 @@ function main(server: Server, initData: ISharedProcessInitData): void { const config: ITelemetryServiceConfig = { appender, commonProperties: resolveCommonProperties(product.commit, pkg.version, installSource) - // __GDPR__COMMON__ "common.machineId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.machineId" : { "classification": "EndUserPseudonymizedInformation", "purpose": "FeatureInsight" } .then(result => Object.defineProperty(result, 'common.machineId', { get: () => storageService.get(machineIdStorageKey), enumerable: true diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts index fa34e9e0452179..543a63052299d2 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts @@ -295,7 +295,7 @@ export class CodeApplication { const channel = getDelayedChannel(this.sharedProcessClient.then(c => c.getChannel('telemetryAppender'))); const appender = new TelemetryAppenderClient(channel); const commonProperties = resolveCommonProperties(product.commit, pkg.version, this.environmentService.installSource) - // __GDPR__COMMON__ "common.machineId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.machineId" : { "classification": "EndUserPseudonymizedInformation", "purpose": "FeatureInsight" } .then(result => Object.defineProperty(result, 'common.machineId', { get: () => this.storageService.getItem(machineIdStorageKey), enumerable: true From d5604cfa626124f183b573495d05682cc5ddfb1c Mon Sep 17 00:00:00 2001 From: kieferrm Date: Mon, 25 Sep 2017 15:02:58 -0700 Subject: [PATCH 33/39] update extension install, update and uninstall events --- .../extensions/node/extensionsWorkbenchService.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts index 5b860f40dfc109..b886bf89795b39 100644 --- a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts +++ b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts @@ -817,7 +817,9 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { /* __GDPR__ "extensionGallery:install" : { - "duration" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "success": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } "${include}": [ "${GalleryExtensionTelemetryData}" ] @@ -825,7 +827,9 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { */ /* __GDPR__ "extensionGallery:update" : { - "duration" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "success": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } "${include}": [ "${GalleryExtensionTelemetryData}" ] @@ -833,7 +837,9 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { */ /* __GDPR__ "extensionGallery:uninstall" : { - "duration" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "success": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } "${include}": [ "${GalleryExtensionTelemetryData}" ] From 905eca37728f0a37c623b587db4b450cac7b46a2 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Mon, 25 Sep 2017 15:07:45 -0700 Subject: [PATCH 34/39] add description for new common property --- src/vs/platform/telemetry/node/commonProperties.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/vs/platform/telemetry/node/commonProperties.ts b/src/vs/platform/telemetry/node/commonProperties.ts index e8a16e6e06e6a3..dcae96f487759c 100644 --- a/src/vs/platform/telemetry/node/commonProperties.ts +++ b/src/vs/platform/telemetry/node/commonProperties.ts @@ -28,6 +28,7 @@ export function resolveCommonProperties(commit: string, version: string, source: result['common.nodePlatform'] = process.platform; // __GDPR__COMMON__ "common.nodeArch" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.nodeArch'] = process.arch; + // __GDPR__COMMON__ "common.source" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.source'] = source; // dynamic properties which value differs on each call From 15a5efcc1ac85f39daa7f359dbc9faf16b5a0d05 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Mon, 25 Sep 2017 15:10:27 -0700 Subject: [PATCH 35/39] formatting change --- .../workbench/api/electron-browser/mainThreadSaveParticipant.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts index 830c46aa697a6f..eda0befa00c5bc 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts @@ -273,7 +273,7 @@ export class SaveParticipant implements ISaveParticipant { "${prefix}": "Success-", "${classification}": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } }, - { + { "${prefix}": "Failure-", "${classification}": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } } From 3c70c36085107feffe5a890c18ad783890834afa Mon Sep 17 00:00:00 2001 From: kieferrm Date: Mon, 25 Sep 2017 16:48:46 -0700 Subject: [PATCH 36/39] indentation changes --- extensions/git/src/commands.ts | 50 ++--- extensions/markdown/src/extension.ts | 10 +- .../typescript/src/typescriptServiceClient.ts | 36 ++-- .../typescript/src/utils/projectStatus.ts | 4 +- src/typings/native-keymap.d.ts | 38 ++-- .../quickopen/browser/quickOpenWidget.ts | 22 +- .../base/parts/quickopen/common/quickOpen.ts | 8 +- src/vs/code/electron-main/menus.ts | 10 +- src/vs/editor/common/commonCodeEditor.ts | 4 +- .../editor/common/editorCommonExtensions.ts | 16 +- .../contrib/gotoError/browser/gotoError.ts | 14 +- .../browser/referencesController.ts | 20 +- .../suggest/browser/completionModel.ts | 12 +- .../suggest/browser/suggestController.ts | 14 +- .../contrib/suggest/browser/suggestWidget.ts | 52 ++--- .../contextview/browser/contextMenuHandler.ts | 10 +- .../common/extensionManagementUtil.ts | 26 +-- .../node/extensionGalleryService.ts | 70 +++---- .../platform/opener/browser/openerService.ts | 8 +- src/vs/platform/search/common/search.ts | 18 +- .../telemetry/browser/errorTelemetry.ts | 18 +- .../platform/telemetry/common/experiments.ts | 8 +- .../telemetry/common/telemetryService.ts | 8 +- .../telemetry/common/telemetryUtils.ts | 48 ++--- .../update/electron-main/updateService.ts | 28 +-- .../api/electron-browser/mainThreadEditors.ts | 16 +- .../mainThreadSaveParticipant.ts | 26 +-- .../electron-browser/mainThreadTelemetry.ts | 8 +- src/vs/workbench/api/node/extHost.api.impl.ts | 34 +-- .../api/node/extHostExtensionService.ts | 38 ++-- .../workbench/api/node/extHostTextEditor.ts | 16 +- src/vs/workbench/browser/composite.ts | 18 +- .../workbench/browser/parts/compositePart.ts | 10 +- .../parts/editor/editorGroupsControl.ts | 4 +- .../browser/parts/editor/editorPart.ts | 40 ++-- .../browser/parts/editor/titleControl.ts | 10 +- .../parts/quickopen/quickOpenController.ts | 10 +- .../browser/parts/statusbar/statusbarPart.ts | 10 +- src/vs/workbench/common/actions.ts | 10 +- src/vs/workbench/common/editor.ts | 32 +-- .../common/editor/resourceEditorInput.ts | 8 +- .../common/editor/untitledEditorInput.ts | 8 +- .../electron-browser/nodeCachedDataManager.ts | 22 +- src/vs/workbench/electron-browser/shell.ts | 62 +++--- src/vs/workbench/electron-browser/window.ts | 10 +- .../parts/debug/browser/debugActionsWidget.ts | 18 +- .../debugEditorContribution.ts | 4 +- .../debug/electron-browser/debugService.ts | 50 ++--- .../debug/electron-browser/rawDebugSession.ts | 14 +- .../extensions/browser/extensionEditor.ts | 12 +- .../electron-browser/extensionTipsService.ts | 60 +++--- .../electron-browser/extensionsUtils.ts | 56 ++--- .../electron-browser/extensionsViews.ts | 24 +-- .../node/extensionsWorkbenchService.ts | 90 ++++---- .../files/browser/views/explorerViewer.ts | 10 +- .../files/browser/views/openEditorsViewer.ts | 10 +- .../files/common/editors/fileEditorInput.ts | 8 +- .../parts/markers/browser/markersPanel.ts | 8 +- .../markers/browser/markersPanelActions.ts | 24 +-- .../preferences/browser/keybindingsEditor.ts | 10 +- .../preferences/browser/preferencesEditor.ts | 10 +- .../browser/preferencesRenderers.ts | 8 +- .../preferences/browser/preferencesService.ts | 8 +- .../quickopen/browser/commandsHandler.ts | 10 +- .../search/browser/openAnythingHandler.ts | 74 +++---- .../search/browser/patternInputWidget.ts | 8 +- .../parts/search/browser/replaceService.ts | 4 +- .../parts/search/browser/searchActions.ts | 8 +- .../parts/search/browser/searchViewlet.ts | 8 +- .../parts/search/common/searchModel.ts | 40 ++-- .../parts/tasks/common/taskSystem.ts | 6 +- .../electron-browser/task.contribution.ts | 8 +- .../electron-browser/terminalTaskSystem.ts | 22 +- .../parts/tasks/node/processTaskSystem.ts | 36 ++-- ...supportedWorkspaceSettings.contribution.ts | 16 +- .../page/electron-browser/welcomePage.ts | 198 +++++++++--------- .../electron-browser/walkThroughPart.ts | 68 +++--- .../walkThrough/node/walkThroughInput.ts | 34 +-- .../electron-browser/contextmenuService.ts | 10 +- .../electron-browser/extensionService.ts | 24 +-- .../electron-browser/keybindingService.ts | 16 +- .../services/message/browser/messageList.ts | 10 +- .../telemetry/common/workspaceStats.ts | 110 +++++----- .../textfile/common/textFileEditorModel.ts | 27 ++- .../textfile/common/textFileService.ts | 24 +-- .../services/textfile/common/textfiles.ts | 12 +- .../electron-browser/workbenchThemeService.ts | 16 +- .../services/timer/common/timerService.ts | 82 ++++---- 88 files changed, 1119 insertions(+), 1120 deletions(-) diff --git a/extensions/git/src/commands.ts b/extensions/git/src/commands.ts index 3251645107460a..660e9f58a1e761 100644 --- a/extensions/git/src/commands.ts +++ b/extensions/git/src/commands.ts @@ -265,10 +265,10 @@ export class CommandCenter { if (!url) { /* __GDPR__ - "clone" : { - "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "clone" : { + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'no_URL' }); return; } @@ -284,10 +284,10 @@ export class CommandCenter { if (!parentPath) { /* __GDPR__ - "clone" : { - "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "clone" : { + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'no_directory' }); return; } @@ -306,11 +306,11 @@ export class CommandCenter { const openFolder = result === open; /* __GDPR__ - "clone" : { - "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "openFolder": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "isMeasurement": true } - } - */ + "clone" : { + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "openFolder": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "isMeasurement": true } + } + */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'success' }, { openFolder: openFolder ? 1 : 0 }); if (openFolder) { commands.executeCommand('vscode.openFolder', Uri.file(repositoryPath)); @@ -318,17 +318,17 @@ export class CommandCenter { } catch (err) { if (/already exists and is not an empty directory/.test(err && err.stderr || '')) { /* __GDPR__ - "clone" : { - "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "clone" : { + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'directory_not_empty' }); } else { /* __GDPR__ - "clone" : { - "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "clone" : { + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryReporter.sendTelemetryEvent('clone', { outcome: 'error' }); } throw err; @@ -1342,10 +1342,10 @@ export class CommandCenter { } /* __GDPR__ - "git.command" : { - "command" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "git.command" : { + "command" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryReporter.sendTelemetryEvent('git.command', { command: id }); return result.catch(async err => { diff --git a/extensions/markdown/src/extension.ts b/extensions/markdown/src/extension.ts index 7d7a3a8ae27097..c34f12e44b801f 100644 --- a/extensions/markdown/src/extension.ts +++ b/extensions/markdown/src/extension.ts @@ -261,11 +261,11 @@ function showPreview(cspArbiter: ExtensionContentSecurityPolicyArbiter, uri?: vs if (telemetryReporter) { /* __GDPR__ - "openPreview" : { - "where" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "how": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "openPreview" : { + "where" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "how": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryReporter.sendTelemetryEvent('openPreview', { where: sideBySide ? 'sideBySide' : 'inPlace', how: (uri instanceof vscode.Uri) ? 'action' : 'pallete' diff --git a/extensions/typescript/src/typescriptServiceClient.ts b/extensions/typescript/src/typescriptServiceClient.ts index edee7f5d633cdc..bd5936aa22c949 100644 --- a/extensions/typescript/src/typescriptServiceClient.ts +++ b/extensions/typescript/src/typescriptServiceClient.ts @@ -387,10 +387,10 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient this.error('Starting TSServer failed with error.', err); window.showErrorMessage(localize('serverCouldNotBeStarted', 'TypeScript language server couldn\'t be started. Error message is: {0}', err.message || err)); /* __GDPR__ - "error" : { - "message": { "classification": "CustomerContent", "purpose": "PerformanceAndHealth" } - } - */ + "error" : { + "message": { "classification": "CustomerContent", "purpose": "PerformanceAndHealth" } + } + */ this.logTelemetry('error', { message: err.message }); return; } @@ -402,8 +402,8 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient this.error(`TSServer log file: ${this.tsServerLogFile}`); } /* __GDPR__ - "tsserver.error" : {} - */ + "tsserver.error" : {} + */ this.logTelemetry('tsserver.error'); this.serviceExited(false); }); @@ -413,10 +413,10 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient } else { this.error(`TSServer exited with code: ${code}`); /* __GDPR__ - "tsserver.exitWithCode" : { - "code" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - */ + "tsserver.exitWithCode" : { + "code" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ this.logTelemetry('tsserver.exitWithCode', { code: code }); } @@ -562,8 +562,8 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient isCloseAffordance: true }); /* __GDPR__ - "serviceExited" : {} - */ + "serviceExited" : {} + */ this.logTelemetry('serviceExited'); } else if (diff < 60 * 1000 /* 1 Minutes */) { this.lastStart = Date.now(); @@ -852,12 +852,12 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient break; } /* __GDPR__ - "typingsInstalled" : { - "installedPackages" : { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "installSuccess": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "typingsInstallerVersion": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - */ + "typingsInstalled" : { + "installedPackages" : { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "installSuccess": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "typingsInstallerVersion": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ // __GDPR__COMMENT__: Other events are defined by TypeScript. this.logTelemetry(telemetryData.telemetryEventName, properties); } diff --git a/extensions/typescript/src/utils/projectStatus.ts b/extensions/typescript/src/utils/projectStatus.ts index 7bb8416e33ab57..ef95074e01bc3e 100644 --- a/extensions/typescript/src/utils/projectStatus.ts +++ b/extensions/typescript/src/utils/projectStatus.ts @@ -55,8 +55,8 @@ class ExcludeHintItem { this._item.color = '#A5DF3B'; this._item.show(); /* __GDPR__ - "js.hintProjectExcludes" : {} - */ + "js.hintProjectExcludes" : {} + */ this._client.logTelemetry('js.hintProjectExcludes'); } } diff --git a/src/typings/native-keymap.d.ts b/src/typings/native-keymap.d.ts index 8f5162ab951992..716a74e38b8cc5 100644 --- a/src/typings/native-keymap.d.ts +++ b/src/typings/native-keymap.d.ts @@ -43,12 +43,12 @@ declare module 'native-keymap' { export function getKeyMap(): IKeyboardMapping; /* __GDPR__FRAGMENT__ - "IKeyboardLayoutInfo" : { - "name" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "id": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "text": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "IKeyboardLayoutInfo" : { + "name" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "id": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "text": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ export interface IWindowsKeyboardLayoutInfo { name: string; id: string; @@ -56,14 +56,14 @@ declare module 'native-keymap' { } /* __GDPR__FRAGMENT__ - "IKeyboardLayoutInfo" : { - "model" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "layout": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "variant": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "options": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "rules": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "IKeyboardLayoutInfo" : { + "model" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "layout": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "variant": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "options": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "rules": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ export interface ILinuxKeyboardLayoutInfo { model: string; layout: string; @@ -73,11 +73,11 @@ declare module 'native-keymap' { } /* __GDPR__FRAGMENT__ - "IKeyboardLayoutInfo" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "lang": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "IKeyboardLayoutInfo" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "lang": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ export interface IMacKeyboardLayoutInfo { id: string; lang: string; diff --git a/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts b/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts index 4285167e65601d..15e75b3a9eb110 100644 --- a/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts +++ b/src/vs/base/parts/quickopen/browser/quickOpenWidget.ts @@ -533,12 +533,12 @@ export class QuickOpenWidget implements IModelProvider { const indexOfAcceptedElement = this.model.entries.indexOf(value); const entriesCount = this.model.entries.length; /* __GDPR__ - "quickOpenWidgetItemAccepted" : { - "index" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "count": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "isQuickNavigate": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "quickOpenWidgetItemAccepted" : { + "index" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "count": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isQuickNavigate": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.usageLogger.publicLog('quickOpenWidgetItemAccepted', { index: indexOfAcceptedElement, count: entriesCount, isQuickNavigate: this.quickNavigateConfiguration ? true : false }); } @@ -781,11 +781,11 @@ export class QuickOpenWidget implements IModelProvider { const entriesCount = this.model.entries.filter(e => this.isElementVisible(this.model, e)).length; if (this.usageLogger) { /* __GDPR__ - "quickOpenWidgetCancelled" : { - "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "isQuickNavigate": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "quickOpenWidgetCancelled" : { + "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isQuickNavigate": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.usageLogger.publicLog('quickOpenWidgetCancelled', { count: entriesCount, isQuickNavigate: this.quickNavigateConfiguration ? true : false }); } } diff --git a/src/vs/base/parts/quickopen/common/quickOpen.ts b/src/vs/base/parts/quickopen/common/quickOpen.ts index b8f5f06a4f2937..1efef91896c088 100644 --- a/src/vs/base/parts/quickopen/common/quickOpen.ts +++ b/src/vs/base/parts/quickopen/common/quickOpen.ts @@ -7,10 +7,10 @@ import { ResolvedKeybinding } from 'vs/base/common/keyCodes'; /* __GDPR__FRAGMENT__ - "IQuickNavigateConfiguration" : { - "keybindings" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "IQuickNavigateConfiguration" : { + "keybindings" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } +*/ export interface IQuickNavigateConfiguration { keybindings: ResolvedKeybinding[]; } diff --git a/src/vs/code/electron-main/menus.ts b/src/vs/code/electron-main/menus.ts index ddde16603a4c5f..0accad12c78952 100644 --- a/src/vs/code/electron-main/menus.ts +++ b/src/vs/code/electron-main/menus.ts @@ -1240,11 +1240,11 @@ export class CodeMenu { private reportMenuActionTelemetry(id: string): void { /* __GDPR__ - "workbencActionExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbencActionExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id, from: telemetryFrom }); } diff --git a/src/vs/editor/common/commonCodeEditor.ts b/src/vs/editor/common/commonCodeEditor.ts index 8e8f3d966c7ec1..2c38ec938d2305 100644 --- a/src/vs/editor/common/commonCodeEditor.ts +++ b/src/vs/editor/common/commonCodeEditor.ts @@ -1005,8 +1005,8 @@ export abstract class CommonCodeEditor extends Disposable implements editorCommo protected abstract _resolveDecorationOptions(typeKey: string, writable: boolean): editorCommon.IModelDecorationOptions; /* __GDPR__FRAGMENT__ - "EditorTelemetryData" : {} - */ + "EditorTelemetryData" : {} + */ public getTelemetryData(): { [key: string]: any; } { return null; } diff --git a/src/vs/editor/common/editorCommonExtensions.ts b/src/vs/editor/common/editorCommonExtensions.ts index ec7cbbb5d0b61d..fee9cdfbd3a8f1 100644 --- a/src/vs/editor/common/editorCommonExtensions.ts +++ b/src/vs/editor/common/editorCommonExtensions.ts @@ -195,14 +195,14 @@ export abstract class EditorAction extends EditorCommand { protected reportTelemetry(accessor: ServicesAccessor, editor: editorCommon.ICommonCodeEditor) { /* __GDPR__ - "editorActionInvoked" : { - "name" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "id": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "${include}": [ - "${EditorTelemetryData}" - ] - } - */ + "editorActionInvoked" : { + "name" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "id": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${EditorTelemetryData}" + ] + } + */ accessor.get(ITelemetryService).publicLog('editorActionInvoked', { name: this.label, id: this.id, ...editor.getTelemetryData() }); } diff --git a/src/vs/editor/contrib/gotoError/browser/gotoError.ts b/src/vs/editor/contrib/gotoError/browser/gotoError.ts index c6d780a5bc8bd9..8b6111b2c13d51 100644 --- a/src/vs/editor/contrib/gotoError/browser/gotoError.ts +++ b/src/vs/editor/contrib/gotoError/browser/gotoError.ts @@ -407,13 +407,13 @@ class MarkerNavigationAction extends EditorAction { let model = controller.getOrCreateModel(); /* __GDPR__ - "zoneWidgetShown" : { - "mode" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "${include}": [ - "${EditorTelemetryData}" - ] - } - */ + "zoneWidgetShown" : { + "mode" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${EditorTelemetryData}" + ] + } + */ telemetryService.publicLog('zoneWidgetShown', { mode: 'go to error', ...editor.getTelemetryData() }); if (model) { if (this._isNext) { diff --git a/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts b/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts index e00a92c8e388ad..d268a392aff1ef 100644 --- a/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts +++ b/src/vs/editor/contrib/referenceSearch/browser/referencesController.ts @@ -162,11 +162,11 @@ export class ReferencesController implements editorCommon.IEditorContribution { this._disposables.push({ dispose: () => { /* __GDPR__ - "zoneWidgetShown" : { - "mode" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "elapsedTime": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "zoneWidgetShown" : { + "mode" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "elapsedTime": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this._telemetryService.publicLog('zoneWidgetShown', { mode: 'reference search', elapsedTime: Date.now() - startTime @@ -198,11 +198,11 @@ export class ReferencesController implements editorCommon.IEditorContribution { const mode = this._editor.getModel().getLanguageIdentifier().language; /* __GDPR__ - "findReferences" : { - "durarion" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "mode": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "findReferences" : { + "durarion" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "mode": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ onDone(duration => this._telemetryService.publicLog('findReferences', { duration, mode diff --git a/src/vs/editor/contrib/suggest/browser/completionModel.ts b/src/vs/editor/contrib/suggest/browser/completionModel.ts index e902cfd9697422..45ca3b876a9205 100644 --- a/src/vs/editor/contrib/suggest/browser/completionModel.ts +++ b/src/vs/editor/contrib/suggest/browser/completionModel.ts @@ -18,12 +18,12 @@ export interface ICompletionItem extends ISuggestionItem { /* __GDPR__FRAGMENT__ - "ICompletionStats" : { - "suggestionCount" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "snippetCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "textCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "ICompletionStats" : { + "suggestionCount" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippetCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "textCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } +*/ // __GDPR__TODO__: This is a dynamically extensible structure which can not be declared statically. export interface ICompletionStats { suggestionCount: number; diff --git a/src/vs/editor/contrib/suggest/browser/suggestController.ts b/src/vs/editor/contrib/suggest/browser/suggestController.ts index a7a2433e668b58..6ffa21fabcb956 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestController.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestController.ts @@ -198,13 +198,13 @@ export class SuggestController implements IEditorContribution { this._alertCompletionItem(item); /* __GDPR__ - "suggestSnippetInsert" : { - "suggestionType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "${include}": [ - "${EditorTelemetryData}" - ] - } - */ + "suggestSnippetInsert" : { + "suggestionType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${EditorTelemetryData}" + ] + } + */ this._telemetryService.publicLog('suggestSnippetInsert', { ...this._editor.getTelemetryData(), suggestionType: suggestion.type }); } diff --git a/src/vs/editor/contrib/suggest/browser/suggestWidget.ts b/src/vs/editor/contrib/suggest/browser/suggestWidget.ts index bd6189984efbbd..6e8807a92a0542 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestWidget.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestWidget.ts @@ -729,14 +729,14 @@ export class SuggestWidget implements IContentWidget, IDelegate const { stats } = this.completionModel; stats['wasAutomaticallyTriggered'] = !!isAuto; /* __GDPR__ - "suggestWidget" : { - "wasAutomaticallyTriggered" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "${include}": [ - "${ICompletionStats}", - "${EditorTelemetryData}" - ] - } - */ + "suggestWidget" : { + "wasAutomaticallyTriggered" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${ICompletionStats}", + "${EditorTelemetryData}" + ] + } + */ this.telemetryService.publicLog('suggestWidget', { ...stats, ...this.editor.getTelemetryData() }); this.focusedItem = null; @@ -865,12 +865,12 @@ export class SuggestWidget implements IContentWidget, IDelegate } } /* __GDPR__ - "suggestWidget:toggleDetailsFocus" : { - "${include}": [ - "${EditorTelemetryData}" - ] - } - */ + "suggestWidget:toggleDetailsFocus" : { + "${include}": [ + "${EditorTelemetryData}" + ] + } + */ this.telemetryService.publicLog('suggestWidget:toggleDetailsFocus', this.editor.getTelemetryData()); } @@ -886,12 +886,12 @@ export class SuggestWidget implements IContentWidget, IDelegate removeClass(this.element, 'docs-below'); this.editor.layoutContentWidget(this); /* __GDPR__ - "suggestWidget:collapseDetails" : { - "${include}": [ - "${EditorTelemetryData}" - ] - } - */ + "suggestWidget:collapseDetails" : { + "${include}": [ + "${EditorTelemetryData}" + ] + } + */ this.telemetryService.publicLog('suggestWidget:collapseDetails', this.editor.getTelemetryData()); } else { if (this.state !== State.Open && this.state !== State.Details) { @@ -901,12 +901,12 @@ export class SuggestWidget implements IContentWidget, IDelegate this.updateExpandDocsSetting(true); this.showDetails(); /* __GDPR__ - "suggestWidget:expandDetails" : { - "${include}": [ - "${EditorTelemetryData}" - ] - } - */ + "suggestWidget:expandDetails" : { + "${include}": [ + "${EditorTelemetryData}" + ] + } + */ this.telemetryService.publicLog('suggestWidget:expandDetails', this.editor.getTelemetryData()); } diff --git a/src/vs/platform/contextview/browser/contextMenuHandler.ts b/src/vs/platform/contextview/browser/contextMenuHandler.ts index 00479364aba7be..dbec87d2e954b4 100644 --- a/src/vs/platform/contextview/browser/contextMenuHandler.ts +++ b/src/vs/platform/contextview/browser/contextMenuHandler.ts @@ -45,11 +45,11 @@ export class ContextMenuHandler { this.toDispose.push(this.actionRunner.addListener(EventType.BEFORE_RUN, (e: any) => { if (this.telemetryService) { /* __GDPR__ - "workbenchActionExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbenchActionExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: e.action.id, from: 'contextMenu' }); } diff --git a/src/vs/platform/extensionManagement/common/extensionManagementUtil.ts b/src/vs/platform/extensionManagement/common/extensionManagementUtil.ts index 45292d71eaa0cf..f8684f13156c66 100644 --- a/src/vs/platform/extensionManagement/common/extensionManagementUtil.ts +++ b/src/vs/platform/extensionManagement/common/extensionManagementUtil.ts @@ -64,19 +64,19 @@ export function getLocalExtensionTelemetryData(extension: ILocalExtension): any /* __GDPR__FRAGMENT__ - "GalleryExtensionTelemetryData" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "name": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "galleryId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "publisherId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "publisherName": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "publisherDisplayName": { "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, - "dependencies": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "${include}": [ - "${GalleryExtensionTelemetryData2}" - ] - } - */ + "GalleryExtensionTelemetryData" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "name": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "galleryId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "publisherId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "publisherName": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "publisherDisplayName": { "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, + "dependencies": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${GalleryExtensionTelemetryData2}" + ] + } +*/ export function getGalleryExtensionTelemetryData(extension: IGalleryExtension): any { return { id: extension.id, diff --git a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts index 257226f03fd823..7ee13df86d6ed3 100644 --- a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts +++ b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts @@ -264,12 +264,12 @@ function toExtension(galleryExtension: IRawGalleryExtension, extensionsGalleryUr engine: getEngine(version) }, /* __GDPR__FRAGMENT__ - "GalleryExtensionTelemetryData2" : { - "index" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "searchText": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "querySource": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "GalleryExtensionTelemetryData2" : { + "index" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "searchText": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "querySource": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryData: { index: ((query.pageNumber - 1) * query.pageSize) + index, searchText: query.searchText, @@ -319,11 +319,11 @@ export class ExtensionGalleryService implements IExtensionGalleryService { const pageSize = getOrDefault(options, o => o.pageSize, 50); /* __GDPR__ - "galleryService:query" : { - "type" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "text": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "galleryService:query" : { + "type" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "text": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('galleryService:query', { type, text }); let query = new Query() @@ -440,13 +440,13 @@ export class ExtensionGalleryService implements IExtensionGalleryService { const data = getGalleryExtensionTelemetryData(extension); const startTime = new Date().getTime(); /* __GDPR__ - "galleryService:downloadVSIX" : { - "duration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "${include}": [ - "${GalleryExtensionTelemetryData}" - ] - } - */ + "galleryService:downloadVSIX" : { + "duration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ const log = (duration: number) => this.telemetryService.publicLog('galleryService:downloadVSIX', assign(data, { duration })); return this.getAsset(extension.assets.download) @@ -588,19 +588,19 @@ export class ExtensionGalleryService implements IExtensionGalleryService { const message = getErrorMessage(err); /* __GDPR__ - "galleryService:requestError" : { - "url" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "cdn": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "message": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "galleryService:requestError" : { + "url" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "cdn": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "message": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('galleryService:requestError', { url, cdn: true, message }); /* __GDPR__ - "galleryService:cdnFallback" : { - "url" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "message": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "galleryService:cdnFallback" : { + "url" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "message": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('galleryService:cdnFallback', { url, message }); const fallbackOptions = assign({}, options, { url: fallbackUrl }); @@ -611,12 +611,12 @@ export class ExtensionGalleryService implements IExtensionGalleryService { const message = getErrorMessage(err); /* __GDPR__ - "galleryService:requestError" : { - "url" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "cdn": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "message": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "galleryService:requestError" : { + "url" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "cdn": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "message": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('galleryService:requestError', { url: fallbackUrl, cdn: false, message }); return TPromise.wrapError(err); }); diff --git a/src/vs/platform/opener/browser/openerService.ts b/src/vs/platform/opener/browser/openerService.ts index 9425f4a2ea442b..81ce66693868fb 100644 --- a/src/vs/platform/opener/browser/openerService.ts +++ b/src/vs/platform/opener/browser/openerService.ts @@ -31,10 +31,10 @@ export class OpenerService implements IOpenerService { open(resource: URI, options?: { openToSide?: boolean }): TPromise { /* __GDPR__ - "openerService" : { - "scheme" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "openerService" : { + "scheme" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this._telemetryService.publicLog('openerService', { scheme: resource.scheme }); const { scheme, path, query, fragment } = resource; diff --git a/src/vs/platform/search/common/search.ts b/src/vs/platform/search/common/search.ts index cc86f27e2a38d9..bb2a8df08e48e2 100644 --- a/src/vs/platform/search/common/search.ts +++ b/src/vs/platform/search/common/search.ts @@ -71,15 +71,15 @@ export enum QueryType { Text = 2 } /* __GDPR__FRAGMENT__ - "IPatternInfo" : { - "pattern" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "isRegExp": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "isWordMatch": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "wordSeparators": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "isMultiline": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "isCaseSensitive": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "IPatternInfo" : { + "pattern" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "isRegExp": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isWordMatch": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "wordSeparators": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isMultiline": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isCaseSensitive": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } +*/ export interface IPatternInfo { pattern: string; isRegExp?: boolean; diff --git a/src/vs/platform/telemetry/browser/errorTelemetry.ts b/src/vs/platform/telemetry/browser/errorTelemetry.ts index 3d604a4034b461..976335c3d817da 100644 --- a/src/vs/platform/telemetry/browser/errorTelemetry.ts +++ b/src/vs/platform/telemetry/browser/errorTelemetry.ts @@ -144,15 +144,15 @@ export default class ErrorTelemetry { private _flushBuffer(): void { for (let error of this._buffer) { /* __GDPR__ - "UnhandledError" : { - "message" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "name": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "stack": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "id": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "line": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "column": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - */ + "UnhandledError" : { + "message" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "name": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "stack": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "id": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "line": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "column": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ // __GDPR__TODO__ what's the complete set of properties? this._telemetryService.publicLog('UnhandledError', error); } diff --git a/src/vs/platform/telemetry/common/experiments.ts b/src/vs/platform/telemetry/common/experiments.ts index d3636665fd071c..82350aa22c6bfb 100644 --- a/src/vs/platform/telemetry/common/experiments.ts +++ b/src/vs/platform/telemetry/common/experiments.ts @@ -9,10 +9,10 @@ import { IStorageService } from 'vs/platform/storage/common/storage'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; /* __GDPR__FRAGMENT__ - "IExperiments" : { - "deployToAzureQuickLink" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "IExperiments" : { + "deployToAzureQuickLink" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } +*/ export interface IExperiments { ripgrepQuickSearch: boolean; } diff --git a/src/vs/platform/telemetry/common/telemetryService.ts b/src/vs/platform/telemetry/common/telemetryService.ts index 826c751b7ce5ce..0ebdb46ff3803b 100644 --- a/src/vs/platform/telemetry/common/telemetryService.ts +++ b/src/vs/platform/telemetry/common/telemetryService.ts @@ -66,10 +66,10 @@ export class TelemetryService implements ITelemetryService { this._updateUserOptIn(); this._configurationService.onDidUpdateConfiguration(this._updateUserOptIn, this, this._disposables); /* __GDPR__ - "optInStatus" : { - "optIn" : { "classification": "SystemMetaData", "purpose": "BusinessInsight" } - } - */ + "optInStatus" : { + "optIn" : { "classification": "SystemMetaData", "purpose": "BusinessInsight" } + } + */ this.publicLog('optInStatus', { optIn: this._userOptIn }); } } diff --git a/src/vs/platform/telemetry/common/telemetryUtils.ts b/src/vs/platform/telemetry/common/telemetryUtils.ts index f530c77d794a28..a910df659838cc 100644 --- a/src/vs/platform/telemetry/common/telemetryUtils.ts +++ b/src/vs/platform/telemetry/common/telemetryUtils.ts @@ -67,12 +67,12 @@ export function anonymize(input: string): string { } /* __GDPR__FRAGMENT__ - "URIDescriptor" : { - "mimeType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "ext": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "path": { "classification": "CustomerContent", "purpose": "FeatureInsight" } - } - */ + "URIDescriptor" : { + "mimeType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "ext": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "path": { "classification": "CustomerContent", "purpose": "FeatureInsight" } + } +*/ export interface URIDescriptor { mimeType?: string; ext?: string; @@ -188,21 +188,21 @@ export function configurationTelemetry(telemetryService: ITelemetryService, conf return configurationService.onDidUpdateConfiguration(event => { if (event.source !== ConfigurationSource.Default) { /* __GDPR__ - "updateConfiguration" : { - "configurationSource" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "configurationKeys": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "updateConfiguration" : { + "configurationSource" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "configurationKeys": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('updateConfiguration', { configurationSource: ConfigurationSource[event.source], configurationKeys: flattenKeys(event.sourceConfig) }); /* __GDPR__ - "updateConfigurationValues" : { - "configurationSource" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "configurationValues": { "classification": "CustomerContent", "purpose": "FeatureInsight" } - } - */ + "updateConfigurationValues" : { + "configurationSource" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "configurationValues": { "classification": "CustomerContent", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('updateConfigurationValues', { configurationSource: ConfigurationSource[event.source], configurationValues: flattenValues(event.sourceConfig, configurationValueWhitelist) @@ -214,10 +214,10 @@ export function configurationTelemetry(telemetryService: ITelemetryService, conf export function lifecycleTelemetry(telemetryService: ITelemetryService, lifecycleService: ILifecycleService): IDisposable { return lifecycleService.onShutdown(event => { /* __GDPR__ - "shutdown" : { - "reason" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "shutdown" : { + "reason" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('shutdown', { reason: ShutdownReason[event] }); }); } @@ -226,10 +226,10 @@ export function keybindingsTelemetry(telemetryService: ITelemetryService, keybin return keybindingService.onDidUpdateKeybindings(event => { if (event.source === KeybindingSource.User && event.keybindings) { /* __GDPR__ - "updateKeybindings" : { - "bindings": { "classification": "CustomerContent", "purpose": "FeatureInsight" } - } - */ + "updateKeybindings" : { + "bindings": { "classification": "CustomerContent", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('updateKeybindings', { bindings: event.keybindings.map(binding => ({ key: binding.key, diff --git a/src/vs/platform/update/electron-main/updateService.ts b/src/vs/platform/update/electron-main/updateService.ts index e38d809b297b13..70571cda7ab6ad 100644 --- a/src/vs/platform/update/electron-main/updateService.ts +++ b/src/vs/platform/update/electron-main/updateService.ts @@ -165,10 +165,10 @@ export class UpdateService implements IUpdateService { this._onUpdateNotAvailable.fire(explicit); this.state = State.Idle; /* __GDPR__ - "update:notAvailable" : { - "explicit" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "update:notAvailable" : { + "explicit" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('update:notAvailable', { explicit }); } else if (update.url) { @@ -183,12 +183,12 @@ export class UpdateService implements IUpdateService { this._onUpdateAvailable.fire({ url: update.url, version: update.version }); this.state = State.UpdateAvailable; /* __GDPR__ - "update:available" : { - "explicit" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "version": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "currentVersion": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "update:available" : { + "explicit" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "version": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "currentVersion": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('update:available', { explicit, version: update.version, currentVersion: product.commit }); } else { @@ -202,10 +202,10 @@ export class UpdateService implements IUpdateService { this._onUpdateReady.fire(data); this.state = State.UpdateDownloaded; /* __GDPR__ - "update:downloaded" : { - "version" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "update:downloaded" : { + "version" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('update:downloaded', { version: update.version }); } diff --git a/src/vs/workbench/api/electron-browser/mainThreadEditors.ts b/src/vs/workbench/api/electron-browser/mainThreadEditors.ts index 81f605b88a3f50..40d2943f7e6ee8 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadEditors.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadEditors.ts @@ -141,10 +141,10 @@ export class MainThreadEditors implements MainThreadEditorsShape { $tryShowEditor(id: string, position: EditorPosition): TPromise { // check how often this is used /* __GDPR__ - "api.deprecated" : { - "function" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "api.deprecated" : { + "function" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this._telemetryService.publicLog('api.deprecated', { function: 'TextEditor.show' }); let mainThreadEditor = this._documentsAndEditors.getEditor(id); @@ -161,10 +161,10 @@ export class MainThreadEditors implements MainThreadEditorsShape { $tryHideEditor(id: string): TPromise { // check how often this is used /* __GDPR__ - "api.deprecated" : { - "function" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "api.deprecated" : { + "function" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this._telemetryService.publicLog('api.deprecated', { function: 'TextEditor.hide' }); let mainThreadEditor = this._documentsAndEditors.getEditor(id); diff --git a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts index eda0befa00c5bc..1935207a490478 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts @@ -267,19 +267,19 @@ export class SaveParticipant implements ISaveParticipant { return sequence(promiseFactory).then(() => { /* __GDPR__ - "saveParticipantStats" : { - "${wildcard}": [ - { - "${prefix}": "Success-", - "${classification}": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - }, - { - "${prefix}": "Failure-", - "${classification}": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - ] - } - */ + "saveParticipantStats" : { + "${wildcard}": [ + { + "${prefix}": "Success-", + "${classification}": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + }, + { + "${prefix}": "Failure-", + "${classification}": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + ] + } + */ this._telemetryService.publicLog('saveParticipantStats', stats); }); } diff --git a/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts b/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts index af7e60b99ae9ec..215f3b95b86415 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadTelemetry.ts @@ -26,10 +26,10 @@ export class MainThreadTelemetry implements MainThreadTelemetryShape { $publicLog(eventName: string, data: any = Object.create(null)): void { /* __GDPR__FRAGMENT__ - "MainThreadData" : { - "pluginHostTelemetry" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "MainThreadData" : { + "pluginHostTelemetry" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ data[MainThreadTelemetry._name] = true; this._telemetryService.publicLog(eventName, data); } diff --git a/src/vs/workbench/api/node/extHost.api.impl.ts b/src/vs/workbench/api/node/extHost.api.impl.ts index 6d402d24a05445..1ad860d4cdc65c 100644 --- a/src/vs/workbench/api/node/extHost.api.impl.ts +++ b/src/vs/workbench/api/node/extHost.api.impl.ts @@ -146,14 +146,14 @@ export function createApiFactory( } this._seen.add(apiName); /* __GDPR__ - "apiUsage" : { - "name" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extension": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "${include}": [ - "${MainThreadData}" - ] - } - */ + "apiUsage" : { + "name" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extension": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${MainThreadData}" + ] + } + */ return mainThreadTelemetry.$publicLog('apiUsage', { name: apiName, extension: extension.id @@ -504,15 +504,15 @@ export function createApiFactory( }, createSourceControl(id: string, label: string, rootUri?: vscode.Uri) { /* __GDPR__ - "registerSCMProvider" : { - "extensionId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "providerId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "providerLabel": { "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, - "${include}": [ - "${MainThreadData}" - ] - } - */ + "registerSCMProvider" : { + "extensionId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "providerId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "providerLabel": { "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, + "${include}": [ + "${MainThreadData}" + ] + } + */ mainThreadTelemetry.$publicLog('registerSCMProvider', { extensionId: extension.id, providerId: id, diff --git a/src/vs/workbench/api/node/extHostExtensionService.ts b/src/vs/workbench/api/node/extHostExtensionService.ts index 407a5a6cd58ee9..0cec48ba083aa6 100644 --- a/src/vs/workbench/api/node/extHostExtensionService.ts +++ b/src/vs/workbench/api/node/extHostExtensionService.ts @@ -282,12 +282,12 @@ export class ExtHostExtensionService implements ExtHostExtensionServiceShape { private _doActivateExtension(extensionDescription: IExtensionDescription, startup: boolean): TPromise { let event = getTelemetryActivationEvent(extensionDescription); /* __GDPR__ - "activatePlugin" : { - "${include}": [ - "${TelemetryActivationEvent}" - ] - } - */ + "activatePlugin" : { + "${include}": [ + "${TelemetryActivationEvent}" + ] + } + */ this._mainThreadTelemetry.$publicLog('activatePlugin', event); if (!extensionDescription.main) { // Treat the extension as being empty => NOT AN ERROR CASE @@ -388,20 +388,20 @@ function loadCommonJSModule(modulePath: string, activationTimesBuilder: Exten function getTelemetryActivationEvent(extensionDescription: IExtensionDescription): any { /* __GDPR__FRAGMENT__ - "TelemetryActivationEvent" : { - "id": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "name": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "publisherDisplayName": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "activationEvents": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "isBuiltin": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "${wildcard}": [ - { - "${prefix}": "contribution.", - "${classification}": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } + "TelemetryActivationEvent" : { + "id": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "name": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "publisherDisplayName": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "activationEvents": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "isBuiltin": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${wildcard}": [ + { + "${prefix}": "contribution.", + "${classification}": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } ] - } - */ + } + */ let event = { id: extensionDescription.id, name: extensionDescription.name, diff --git a/src/vs/workbench/api/node/extHostTextEditor.ts b/src/vs/workbench/api/node/extHostTextEditor.ts index dde54d0e6f2392..562c99258a599d 100644 --- a/src/vs/workbench/api/node/extHostTextEditor.ts +++ b/src/vs/workbench/api/node/extHostTextEditor.ts @@ -596,14 +596,14 @@ export class ExtHostTextEditor2 extends ExtHostTextEditor { const extension = index.findSubstr(call.getFileName()); if (extension) { /* __GDPR__ - "usesCommandLink" : { - "extension" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "${include}": [ - "${MainThreadData}" - ] - } - */ + "usesCommandLink" : { + "extension" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${MainThreadData}" + ] + } + */ this._mainThreadTelemetry.$publicLog('usesCommandLink', { extension: extension.id, from: 'decoration', diff --git a/src/vs/workbench/browser/composite.ts b/src/vs/workbench/browser/composite.ts index cfcb5993fe9dcd..7631f540e6a9ab 100644 --- a/src/vs/workbench/browser/composite.ts +++ b/src/vs/workbench/browser/composite.ts @@ -109,10 +109,10 @@ export abstract class Composite extends Component implements IComposite { if (this._telemetryService && this._telemetryService.publicLog) { const eventName: string = 'compositeOpen'; /* __GDPR__ - "compositeOpen" : { - "composite" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "compositeOpen" : { + "composite" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this._telemetryService.publicLog(eventName, { composite: this.getId() }); } } @@ -127,11 +127,11 @@ export abstract class Composite extends Component implements IComposite { const eventName: string = 'compositeShown'; this._telemetryData.composite = this.getId(); /* __GDPR__ - "compositeShown" : { - "timeSpent" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "composite": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "compositeShown" : { + "timeSpent" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "composite": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this._telemetryService.publicLog(eventName, this._telemetryData); } } diff --git a/src/vs/workbench/browser/parts/compositePart.ts b/src/vs/workbench/browser/parts/compositePart.ts index acdcbc9975dc1b..2d7e3f8dbe0110 100644 --- a/src/vs/workbench/browser/parts/compositePart.ts +++ b/src/vs/workbench/browser/parts/compositePart.ts @@ -310,11 +310,11 @@ export abstract class CompositePart extends Part { // Log in telemetry if (this.telemetryService) { /* __GDPR__ - "workbenchActionExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbenchActionExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: e.action.id, from: this.nameForTelemetry }); } }); diff --git a/src/vs/workbench/browser/parts/editor/editorGroupsControl.ts b/src/vs/workbench/browser/parts/editor/editorGroupsControl.ts index bc6477e0c2f4b1..f7653de9370b4c 100644 --- a/src/vs/workbench/browser/parts/editor/editorGroupsControl.ts +++ b/src/vs/workbench/browser/parts/editor/editorGroupsControl.ts @@ -444,8 +444,8 @@ export class EditorGroupsControl extends Themable implements IEditorGroupsContro // Log this fact in telemetry if (this.telemetryService) { /* __GDPR__ - "workbenchEditorMaximized" : {} - */ + "workbenchEditorMaximized" : {} + */ this.telemetryService.publicLog('workbenchEditorMaximized'); } diff --git a/src/vs/workbench/browser/parts/editor/editorPart.ts b/src/vs/workbench/browser/parts/editor/editorPart.ts index c05d8b9031c051..f5468b7d094ca5 100644 --- a/src/vs/workbench/browser/parts/editor/editorPart.ts +++ b/src/vs/workbench/browser/parts/editor/editorPart.ts @@ -167,12 +167,12 @@ export class EditorPart extends Part implements IEditorPart, IEditorGroupService this.revealIfOpen = editorConfig.revealIfOpen; /* __GDPR__ - "workbenchEditorConfiguration" : { + "workbenchEditorConfiguration" : { "${include}": [ - "${IWorkbenchEditorConfiguration}" + "${IWorkbenchEditorConfiguration}" ] - } - */ + } + */ this.telemetryService.publicLog('workbenchEditorConfiguration', editorConfig); } else { this.tabOptions = { @@ -256,23 +256,23 @@ export class EditorPart extends Part implements IEditorPart, IEditorGroupService private onEditorOpened(identifier: EditorIdentifier): void { /* __GDPR__ - "editorOpened" : { - "${include}": [ - "${EditorTelemetryDescriptor}" - ] - } - */ + "editorOpened" : { + "${include}": [ + "${EditorTelemetryDescriptor}" + ] + } + */ this.telemetryService.publicLog('editorOpened', identifier.editor.getTelemetryDescriptor()); } private onEditorClosed(event: EditorCloseEvent): void { /* __GDPR__ - "editorClosed" : { - "${include}": [ - "${EditorTelemetryDescriptor}" - ] - } - */ + "editorClosed" : { + "${include}": [ + "${EditorTelemetryDescriptor}" + ] + } + */ this.telemetryService.publicLog('editorClosed', event.editor.getTelemetryDescriptor()); } @@ -341,10 +341,10 @@ export class EditorPart extends Part implements IEditorPart, IEditorGroupService // Opened to the side if (position !== Position.ONE) { /* __GDPR__ - "workbenchSideEditorOpened" : { - "position" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbenchSideEditorOpened" : { + "position" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchSideEditorOpened', { position: position }); } diff --git a/src/vs/workbench/browser/parts/editor/titleControl.ts b/src/vs/workbench/browser/parts/editor/titleControl.ts index 4cb58efa3c69d5..8f78fd0e943676 100644 --- a/src/vs/workbench/browser/parts/editor/titleControl.ts +++ b/src/vs/workbench/browser/parts/editor/titleControl.ts @@ -260,11 +260,11 @@ export abstract class TitleControl extends Themable implements ITitleAreaControl // Log in telemetry if (this.telemetryService) { /* __GDPR__ - "workbenchActionExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbenchActionExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: e.action.id, from: 'editorPart' }); } })); diff --git a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts index ccc519931c9c76..c506cc51e440c5 100644 --- a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts +++ b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts @@ -553,11 +553,11 @@ export class QuickOpenController extends Component implements IQuickOpenService const handlerDescriptor = registry.getQuickOpenHandler(prefix) || registry.getDefaultQuickOpenHandler(); /* __GDPR__ - "quickOpenWidgetShown" : { - "mode" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "quickNavigate": { "${inline}": [ "${IQuickNavigateConfiguration}" ] } - } - */ + "quickOpenWidgetShown" : { + "mode" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "quickNavigate": { "${inline}": [ "${IQuickNavigateConfiguration}" ] } + } + */ this.telemetryService.publicLog('quickOpenWidgetShown', { mode: handlerDescriptor.getId(), quickNavigate: quickNavigateConfiguration }); // Trigger onOpen diff --git a/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts b/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts index de1e639aeeb163..72bfb28604cc78 100644 --- a/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts +++ b/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts @@ -294,11 +294,11 @@ class StatusBarEntryItem implements IStatusbarItem { if (action.enabled) { /* __GDPR__ - "workbenchActionExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbenchActionExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: action.id, from: 'status bar' }); (action.run() || TPromise.as(null)).done(() => { action.dispose(); diff --git a/src/vs/workbench/common/actions.ts b/src/vs/workbench/common/actions.ts index b8557349a2badb..1bd3ba72aa645e 100644 --- a/src/vs/workbench/common/actions.ts +++ b/src/vs/workbench/common/actions.ts @@ -171,11 +171,11 @@ function triggerAndDisposeAction(instantitationService: IInstantiationService, t const from = args && args.from || 'keybinding'; if (telemetryService) { /* __GDPR__ - "workbenchActionExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbenchActionExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('workbenchActionExecuted', { id: actionInstance.id, from }); } diff --git a/src/vs/workbench/common/editor.ts b/src/vs/workbench/common/editor.ts index 3674332592e521..72b481737f9e6e 100644 --- a/src/vs/workbench/common/editor.ts +++ b/src/vs/workbench/common/editor.ts @@ -204,10 +204,10 @@ export abstract class EditorInput implements IEditorInput { */ public getTelemetryDescriptor(): object { /* __GDPR__FRAGMENT__ - "EditorTelemetryDescriptor" : { - "typeId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "EditorTelemetryDescriptor" : { + "typeId" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ return { typeId: this.getTypeId() }; } @@ -798,18 +798,18 @@ export const EditorOpenPositioning = { export interface IWorkbenchEditorConfiguration { /* __GDPR__FRAGMENT__ - "IWorkbenchEditorConfiguration" : { - "showTabs" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "tabCloseButton": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "showIcons": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "enablePreview": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "enablePreviewFromQuickOpen": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "closeOnFileDelete": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "openPositioning": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "revealIfOpen": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "swipeToNavigate": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "IWorkbenchEditorConfiguration" : { + "showTabs" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "tabCloseButton": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "showIcons": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "enablePreview": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "enablePreviewFromQuickOpen": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "closeOnFileDelete": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "openPositioning": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "revealIfOpen": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "swipeToNavigate": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ workbench: { editor: { showTabs: boolean; diff --git a/src/vs/workbench/common/editor/resourceEditorInput.ts b/src/vs/workbench/common/editor/resourceEditorInput.ts index 6c20c0296d864c..ea19725e484fb0 100644 --- a/src/vs/workbench/common/editor/resourceEditorInput.ts +++ b/src/vs/workbench/common/editor/resourceEditorInput.ts @@ -73,10 +73,10 @@ export class ResourceEditorInput extends EditorInput { descriptor['resource'] = telemetryURIDescriptor(this.resource); /* __GDPR__FRAGMENT__ - "EditorTelemetryDescriptor" : { - "resource": { "${inline}": [ "${URIDescriptor}" ] } - } - */ + "EditorTelemetryDescriptor" : { + "resource": { "${inline}": [ "${URIDescriptor}" ] } + } + */ return descriptor; } diff --git a/src/vs/workbench/common/editor/untitledEditorInput.ts b/src/vs/workbench/common/editor/untitledEditorInput.ts index cf27893825f8ac..8057bef0160d81 100644 --- a/src/vs/workbench/common/editor/untitledEditorInput.ts +++ b/src/vs/workbench/common/editor/untitledEditorInput.ts @@ -255,10 +255,10 @@ export class UntitledEditorInput extends EditorInput implements IEncodingSupport descriptor['resource'] = telemetryURIDescriptor(this.getResource()); /* __GDPR__FRAGMENT__ - "EditorTelemetryDescriptor" : { - "resource": { "${inline}": [ "${URIDescriptor}" ] } - } - */ + "EditorTelemetryDescriptor" : { + "resource": { "${inline}": [ "${URIDescriptor}" ] } + } + */ return descriptor; } diff --git a/src/vs/workbench/electron-browser/nodeCachedDataManager.ts b/src/vs/workbench/electron-browser/nodeCachedDataManager.ts index b7c4c9e36d51cf..5f5ac8e12d74bb 100644 --- a/src/vs/workbench/electron-browser/nodeCachedDataManager.ts +++ b/src/vs/workbench/electron-browser/nodeCachedDataManager.ts @@ -33,11 +33,11 @@ export class NodeCachedDataManager { // log each failure separately if (err) { /* __GDPR__ - "cachedDataError" : { - "errorCode" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "path": { "classification": "CustomerContent", "purpose": "PerformanceAndHealth" } - } - */ + "cachedDataError" : { + "errorCode" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "path": { "classification": "CustomerContent", "purpose": "PerformanceAndHealth" } + } + */ this._telemetryService.publicLog('cachedDataError', { errorCode: err.errorCode, path: basename(err.path) @@ -47,12 +47,12 @@ export class NodeCachedDataManager { // log summary /* __GDPR__ - "cachedDataInfo" : { - "didRequestCachedData" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "didRejectCachedData": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "didProduceCachedData": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - */ + "cachedDataInfo" : { + "didRequestCachedData" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "didRejectCachedData": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "didProduceCachedData": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ this._telemetryService.publicLog('cachedDataInfo', { didRequestCachedData: Boolean(global.require.getConfig().nodeCachedDataDir), didRejectCachedData, diff --git a/src/vs/workbench/electron-browser/shell.ts b/src/vs/workbench/electron-browser/shell.ts index ed0c0605689d13..7069ea3f44376c 100644 --- a/src/vs/workbench/electron-browser/shell.ts +++ b/src/vs/workbench/electron-browser/shell.ts @@ -200,27 +200,27 @@ export class WorkbenchShell { // Telemetry: workspace info const { filesToOpen, filesToCreate, filesToDiff } = this.configuration; /* __GDPR__ - "workspaceLoad" : { - "userAgent" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "windowSize.innerHeight": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "windowSize.innerWidth": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "windowSize.outerHeight": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "windowSize.outerWidth": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "emptyWorkbench": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workbench.filesToOpen": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workbench.filesToCreate": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workbench.filesToDiff": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "customKeybindingsCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "theme": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "language": { "classification": "SystemMetaData", "purpose": "BusinessInsight" }, - "experiments": { "${inline}": [ "${IExperiments}" ] }, - "pinnedViewlets": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "restoredViewlet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "restoredEditors": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "pinnedViewlets": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "startupKind": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workspaceLoad" : { + "userAgent" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowSize.innerHeight": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowSize.innerWidth": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowSize.outerHeight": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowSize.outerWidth": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "emptyWorkbench": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToOpen": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToCreate": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToDiff": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "customKeybindingsCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "theme": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "language": { "classification": "SystemMetaData", "purpose": "BusinessInsight" }, + "experiments": { "${inline}": [ "${IExperiments}" ] }, + "pinnedViewlets": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "restoredViewlet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "restoredEditors": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "pinnedViewlets": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "startupKind": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workspaceLoad', { userAgent: navigator.userAgent, windowSize: { innerHeight: window.innerHeight, innerWidth: window.innerWidth, outerHeight: window.outerHeight, outerWidth: window.outerWidth }, @@ -244,12 +244,12 @@ export class WorkbenchShell { this.timerService.restoreViewletDuration = info.restoreViewletDuration; this.extensionService.onReady().done(() => { /* __GDPR__ - "startupTime" : { - "${include}": [ - "${IStartupMetrics}" - ] - } - */ + "startupTime" : { + "${include}": [ + "${IStartupMetrics}" + ] + } + */ this.telemetryService.publicLog('startupTime', this.timerService.startupMetrics); }); @@ -318,11 +318,11 @@ export class WorkbenchShell { const listener = idleMonitor.onStatusChange(status => /* __GDPR__ - "UserIdleStart" : {} - */ + "UserIdleStart" : {} + */ /* __GDPR__ - "UserIdleStop" : {} - */ + "UserIdleStop" : {} + */ this.telemetryService.publicLog(status === UserStatus.Active ? TelemetryService.IDLE_STOP_EVENT_NAME : TelemetryService.IDLE_START_EVENT_NAME diff --git a/src/vs/workbench/electron-browser/window.ts b/src/vs/workbench/electron-browser/window.ts index e11a4d36565453..bdf4e7eeef2730 100644 --- a/src/vs/workbench/electron-browser/window.ts +++ b/src/vs/workbench/electron-browser/window.ts @@ -146,11 +146,11 @@ export class ElectronWindow extends Themable { this.commandService.executeCommand(request.id, ...args).done(_ => { /* __GDPR__ - "commandExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "commandExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('commandExecuted', { id: request.id, from: request.from }); }, err => { this.messageService.show(Severity.Error, err); diff --git a/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts b/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts index 911399623f67ce..fed2b8590fcbe4 100644 --- a/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts +++ b/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts @@ -103,11 +103,11 @@ export class DebugActionsWidget extends Themable implements IWorkbenchContributi // log in telemetry if (this.telemetryService) { /* __GDPR__ - "workbenchActionExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbenchActionExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: e.action.id, from: 'debugActionsWidget' }); } })); @@ -148,10 +148,10 @@ export class DebugActionsWidget extends Themable implements IWorkbenchContributi const position = parseFloat(this.$el.getComputedStyle().left) / window.innerWidth; this.storageService.store(DEBUG_ACTIONS_WIDGET_POSITION_KEY, position, StorageScope.WORKSPACE); /* __GDPR__ - "debug.actionswidgetposition" : { - "position" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "debug.actionswidgetposition" : { + "position" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(DEBUG_ACTIONS_WIDGET_POSITION_KEY, { position }); } diff --git a/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts b/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts index a8205753a6f83f..0660d442cfa5c3 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugEditorContribution.ts @@ -412,8 +412,8 @@ export class DebugEditorContribution implements IDebugEditorContribution { public addLaunchConfiguration(): TPromise { /* __GDPR__ - "debug/addLaunchConfiguration" : {} - */ + "debug/addLaunchConfiguration" : {} + */ this.telemetryService.publicLog('debug/addLaunchConfiguration'); let configurationsArrayPosition: Position; const model = this.editor.getModel(); diff --git a/src/vs/workbench/parts/debug/electron-browser/debugService.ts b/src/vs/workbench/parts/debug/electron-browser/debugService.ts index 5ce56cb36a5896..52015666642a43 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugService.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugService.ts @@ -609,8 +609,8 @@ export class DebugService implements debug.IDebugService { public addReplExpression(name: string): TPromise { /* __GDPR__ - "debugService/addReplExpression" : {} - */ + "debugService/addReplExpression" : {} + */ this.telemetryService.publicLog('debugService/addReplExpression'); return this.model.addReplExpression(this.viewModel.focusedProcess, this.viewModel.focusedStackFrame, name) // Evaluate all watch expressions and fetch variables again since repl evaluation might have changed some. @@ -914,16 +914,16 @@ export class DebugService implements debug.IDebugService { this.updateStateAndEmit(session.getId(), debug.State.Running); /* __GDPR__ - "debugSessionStart" : { - "type": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "breakpointCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "exceptionBreakpoints": { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "watchExpressionsCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionName": { "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, - "isBuiltin": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "launchJsonExists": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "debugSessionStart" : { + "type": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "breakpointCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "exceptionBreakpoints": { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "watchExpressionsCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionName": { "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, + "isBuiltin": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "launchJsonExists": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ return this.telemetryService.publicLog('debugSessionStart', { type: configuration.type, breakpointCount: this.model.getBreakpoints().length, @@ -941,11 +941,11 @@ export class DebugService implements debug.IDebugService { const errorMessage = error instanceof Error ? error.message : error; /* __GDPR__ - "debugMisconfiguration" : { - "type" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "error": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "debugMisconfiguration" : { + "type" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "error": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('debugMisconfiguration', { type: configuration ? configuration.type : undefined, error: errorMessage }); this.updateStateAndEmit(session.getId(), debug.State.Inactive); if (!session.disconnected) { @@ -1061,14 +1061,14 @@ export class DebugService implements debug.IDebugService { const bpsExist = this.model.getBreakpoints().length > 0; const process = this.model.getProcesses().filter(p => p.getId() === session.getId()).pop(); /* __GDPR__ - "debugSessionStop" : { - "type" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "success": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "sessionLengthInSeconds": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "breakpointCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "watchExpressionsCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "debugSessionStop" : { + "type" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "success": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "sessionLengthInSeconds": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "breakpointCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "watchExpressionsCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('debugSessionStop', { type: process && process.configuration.type, success: session.emittedStopped || !bpsExist, diff --git a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts index 291e72af77a455..6ed9ed23c887eb 100644 --- a/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts +++ b/src/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts @@ -165,16 +165,16 @@ export class RawDebugSession extends V8Protocol implements debug.ISession { const telemetryMessage = error ? debug.formatPII(error.format, true, error.variables) : errorMessage; if (error && error.sendTelemetry) { /* __GDPR__ - "debugProtocolErrorResponse" : { - "error" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "debugProtocolErrorResponse" : { + "error" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('debugProtocolErrorResponse', { error: telemetryMessage }); if (this.customTelemetryService) { /* __GDPR__TODO__ - * The message is sent in the name of the adapter but the adapter doesn't know about it. However, since adapters are an open-ended set, - * we can not declared the events statically either. - */ + The message is sent in the name of the adapter but the adapter doesn't know about it. + However, since adapters are an open-ended set, we can not declared the events statically either. + */ this.customTelemetryService.publicLog('debugProtocolErrorResponse', { error: telemetryMessage }); } } diff --git a/src/vs/workbench/parts/extensions/browser/extensionEditor.ts b/src/vs/workbench/parts/extensions/browser/extensionEditor.ts index ac9343e7034577..e49587e3c0c589 100644 --- a/src/vs/workbench/parts/extensions/browser/extensionEditor.ts +++ b/src/vs/workbench/parts/extensions/browser/extensionEditor.ts @@ -266,12 +266,12 @@ export class ExtensionEditor extends BaseEditor { this.transientDisposables = dispose(this.transientDisposables); /* __GDPR__ - "extensionGallery:openExtension" : { - "${include}": [ - "${GalleryExtensionTelemetryData}" - ] - } - */ + "extensionGallery:openExtension" : { + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ this.telemetryService.publicLog('extensionGallery:openExtension', extension.telemetryData); this.extensionReadme = new Cache(() => extension.getReadme()); diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts index 961d417aec688d..485063d9d14717 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts @@ -115,11 +115,11 @@ export class ExtensionTipsService implements IExtensionTipsService { const exeBased = distinct(this._exeBasedRecommendations); /* __GDPR__ - "extensionRecommendations:unfiltered" : { - "fileBased" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "exeBased": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "extensionRecommendations:unfiltered" : { + "fileBased" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "exeBased": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionRecommendations:unfiltered', { fileBased, exeBased }); return distinct([...fileBased, ...exeBased]); @@ -254,11 +254,11 @@ export class ExtensionTipsService implements IExtensionTipsService { switch (choice) { case 0: /* __GDPR__ - "extensionRecommendations:popup" : { - "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } - } - */ + "extensionRecommendations:popup" : { + "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionRecommendations:popup', { userReaction: 'show', extensionId: name }); return recommendationsAction.run(); case 1: this.importantRecommendationsIgnoreList.push(id); @@ -268,20 +268,20 @@ export class ExtensionTipsService implements IExtensionTipsService { StorageScope.GLOBAL ); /* __GDPR__ - "extensionRecommendations:popup" : { - "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } - } - */ + "extensionRecommendations:popup" : { + "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionRecommendations:popup', { userReaction: 'neverShowAgain', extensionId: name }); return this.ignoreExtensionRecommendations(); case 2: /* __GDPR__ - "extensionRecommendations:popup" : { - "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } - } - */ + "extensionRecommendations:popup" : { + "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionRecommendations:popup', { userReaction: 'close', extensionId: name }); } }, () => { @@ -290,7 +290,7 @@ export class ExtensionTipsService implements IExtensionTipsService { "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "extensionId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } } - */ + */ this.telemetryService.publicLog('extensionRecommendations:popup', { userReaction: 'cancelled', extensionId: name }); }); }); @@ -335,19 +335,19 @@ export class ExtensionTipsService implements IExtensionTipsService { this.choiceService.choose(Severity.Info, message, options, 2).done(choice => { switch (choice) { case 0: - /* __GDPR__ - "extensionRecommendations:popup" : { - "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ - this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'show' }); + /* __GDPR__ + "extensionRecommendations:popup" : { + "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ + this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'show' }); return action.run(); case 1: /* __GDPR__ "extensionRecommendations:popup" : { "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } - */ + */ this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'neverShowAgain' }); return this.storageService.store(storageKey, true, StorageScope.WORKSPACE); case 2: @@ -355,7 +355,7 @@ export class ExtensionTipsService implements IExtensionTipsService { "extensionRecommendations:popup" : { "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } - */ + */ this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'close' }); } }, () => { @@ -363,7 +363,7 @@ export class ExtensionTipsService implements IExtensionTipsService { "extensionRecommendations:popup" : { "userReaction" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } } - */ + */ this.telemetryService.publicLog('extensionWorkspaceRecommendations:popup', { userReaction: 'cancelled' }); }); }); diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts index 824757fac4dbef..2b8ed719ea3299 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts @@ -69,23 +69,23 @@ export class KeymapExtensions implements IWorkbenchContribution { private promptForDisablingOtherKeymaps(newKeymap: IExtensionStatus, oldKeymaps: IExtensionStatus[]): TPromise { /* __GDPR__FRAGMENT__ - "KeyMapsData" : { - "newKeymap" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "oldKeymaps": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "KeyMapsData" : { + "newKeymap" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "oldKeymaps": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ const telemetryData: { [key: string]: any; } = { newKeymap: newKeymap.identifier, oldKeymaps: oldKeymaps.map(k => k.identifier) }; /* __GDPR__ - "disableOtherKeymapsConfirmation" : { - "${include}": [ - "${KeyMapsData}" - ] - } - */ + "disableOtherKeymapsConfirmation" : { + "${include}": [ + "${KeyMapsData}" + ] + } + */ this.telemetryService.publicLog('disableOtherKeymapsConfirmation', telemetryData); const message = localize('disableOtherKeymapsConfirmation', "Disable other keymaps ({0}) to avoid conflicts between keybindings?", oldKeymaps.map(k => `'${k.local.manifest.displayName}'`).join(', ')); const options = [ @@ -97,13 +97,13 @@ export class KeymapExtensions implements IWorkbenchContribution { const confirmed = value === 0; telemetryData['confirmed'] = confirmed; /* __GDPR__ - "disableOtherKeymaps" : { - "confirmed" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "${include}": [ - "${KeyMapsData}" - ] - } - */ + "disableOtherKeymaps" : { + "confirmed" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "${include}": [ + "${KeyMapsData}" + ] + } + */ this.telemetryService.publicLog('disableOtherKeymaps', telemetryData); if (confirmed) { return TPromise.join(oldKeymaps.map(keymap => { @@ -176,18 +176,18 @@ export class BetterMergeDisabled implements IWorkbenchContribution { if (storageService.getBoolean(BetterMergeDisabledNowKey, StorageScope.GLOBAL, false)) { storageService.remove(BetterMergeDisabledNowKey, StorageScope.GLOBAL); /* __GDPR__ - "betterMergeDisabled" : {} - */ + "betterMergeDisabled" : {} + */ telemetryService.publicLog('betterMergeDisabled'); messageService.show(Severity.Info, { message: localize('betterMergeDisabled', "The Better Merge extension is now built-in, the installed extension was disabled and can be uninstalled."), actions: [ new Action('uninstall', localize('uninstall', "Uninstall"), null, true, () => { /* __GDPR__ - "betterMergeUninstall" : { - "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "betterMergeUninstall" : { + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('betterMergeUninstall', { outcome: 'uninstall', }); @@ -198,10 +198,10 @@ export class BetterMergeDisabled implements IWorkbenchContribution { }), new Action('later', localize('later', "Later"), null, true, () => { /* __GDPR__ - "betterMergeUninstall" : { - "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "betterMergeUninstall" : { + "outcome" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ telemetryService.publicLog('betterMergeUninstall', { outcome: 'later', }); diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts index 5feec62cd87ac4..98e10761626ac3 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViews.ts @@ -316,10 +316,10 @@ export class ExtensionsListView extends ViewsViewletPanel { .filter(name => name.toLowerCase().indexOf(value) > -1); /* __GDPR__ - "extensionRecommendations:open" : { - "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "extensionRecommendations:open" : { + "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionRecommendations:open', { count: names.length }); if (!names.length) { @@ -340,10 +340,10 @@ export class ExtensionsListView extends ViewsViewletPanel { .then(recommendations => { const names = recommendations.filter(name => name.toLowerCase().indexOf(value) > -1); /* __GDPR__ - "extensionWorkspaceRecommendations:open" : { - "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "extensionWorkspaceRecommendations:open" : { + "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionWorkspaceRecommendations:open', { count: names.length }); if (!names.length) { @@ -360,10 +360,10 @@ export class ExtensionsListView extends ViewsViewletPanel { const names = this.tipsService.getKeymapRecommendations() .filter(name => name.toLowerCase().indexOf(value) > -1); /* __GDPR__ - "extensionKeymapRecommendations:open" : { - "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "extensionKeymapRecommendations:open" : { + "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('extensionKeymapRecommendations:open', { count: names.length }); if (!names.length) { diff --git a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts index b886bf89795b39..68666b6a40939a 100644 --- a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts +++ b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts @@ -419,12 +419,12 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { open(extension: IExtension, sideByside: boolean = false): TPromise { /* __GDPR__ - "extensionGallery:open" : { - "${include}": [ - "${GalleryExtensionTelemetryData}" - ] - } - */ + "extensionGallery:open" : { + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ this.telemetryService.publicLog('extensionGallery:open', extension.telemetryData); return this.editorService.openEditor(this.instantiationService.createInstance(ExtensionsInput, extension), null, sideByside); } @@ -535,19 +535,19 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { return this.promptAndSetEnablement(extension, enable, workspace).then(reload => { /* __GDPR__ - "extension:enabled" : { - "${include}": [ - "${GalleryExtensionTelemetryData}" - ] - } - */ + "extension:enabled" : { + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ /* __GDPR__ - "extension:disable" : { - "${include}": [ - "${GalleryExtensionTelemetryData}" - ] - } - */ + "extension:disable" : { + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ this.telemetryService.publicLog(enable ? 'extension:enable' : 'extension:disable', extension.telemetryData); }); } @@ -816,35 +816,35 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { const eventName = toTelemetryEventName(active.operation); /* __GDPR__ - "extensionGallery:install" : { - "success": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - "${include}": [ - "${GalleryExtensionTelemetryData}" - ] - } - */ + "extensionGallery:install" : { + "success": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ /* __GDPR__ - "extensionGallery:update" : { - "success": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - "${include}": [ - "${GalleryExtensionTelemetryData}" - ] - } - */ + "extensionGallery:update" : { + "success": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ /* __GDPR__ - "extensionGallery:uninstall" : { - "success": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - "${include}": [ - "${GalleryExtensionTelemetryData}" - ] - } - */ + "extensionGallery:uninstall" : { + "success": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "${include}": [ + "${GalleryExtensionTelemetryData}" + ] + } + */ this.telemetryService.publicLog(eventName, assign(data, { success: !errorcode, duration, errorcode })); } diff --git a/src/vs/workbench/parts/files/browser/views/explorerViewer.ts b/src/vs/workbench/parts/files/browser/views/explorerViewer.ts index 833836aa42dfd0..c088be1988d0b3 100644 --- a/src/vs/workbench/parts/files/browser/views/explorerViewer.ts +++ b/src/vs/workbench/parts/files/browser/views/explorerViewer.ts @@ -538,11 +538,11 @@ export class FileController extends DefaultController { public openEditor(stat: FileStat, options: { preserveFocus: boolean; sideBySide: boolean; pinned: boolean; }): void { if (stat && !stat.isDirectory) { /* __GDPR__ - "workbenchActionExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbenchActionExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: 'workbench.files.openFile', from: 'explorer' }); this.editorService.openEditor({ resource: stat.resource, options }, options.sideBySide).done(null, errors.onUnexpectedError); diff --git a/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts b/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts index 578e93f3e0e849..a67a4d87ea69a5 100644 --- a/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts +++ b/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts @@ -274,11 +274,11 @@ export class Controller extends DefaultController { public openEditor(element: OpenEditor, options: { preserveFocus: boolean; pinned: boolean; sideBySide: boolean; }): void { if (element) { /* __GDPR__ - "workbenchActionExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbenchActionExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: 'workbench.files.openFile', from: 'openEditors' }); let position = this.model.positionOfGroup(element.editorGroup); if (options.sideBySide && position !== Position.THREE) { diff --git a/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts b/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts index 0bc00a4682d2de..5b957a68866533 100644 --- a/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts +++ b/src/vs/workbench/parts/files/common/editors/fileEditorInput.ts @@ -278,10 +278,10 @@ export class FileEditorInput extends EditorInput implements IFileEditorInput { descriptor['resource'] = telemetryURIDescriptor(this.getResource()); /* __GDPR__FRAGMENT__ - "EditorTelemetryDescriptor" : { - "resource": { "${inline}": [ "${URIDescriptor}" ] } - } - */ + "EditorTelemetryDescriptor" : { + "resource": { "${inline}": [ "${URIDescriptor}" ] } + } + */ return descriptor; } diff --git a/src/vs/workbench/parts/markers/browser/markersPanel.ts b/src/vs/workbench/parts/markers/browser/markersPanel.ts index 89563149e7702a..927959df2878a5 100644 --- a/src/vs/workbench/parts/markers/browser/markersPanel.ts +++ b/src/vs/workbench/parts/markers/browser/markersPanel.ts @@ -149,10 +149,10 @@ export class MarkersPanel extends Panel { if (element instanceof Marker) { const marker: Marker = element; /* __GDPR__ - "problems.marker.opened" : { - "source" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "problems.marker.opened" : { + "source" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('problems.marker.opened', { source: marker.marker.source }); this.editorService.openEditor({ resource: marker.resource, diff --git a/src/vs/workbench/parts/markers/browser/markersPanelActions.ts b/src/vs/workbench/parts/markers/browser/markersPanelActions.ts index 7459d9d0dedfb4..12c2d2ad242193 100644 --- a/src/vs/workbench/parts/markers/browser/markersPanelActions.ts +++ b/src/vs/workbench/parts/markers/browser/markersPanelActions.ts @@ -42,8 +42,8 @@ export class ToggleMarkersPanelAction extends TogglePanelAction { let promise = super.run(); if (this.isPanelFocused()) { /* __GDPR__ - "problems.used" : {} - */ + "problems.used" : {} + */ this.telemetryService.publicLog('problems.used'); } return promise; @@ -67,8 +67,8 @@ export class ToggleErrorsAndWarningsAction extends TogglePanelAction { let promise = super.run(); if (this.isPanelFocused()) { /* __GDPR__ - "problems.used" : {} - */ + "problems.used" : {} + */ this.telemetryService.publicLog('problems.used'); } return promise; @@ -84,8 +84,8 @@ export class CollapseAllAction extends TreeCollapseAction { public run(context?: any): TPromise { /* __GDPR__ - "problems.collapseAll.used" : {} - */ + "problems.collapseAll.used" : {} + */ this.telemetryService.publicLog('problems.collapseAll.used'); return super.run(context); } @@ -142,12 +142,12 @@ export class FilterInputBoxActionItem extends BaseActionItem { data['warnings'] = this.markersPanel.markersModel.filterOptions.filterWarnings; data['infos'] = this.markersPanel.markersModel.filterOptions.filterInfos; /* __GDPR__ - "problems.filter" : { - "errors" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "warnings": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "infos": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "problems.filter" : { + "errors" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "warnings": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "infos": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('problems.filter', data); } diff --git a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts index 694c2dc7b96658..c4ee4bce0a96cf 100644 --- a/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts @@ -522,11 +522,11 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor }; this.latestEmptyFilters = []; /* __GDPR__ - "keybindings.filter" : { - "filter": { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "emptyFilters" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "keybindings.filter" : { + "filter": { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "emptyFilters" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('keybindings.filter', data); } } diff --git a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts index 3aedcefcd57db5..8e18f891a8961f 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts @@ -324,11 +324,11 @@ export class PreferencesEditor extends BaseEditor { }; this.latestEmptyFilters = []; /* __GDPR__ - "defaultSettings.filter" : { - "filter": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "emptyFilters" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "defaultSettings.filter" : { + "filter": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "emptyFilters" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('defaultSettings.filter', data); } } diff --git a/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts b/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts index a3b86ba458f2ce..d74dd56da46482 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts @@ -109,10 +109,10 @@ export class UserSettingsRenderer extends Disposable implements IPreferencesRend public updatePreference(key: string, value: any, source: ISetting): void { /* __GDPR__ - "defaultSettingsActions.copySetting" : { - "userConfigurationKeys" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "defaultSettingsActions.copySetting" : { + "userConfigurationKeys" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('defaultSettingsActions.copySetting', { userConfigurationKeys: [key] }); const overrideIdentifier = source.overrideOf ? overrideIdentifierFromKey(source.overrideOf.key) : null; const resource = this.preferencesModel.uri; diff --git a/src/vs/workbench/parts/preferences/browser/preferencesService.ts b/src/vs/workbench/parts/preferences/browser/preferencesService.ts index 203b3487e0a4d5..5e5597721c648f 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesService.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesService.ts @@ -224,10 +224,10 @@ export class PreferencesService extends Disposable implements IPreferencesServic openGlobalKeybindingSettings(textual: boolean): TPromise { /* __GDPR__ - "openKeybindings" : { - "textual" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "openKeybindings" : { + "textual" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('openKeybindings', { textual }); if (textual) { const emptyContents = '// ' + nls.localize('emptyKeybindingsHeader', "Place your key bindings in this file to overwrite the defaults") + '\n[\n]'; diff --git a/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts b/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts index a09aaf6b7b8b8e..2e4ec96cf1ac07 100644 --- a/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts +++ b/src/vs/workbench/parts/quickopen/browser/commandsHandler.ts @@ -298,11 +298,11 @@ abstract class BaseCommandEntry extends QuickOpenEntryGroup { if (action && (!(action instanceof Action) || action.enabled)) { try { /* __GDPR__ - "workbenchActionExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbenchActionExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: action.id, from: 'quick open' }); (action.run() || TPromise.as(null)).done(() => { if (action instanceof Action) { diff --git a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts index bf411c9079a5ca..7cbc0a22700a69 100644 --- a/src/vs/workbench/parts/search/browser/openAnythingHandler.ts +++ b/src/vs/workbench/parts/search/browser/openAnythingHandler.ts @@ -33,37 +33,37 @@ interface ISearchWithRange { } /* __GDPR__FRAGMENT__ - "ITimerEventData" : { - "searchLength" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "unsortedResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "sortedResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "resultCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "symbols.fromCache": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.fromCache": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.unsortedResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.sortedResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.resultCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.traversal": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.errors": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.fileWalkStartDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.fileWalkResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.directoriesWalked": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.filesWalked": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cmdForkStartTime": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cmdForkResultTime": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cmdResultCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cacheLookupStartDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cacheFilterStartDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cacheLookupResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "files.cacheEntryCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "${wildcard}": [ - { - "${prefix}": "files.joined", + "ITimerEventData" : { + "searchLength" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "unsortedResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "sortedResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "resultCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "symbols.fromCache": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.fromCache": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.unsortedResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.sortedResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.resultCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.traversal": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.errors": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.fileWalkStartDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.fileWalkResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.directoriesWalked": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.filesWalked": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cmdForkStartTime": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cmdForkResultTime": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cmdResultCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cacheLookupStartDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cacheFilterStartDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cacheLookupResultDuration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "files.cacheEntryCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "${wildcard}": [ + { + "${prefix}": "files.joined", "${classification}": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - ] - } - */ + } + ] + } +*/ interface ITimerEventData { searchLength: number; unsortedResultDuration: number; @@ -242,13 +242,13 @@ export class OpenAnythingHandler extends QuickOpenHandler { }); /* __GDPR__ - "openAnything" : { - "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "${include}": [ - "${ITimerEventData}" - ] - } - */ + "openAnything" : { + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "${include}": [ + "${ITimerEventData}" + ] + } + */ this.telemetryService.publicLog('openAnything', objects.assign(data, { duration })); }); diff --git a/src/vs/workbench/parts/search/browser/patternInputWidget.ts b/src/vs/workbench/parts/search/browser/patternInputWidget.ts index 08386257d11373..e282dfcb60060c 100644 --- a/src/vs/workbench/parts/search/browser/patternInputWidget.ts +++ b/src/vs/workbench/parts/search/browser/patternInputWidget.ts @@ -242,8 +242,8 @@ export class ExcludePatternInputWidget extends PatternInputWidget { isChecked: false, onChange: (viaKeyboard) => { /* __GDPR__ - "search.useIgnoreFiles.toggled" : {} - */ + "search.useIgnoreFiles.toggled" : {} + */ this.telemetryService.publicLog('search.useIgnoreFiles.toggled'); this.onOptionChange(null); if (!viaKeyboard) { @@ -259,8 +259,8 @@ export class ExcludePatternInputWidget extends PatternInputWidget { isChecked: false, onChange: (viaKeyboard) => { /* __GDPR__ - "search.useExcludeSettings.toggled" : {} - */ + "search.useExcludeSettings.toggled" : {} + */ this.telemetryService.publicLog('search.useExcludeSettings.toggled'); this.onOptionChange(null); if (!viaKeyboard) { diff --git a/src/vs/workbench/parts/search/browser/replaceService.ts b/src/vs/workbench/parts/search/browser/replaceService.ts index 00449eed5e090f..2a302d947ea669 100644 --- a/src/vs/workbench/parts/search/browser/replaceService.ts +++ b/src/vs/workbench/parts/search/browser/replaceService.ts @@ -138,8 +138,8 @@ export class ReplaceService implements IReplaceService { public openReplacePreview(element: FileMatchOrMatch, preserveFocus?: boolean, sideBySide?: boolean, pinned?: boolean): TPromise { /* __GDPR__ - "replace.open.previewEditor" : {} - */ + "replace.open.previewEditor" : {} + */ this.telemetryService.publicLog('replace.open.previewEditor'); const fileMatch = element instanceof Match ? element.parent() : element; diff --git a/src/vs/workbench/parts/search/browser/searchActions.ts b/src/vs/workbench/parts/search/browser/searchActions.ts index e841a394ecb2fd..9e9f3113d47967 100644 --- a/src/vs/workbench/parts/search/browser/searchActions.ts +++ b/src/vs/workbench/parts/search/browser/searchActions.ts @@ -550,8 +550,8 @@ export class ReplaceAllAction extends AbstractSearchAndReplaceAction { public run(): TPromise { /* __GDPR__ - "replaceAll.action.selected" : {} - */ + "replaceAll.action.selected" : {} + */ this.telemetryService.publicLog('replaceAll.action.selected'); let nextFocusElement = this.getElementToFocusAfterRemoved(this.viewer, this.fileMatch); return this.fileMatch.parent().replace(this.fileMatch).then(() => { @@ -577,8 +577,8 @@ export class ReplaceAction extends AbstractSearchAndReplaceAction { public run(): TPromise { this.enabled = false; /* __GDPR__ - "replace.action.selected" : {} - */ + "replace.action.selected" : {} + */ this.telemetryService.publicLog('replace.action.selected'); return this.element.parent().replace(this.element).then(() => { diff --git a/src/vs/workbench/parts/search/browser/searchViewlet.ts b/src/vs/workbench/parts/search/browser/searchViewlet.ts index e8500605299e21..ec62e39262e946 100644 --- a/src/vs/workbench/parts/search/browser/searchViewlet.ts +++ b/src/vs/workbench/parts/search/browser/searchViewlet.ts @@ -854,8 +854,8 @@ export class SearchViewlet extends Viewlet { public toggleQueryDetails(moveFocus?: boolean, show?: boolean, skipLayout?: boolean, reverse?: boolean): void { /* __GDPR__ - "search.toggleQueryDetails" : {} - */ + "search.toggleQueryDetails" : {} + */ this.telemetryService.publicLog('search.toggleQueryDetails'); let cls = 'more'; @@ -1333,8 +1333,8 @@ export class SearchViewlet extends Viewlet { } /* __GDPR__ - "searchResultChosen" : {} - */ + "searchResultChosen" : {} + */ this.telemetryService.publicLog('searchResultChosen'); return (this.viewModel.isReplaceActive() && !!this.viewModel.replaceString) ? diff --git a/src/vs/workbench/parts/search/common/searchModel.ts b/src/vs/workbench/parts/search/common/searchModel.ts index ad4f3ad0ffb8b3..06bb041cdab3a5 100644 --- a/src/vs/workbench/parts/search/common/searchModel.ts +++ b/src/vs/workbench/parts/search/common/searchModel.ts @@ -569,10 +569,10 @@ export class SearchResult extends Disposable { const promise = this.replaceService.replace(this.matches(), progressRunner); const onDone = stopwatch(fromPromise(promise)); /* __GDPR__ - "replaceAll.started" : { - "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - */ + "replaceAll.started" : { + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ onDone(duration => this.telemetryService.publicLog('replaceAll.started', { duration })); return promise.then(() => { @@ -731,20 +731,20 @@ export class SearchModel extends Disposable { const onFirstRender = any(onDone, progressEmitter.event); const onFirstRenderStopwatch = stopwatch(onFirstRender); /* __GDPR__ - "searchResultsFirstRender" : { - "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - */ + "searchResultsFirstRender" : { + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ onFirstRenderStopwatch(duration => this.telemetryService.publicLog('searchResultsFirstRender', { duration })); const onDoneStopwatch = stopwatch(onDone); const start = Date.now(); /* __GDPR__ - "searchResultsFinished" : { - "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - */ + "searchResultsFinished" : { + "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ onDoneStopwatch(duration => this.telemetryService.publicLog('searchResultsFinished', { duration })); const currentRequest = this.currentRequest; @@ -770,14 +770,14 @@ export class SearchModel extends Disposable { const options: IPatternInfo = objects.assign({}, this._searchQuery.contentPattern); delete options.pattern; /* __GDPR__ - "searchresultsShown" : { - "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "fileCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "options": { "${inline}": [ "${IPatternInfo}" ] }, - "duration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "useRipgrep": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "searchresultsShown" : { + "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "fileCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "options": { "${inline}": [ "${IPatternInfo}" ] }, + "duration": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "useRipgrep": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('searchResultsShown', { count: this._searchResult.count(), fileCount: this._searchResult.fileCount(), diff --git a/src/vs/workbench/parts/tasks/common/taskSystem.ts b/src/vs/workbench/parts/tasks/common/taskSystem.ts index 3edda7015f6ee2..e401c172652550 100644 --- a/src/vs/workbench/parts/tasks/common/taskSystem.ts +++ b/src/vs/workbench/parts/tasks/common/taskSystem.ts @@ -37,15 +37,15 @@ export class TaskError { } /* __GDPR__FRAGMENT__ - "TelemetryEvent" : { + "TelemetryEvent" : { "trigger" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "runner": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "taskKind": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "command": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "success": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "exitCode": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } -} - */ + } +*/ export interface TelemetryEvent { // How the task got trigger. Is either shortcut or command trigger: string; diff --git a/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts b/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts index 34eb91a1b638ab..3d6b5ebfe854dc 100644 --- a/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts +++ b/src/vs/workbench/parts/tasks/electron-browser/task.contribution.ts @@ -1099,10 +1099,10 @@ class TaskService extends EventEmitter implements ITaskService { properties: properties ? Object.getOwnPropertyNames(properties) : [] }; /* __GDPR__ - "taskService.customize" : { - "properties" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "taskService.customize" : { + "properties" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(TaskService.CustomizationTelemetryEventName, event); if (openConfig) { let resource = workspaceFolder.toResource('.vscode/tasks.json'); diff --git a/src/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.ts b/src/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.ts index 3cbf2b234e370b..a7fed0b13a0a4a 100644 --- a/src/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.ts +++ b/src/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.ts @@ -411,12 +411,12 @@ export class TerminalTaskSystem extends EventEmitter implements ITaskSystem { exitCode: summary.exitCode }; /* __GDPR__ - "taskService" : { - "${include}": [ - "${TelemetryEvent}" - ] + "taskService" : { + "${include}": [ + "${TelemetryEvent}" + ] } - */ + */ this.telemetryService.publicLog(TerminalTaskSystem.TelemetryEventName, telemetryEvent); } catch (error) { } @@ -431,12 +431,12 @@ export class TerminalTaskSystem extends EventEmitter implements ITaskSystem { success: false }; /* __GDPR__ - "taskService" : { - "${include}": [ - "${TelemetryEvent}" - ] - } - */ + "taskService" : { + "${include}": [ + "${TelemetryEvent}" + ] + } + */ this.telemetryService.publicLog(TerminalTaskSystem.TelemetryEventName, telemetryEvent); } catch (error) { } diff --git a/src/vs/workbench/parts/tasks/node/processTaskSystem.ts b/src/vs/workbench/parts/tasks/node/processTaskSystem.ts index 05ddc641bb441e..3a31c8ccac3789 100644 --- a/src/vs/workbench/parts/tasks/node/processTaskSystem.ts +++ b/src/vs/workbench/parts/tasks/node/processTaskSystem.ts @@ -147,23 +147,23 @@ export class ProcessTaskSystem extends EventEmitter implements ITaskSystem { let result = this.doExecuteTask(task, telemetryEvent); result.promise = result.promise.then((success) => { /* __GDPR__ - "taskService" : { - "${include}": [ - "${TelemetryEvent}" - ] - } - */ + "taskService" : { + "${include}": [ + "${TelemetryEvent}" + ] + } + */ this.telemetryService.publicLog(ProcessTaskSystem.TelemetryEventName, telemetryEvent); return success; }, (err: any) => { telemetryEvent.success = false; /* __GDPR__ - "taskService" : { - "${include}": [ - "${TelemetryEvent}" - ] - } - */ + "taskService" : { + "${include}": [ + "${TelemetryEvent}" + ] + } + */ this.telemetryService.publicLog(ProcessTaskSystem.TelemetryEventName, telemetryEvent); return TPromise.wrapError(err); }); @@ -171,12 +171,12 @@ export class ProcessTaskSystem extends EventEmitter implements ITaskSystem { } catch (err) { telemetryEvent.success = false; /* __GDPR__ - "taskService" : { - "${include}": [ - "${TelemetryEvent}" - ] - } - */ + "taskService" : { + "${include}": [ + "${TelemetryEvent}" + ] + } + */ this.telemetryService.publicLog(ProcessTaskSystem.TelemetryEventName, telemetryEvent); if (err instanceof TaskError) { throw err; diff --git a/src/vs/workbench/parts/trust/electron-browser/unsupportedWorkspaceSettings.contribution.ts b/src/vs/workbench/parts/trust/electron-browser/unsupportedWorkspaceSettings.contribution.ts index f6741169902a71..21dbeb9472c6a9 100644 --- a/src/vs/workbench/parts/trust/electron-browser/unsupportedWorkspaceSettings.contribution.ts +++ b/src/vs/workbench/parts/trust/electron-browser/unsupportedWorkspaceSettings.contribution.ts @@ -71,8 +71,8 @@ class UnsupportedWorkspaceSettingsContribution implements IWorkbenchContribution const openWorkspaceSettings = new Action('unsupportedWorkspaceSettings.openWorkspaceSettings', nls.localize('openWorkspaceSettings', 'Open Workspace Settings'), '', true, () => { /* __GDPR__ - "workspace.settings.unsupported.review" : {} - */ + "workspace.settings.unsupported.review" : {} + */ this.telemetryService.publicLog('workspace.settings.unsupported.review'); this.rememberWarningWasShown(); return this.preferencesService.openWorkspaceSettings(); @@ -80,8 +80,8 @@ class UnsupportedWorkspaceSettingsContribution implements IWorkbenchContribution const openDocumentation = new Action('unsupportedWorkspaceSettings.openDocumentation', nls.localize('openDocumentation', 'Learn More'), '', true, () => { /* __GDPR__ - "workspace.settings.unsupported.documentation" : {} - */ + "workspace.settings.unsupported.documentation" : {} + */ this.telemetryService.publicLog('workspace.settings.unsupported.documentation'); this.rememberWarningWasShown(); window.open('https://go.microsoft.com/fwlink/?linkid=839878'); // Don't change link. @@ -90,8 +90,8 @@ class UnsupportedWorkspaceSettingsContribution implements IWorkbenchContribution const close = new Action('unsupportedWorkspaceSettings.Ignore', nls.localize('ignore', 'Ignore'), '', true, () => { /* __GDPR__ - "workspace.settings.unsupported.ignore" : {} - */ + "workspace.settings.unsupported.ignore" : {} + */ this.telemetryService.publicLog('workspace.settings.unsupported.ignore'); this.rememberWarningWasShown(); return TPromise.as(true); @@ -100,8 +100,8 @@ class UnsupportedWorkspaceSettingsContribution implements IWorkbenchContribution const actions = [openWorkspaceSettings, openDocumentation, close]; this.messageService.show(Severity.Warning, { message, actions }); /* __GDPR__ - "workspace.settings.unsupported.warning" : {} - */ + "workspace.settings.unsupported.warning" : {} + */ this.telemetryService.publicLog('workspace.settings.unsupported.warning'); } } diff --git a/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts b/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts index ff447c18678af5..93be1d9e534433 100644 --- a/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts +++ b/src/vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts @@ -149,31 +149,31 @@ interface Strings { } /* __GDPR__ - "installExtension" : { - "${include}": [ - "${WelcomePageInstall-1}" - ] - } - */ + "installExtension" : { + "${include}": [ + "${WelcomePageInstall-1}" + ] + } +*/ /* __GDPR__ - "installedExtension" : { - "${include}": [ - "${WelcomePageInstalled-1}", - "${WelcomePageInstalled-2}", - "${WelcomePageInstalled-3}", - "${WelcomePageInstalled-4}", - "${WelcomePageInstalled-5}", - "${WelcomePageInstalled-6}" - ] - } - */ + "installedExtension" : { + "${include}": [ + "${WelcomePageInstalled-1}", + "${WelcomePageInstalled-2}", + "${WelcomePageInstalled-3}", + "${WelcomePageInstalled-4}", + "${WelcomePageInstalled-5}", + "${WelcomePageInstalled-6}" + ] + } +*/ /* __GDPR__ - "detailsExtension" : { - "${include}": [ - "${WelcomePageDetails-1}" - ] - } - */ + "detailsExtension" : { + "${include}": [ + "${WelcomePageDetails-1}" + ] + } +*/ const extensionPackStrings: Strings = { installEvent: 'installExtension', installedEvent: 'installedExtension', @@ -186,31 +186,31 @@ const extensionPackStrings: Strings = { }; /* __GDPR__ - "installKeymap" : { - "${include}": [ - "${WelcomePageInstall-1}" - ] - } - */ + "installKeymap" : { + "${include}": [ + "${WelcomePageInstall-1}" + ] + } +*/ /* __GDPR__ - "installedKeymap" : { - "${include}": [ - "${WelcomePageInstalled-1}", - "${WelcomePageInstalled-2}", - "${WelcomePageInstalled-3}", - "${WelcomePageInstalled-4}", - "${WelcomePageInstalled-5}", - "${WelcomePageInstalled-6}" - ] - } - */ + "installedKeymap" : { + "${include}": [ + "${WelcomePageInstalled-1}", + "${WelcomePageInstalled-2}", + "${WelcomePageInstalled-3}", + "${WelcomePageInstalled-4}", + "${WelcomePageInstalled-5}", + "${WelcomePageInstalled-6}" + ] + } +*/ /* __GDPR__ - "detailsKeymap" : { - "${include}": [ - "${WelcomePageDetails-1}" - ] - } - */ + "detailsKeymap" : { + "${include}": [ + "${WelcomePageDetails-1}" + ] + } +*/ const keymapStrings: Strings = { installEvent: 'installKeymap', installedEvent: 'installedKeymap', @@ -324,11 +324,11 @@ class WelcomePage { a.href = 'javascript:void(0)'; a.addEventListener('click', e => { /* __GDPR__ - "workbenchActionExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbenchActionExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: 'openRecentFolder', from: telemetryFrom @@ -409,11 +409,11 @@ class WelcomePage { private installExtension(extensionSuggestion: ExtensionSuggestion, strings: Strings): void { /* __GDPR__FRAGMENT__ - "WelcomePageInstall-1" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "WelcomePageInstall-1" : { + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(strings.installEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -422,12 +422,12 @@ class WelcomePage { const installedExtension = arrays.first(extensions, extension => extension.identifier === extensionSuggestion.id); if (installedExtension && installedExtension.globallyEnabled) { /* __GDPR__FRAGMENT__ - "WelcomePageInstalled-1" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "WelcomePageInstalled-1" : { + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(strings.installedEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -471,12 +471,12 @@ class WelcomePage { return this.extensionEnablementService.setEnablement(extensionSuggestion.id, true) .then(() => { /* __GDPR__FRAGMENT__ - "WelcomePageInstalled-2" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "WelcomePageInstalled-2" : { + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(strings.installedEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -486,12 +486,12 @@ class WelcomePage { }); } else { /* __GDPR__FRAGMENT__ - "WelcomePageInstalled-3" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "WelcomePageInstalled-3" : { + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(strings.installedEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -503,13 +503,13 @@ class WelcomePage { }); }).then(null, err => { /* __GDPR__FRAGMENT__ - "WelcomePageInstalled-4" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "error": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - */ + "WelcomePageInstalled-4" : { + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "error": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ this.telemetryService.publicLog(strings.installedEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -522,11 +522,11 @@ class WelcomePage { }), new Action('details', localize('details', "Details"), null, true, () => { /* __GDPR__FRAGMENT__ - "WelcomePageDetails-1" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "WelcomePageDetails-1" : { + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(strings.detailsEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -538,12 +538,12 @@ class WelcomePage { }), new Action('cancel', localize('cancel', "Cancel"), null, true, () => { /* __GDPR__FRAGMENT__ - "WelcomePageInstalled-5" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "WelcomePageInstalled-5" : { + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog(strings.installedEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, @@ -555,13 +555,13 @@ class WelcomePage { }); }).then(null, err => { /* __GDPR__FRAGMENT__ - "WelcomePageInstalled-6" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "error": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - */ + "WelcomePageInstalled-6" : { + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "outcome": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "error": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ this.telemetryService.publicLog(strings.installedEvent, { from: telemetryFrom, extensionId: extensionSuggestion.id, diff --git a/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts b/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts index 94f97255ff321e..3795d6aabd11c0 100644 --- a/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts +++ b/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts @@ -179,12 +179,12 @@ export class WalkThroughPart extends BaseEditor { if (baseElement && node.href.indexOf(baseElement.href) >= 0 && node.hash) { let scrollTarget = this.content.querySelector(node.hash); /* __GDPR__ - "revealInDocument" : { - "hash" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "broken": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "revealInDocument" : { + "hash" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "broken": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('revealInDocument', { hash: node.hash, broken: !scrollTarget, @@ -217,11 +217,11 @@ export class WalkThroughPart extends BaseEditor { private open(uri: URI) { if (uri.scheme === 'http' || uri.scheme === 'https') { /* __GDPR__ - "openExternal" : { - "uri" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "openExternal" : { + "uri" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('openExternal', { uri: uri.toString(true), from: this.input instanceof WalkThroughInput ? this.input.getTelemetryFrom() : undefined @@ -355,11 +355,11 @@ export class WalkThroughPart extends BaseEditor { const options = this.getEditorOptions(snippet.textEditorModel.getModeId()); /* __GDPR__FRAGMENT__ - "EditorTelemetryData" : { - "target" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "snippet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "EditorTelemetryData" : { + "target" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ const telemetryData = { target: this.input instanceof WalkThroughInput ? this.input.getTelemetryFrom() : undefined, snippet: i @@ -409,12 +409,12 @@ export class WalkThroughPart extends BaseEditor { this.contentDisposables.push(once(editor.onMouseDown)(() => { /* __GDPR__ - "walkThroughSnippetInteraction" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "type": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "snippet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "walkThroughSnippetInteraction" : { + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "type": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('walkThroughSnippetInteraction', { from: this.input instanceof WalkThroughInput ? this.input.getTelemetryFrom() : undefined, type: 'mouseDown', @@ -423,12 +423,12 @@ export class WalkThroughPart extends BaseEditor { })); this.contentDisposables.push(once(editor.onKeyDown)(() => { /* __GDPR__ - "walkThroughSnippetInteraction" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "type": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "snippet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "walkThroughSnippetInteraction" : { + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "type": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('walkThroughSnippetInteraction', { from: this.input instanceof WalkThroughInput ? this.input.getTelemetryFrom() : undefined, type: 'keyDown', @@ -437,12 +437,12 @@ export class WalkThroughPart extends BaseEditor { })); this.contentDisposables.push(once(editor.onDidChangeModelContent)(() => { /* __GDPR__ - "walkThroughSnippetInteraction" : { - "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "type": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "snippet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "walkThroughSnippetInteraction" : { + "from" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "type": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "snippet": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('walkThroughSnippetInteraction', { from: this.input instanceof WalkThroughInput ? this.input.getTelemetryFrom() : undefined, type: 'changeModelContent', diff --git a/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts b/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts index 1b2a25daf6906b..98a5ffc7c8d6d2 100644 --- a/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts +++ b/src/vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts @@ -94,11 +94,11 @@ export class WalkThroughInput extends EditorInput { descriptor['target'] = this.getTelemetryFrom(); descriptor['resource'] = telemetryURIDescriptor(this.options.resource); /* __GDPR__FRAGMENT__ - "EditorTelemetryDescriptor" : { - "target" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "resource": { "${inline}": [ "${URIDescriptor}" ] } - } - */ + "EditorTelemetryDescriptor" : { + "target" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "resource": { "${inline}": [ "${URIDescriptor}" ] } + } + */ return descriptor; } @@ -172,10 +172,10 @@ export class WalkThroughInput extends EditorInput { if (!this.resolveTime) { this.resolveTime = Date.now(); /* __GDPR__ - "resolvingInput" : { - "target" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "resolvingInput" : { + "target" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('resolvingInput', { target: this.getTelemetryFrom(), }); @@ -185,14 +185,14 @@ export class WalkThroughInput extends EditorInput { private disposeTelemetry(reason?: ShutdownReason) { if (this.resolveTime) { /* __GDPR__ - "disposingInput" : { - "target" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "timeSpent": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "reason": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "maxTopScroll": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "maxBottomScroll": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "disposingInput" : { + "target" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "timeSpent": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "reason": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "maxTopScroll": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "maxBottomScroll": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('disposingInput', { target: this.getTelemetryFrom(), timeSpent: (Date.now() - this.resolveTime) / 60, diff --git a/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts b/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts index 34515dba9b4031..d6e303791af6ee 100644 --- a/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts +++ b/src/vs/workbench/services/contextview/electron-browser/contextmenuService.ts @@ -112,11 +112,11 @@ export class ContextMenuService implements IContextMenuService { private runAction(actionRunner: IActionRunner, actionToRun: IAction, delegate: IContextMenuDelegate, event: IEvent): void { /* __GDPR__ - "workbenchActionExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbenchActionExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: actionToRun.id, from: 'contextMenu' }); const context = delegate.getActionsContext ? delegate.getActionsContext(event) : event; diff --git a/src/vs/workbench/services/extensions/electron-browser/extensionService.ts b/src/vs/workbench/services/extensions/electron-browser/extensionService.ts index af7c9fda0034e6..46852ac790765f 100644 --- a/src/vs/workbench/services/extensions/electron-browser/extensionService.ts +++ b/src/vs/workbench/services/extensions/electron-browser/extensionService.ts @@ -301,11 +301,11 @@ export class ExtensionService implements IExtensionService { ]; /* __GDPR__ - "extensionsScanned" : { - "totalCount" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "disabledCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - */ + "extensionsScanned" : { + "totalCount" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "disabledCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ this._telemetryService.publicLog('extensionsScanned', { totalCount: installedExtensions.length, disabledCount: disabledExtensions.length @@ -354,13 +354,13 @@ export class ExtensionService implements IExtensionService { if (!this._isDev && msg.extensionId) { const { type, extensionId, extensionPointId, message } = msg; /* __GDPR__ - "extensionsMessage" : { - "type" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "extensionId": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "extensionPointId": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "message": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - */ + "extensionsMessage" : { + "type" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "extensionId": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "extensionPointId": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "message": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + */ this._telemetryService.publicLog('extensionsMessage', { type, extensionId, extensionPointId, message }); diff --git a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts index 57bf0f221fad05..b4c10edb678911 100644 --- a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts +++ b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts @@ -319,10 +319,10 @@ export class WorkbenchKeybindingService extends AbstractKeybindingService { keybindingsTelemetry(telemetryService, this); let data = KeyboardMapperFactory.INSTANCE.getCurrentKeyboardLayout(); /* __GDPR__ - "keyboardLayout" : { - "currentKeyboardLayout": { "${inline}": [ "${IKeyboardLayoutInfo}" ] } - } - */ + "keyboardLayout" : { + "currentKeyboardLayout": { "${inline}": [ "${IKeyboardLayoutInfo}" ] } + } + */ telemetryService.publicLog('keyboardLayout', { currentKeyboardLayout: data }); @@ -411,10 +411,10 @@ export class WorkbenchKeybindingService extends AbstractKeybindingService { let cnt = extraUserKeybindings.length; /* __GDPR__ - "customKeybindingsChanged" : { - "keyCount" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "customKeybindingsChanged" : { + "keyCount" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('customKeybindingsChanged', { keyCount: cnt }); diff --git a/src/vs/workbench/services/message/browser/messageList.ts b/src/vs/workbench/services/message/browser/messageList.ts index 67b2e2623a5865..e1b5be6d5a61d7 100644 --- a/src/vs/workbench/services/message/browser/messageList.ts +++ b/src/vs/workbench/services/message/browser/messageList.ts @@ -305,11 +305,11 @@ export class MessageList { DOM.EventHelper.stop(e, true); /* __GDPR__ - "workbenchActionExecuted" : { - "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "workbenchActionExecuted" : { + "id" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "from": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workbenchActionExecuted', { id: action.id, from: 'message' }); (action.run() || TPromise.as(null)) diff --git a/src/vs/workbench/services/telemetry/common/workspaceStats.ts b/src/vs/workbench/services/telemetry/common/workspaceStats.ts index cd737abb95c896..5bdecfc2d372dd 100644 --- a/src/vs/workbench/services/telemetry/common/workspaceStats.ts +++ b/src/vs/workbench/services/telemetry/common/workspaceStats.ts @@ -145,33 +145,33 @@ export class WorkspaceStats { } /* __GDPR__FRAGMENT__ - "WorkspaceTags" : { - "workbench.filesToOpen" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workbench.filesToCreate" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workbench.filesToDiff" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "workspace.roots" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.empty" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.grunt" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.gulp" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.jake" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.tsconfig" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.jsconfig" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.config.xml" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.vsc.extension" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.ASP5" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.sln" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.unity" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.npm" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.bower" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.yeoman.code.ext" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.cordova.high" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.cordova.low" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.xamarin.android" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.xamarin.ios" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.android.cpp" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, - "workspace.reactNative" : { "classification": "CustomerContent", "purpose": "FeatureInsight" } - } - */ + "WorkspaceTags" : { + "workbench.filesToOpen" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToCreate" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workbench.filesToDiff" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "workspace.roots" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.empty" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.grunt" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.gulp" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.jake" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.tsconfig" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.jsconfig" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.config.xml" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.vsc.extension" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.ASP5" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.sln" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.unity" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.npm" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.bower" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.yeoman.code.ext" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.cordova.high" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.cordova.low" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.xamarin.android" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.xamarin.ios" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.android.cpp" : { "classification": "CustomerContent", "purpose": "FeatureInsight" }, + "workspace.reactNative" : { "classification": "CustomerContent", "purpose": "FeatureInsight" } + } + */ private getWorkspaceTags(configuration: IWindowConfiguration): TPromise { const tags: Tags = Object.create(null); @@ -274,12 +274,12 @@ export class WorkspaceStats { public reportWorkspaceTags(configuration: IWindowConfiguration): void { this.getWorkspaceTags(configuration).then((tags) => { /* __GDPR__ - "workspce.tags" : { - "${include}": [ - "${WorkspaceTags}" - ] - } - */ + "workspce.tags" : { + "${include}": [ + "${WorkspaceTags}" + ] + } + */ this.telemetryService.publicLog('workspce.tags', tags); }, error => onUnexpectedError(error)); } @@ -297,10 +297,10 @@ export class WorkspaceStats { const list: string[] = []; set.forEach(item => list.push(item)); /* __GDPR__ - "workspace.remotes" : { - "domains" : { "classification": "CustomerContent", "purpose": "FeatureInsight" } - } - */ + "workspace.remotes" : { + "domains" : { "classification": "CustomerContent", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workspace.remotes', { domains: list.sort() }); }, onUnexpectedError); } @@ -315,19 +315,19 @@ export class WorkspaceStats { ); })).then(hashedRemotes => { /* __GDPR__ - "workspace.hashedRemotes" : { - "remotes" : { "classification": "CustomerContent", "purpose": "FeatureInsight" } - } - */ + "workspace.hashedRemotes" : { + "remotes" : { "classification": "CustomerContent", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('workspace.hashedRemotes', { remotes: hashedRemotes }); }, onUnexpectedError); } /* __GDPR__FRAGMENT__ - "AzureTags" : { - "node" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "AzureTags" : { + "node" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ private reportAzureNode(workspaceUris: URI[], tags: Tags): TPromise { // TODO: should also work for `node_modules` folders several levels down const uris = workspaceUris.map(workspaceUri => { @@ -350,10 +350,10 @@ export class WorkspaceStats { /* __GDPR__FRAGMENT__ - "AzureTags" : { - "java" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "AzureTags" : { + "java" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ private reportAzureJava(workspaceUris: URI[], tags: Tags): TPromise { return TPromise.join(workspaceUris.map(workspaceUri => { const path = workspaceUri.path; @@ -377,12 +377,12 @@ export class WorkspaceStats { }).then((tags) => { if (Object.keys(tags).length) { /* __GDPR__ - "workspace.azure" : { - "${include}": [ - "${AzureTags}" - ] - } - */ + "workspace.azure" : { + "${include}": [ + "${AzureTags}" + ] + } + */ this.telemetryService.publicLog('workspace.azure', tags); } }).then(null, onUnexpectedError); diff --git a/src/vs/workbench/services/textfile/common/textFileEditorModel.ts b/src/vs/workbench/services/textfile/common/textFileEditorModel.ts index 2360ed580d52db..3267637c435d60 100644 --- a/src/vs/workbench/services/textfile/common/textFileEditorModel.ts +++ b/src/vs/workbench/services/textfile/common/textFileEditorModel.ts @@ -366,14 +366,13 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil private loadWithContent(content: IRawTextContent | IContent, backup?: URI): TPromise { diag('load() - resolved content', this.resource, new Date()); - // Telemetry /* __GDPR__ - "fileGet" : { - "mimeType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "ext": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "path": { "classification": "CustomerContent", "purpose": "FeatureInsight" } - } - */ + "fileGet" : { + "mimeType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "ext": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "path": { "classification": "CustomerContent", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('fileGet', { mimeType: guessMimeTypes(this.resource.fsPath).join(', '), ext: paths.extname(this.resource.fsPath), path: anonymize(this.resource.fsPath) }); // Update our resolved disk stat model @@ -706,16 +705,16 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil // Telemetry if (this.isSettingsFile()) { /* __GDPR__ - "settingsWritten" : {} - */ + "settingsWritten" : {} + */ this.telemetryService.publicLog('settingsWritten'); // Do not log write to user settings.json and .vscode folder as a filePUT event as it ruins our JSON usage data } else { /* __GDPR__ - "filePUT" : { - "mimeType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "ext": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "filePUT" : { + "mimeType" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "ext": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('filePUT', { mimeType: guessMimeTypes(this.resource.fsPath).join(', '), ext: paths.extname(this.lastResolvedDiskStat.resource.fsPath) }); } diff --git a/src/vs/workbench/services/textfile/common/textFileService.ts b/src/vs/workbench/services/textfile/common/textFileService.ts index 2461fd37f5f3b3..5dfbcde38a913f 100644 --- a/src/vs/workbench/services/textfile/common/textFileService.ts +++ b/src/vs/workbench/services/textfile/common/textFileService.ts @@ -88,12 +88,12 @@ export abstract class TextFileService implements ITextFileService { this.onConfigurationChange(configuration); /* __GDPR__ - "autoSave" : { - "${include}": [ - "${IAutoSaveConfiguration}" - ] - } - */ + "autoSave" : { + "${include}": [ + "${IAutoSaveConfiguration}" + ] + } + */ this.telemetryService.publicLog('autoSave', this.getAutoSaveConfiguration()); this.registerListeners(); @@ -219,12 +219,12 @@ export abstract class TextFileService implements ITextFileService { // Telemetry /* __GDPR__ - "hotExit:triggered" : { - "reason" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "windowCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "fileCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "hotExit:triggered" : { + "reason" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "windowCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "fileCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('hotExit:triggered', { reason, windowCount, fileCount: dirtyToBackup.length }); // Backup diff --git a/src/vs/workbench/services/textfile/common/textfiles.ts b/src/vs/workbench/services/textfile/common/textfiles.ts index 13427c4653907c..3a649cade6e7d1 100644 --- a/src/vs/workbench/services/textfile/common/textfiles.ts +++ b/src/vs/workbench/services/textfile/common/textfiles.ts @@ -101,12 +101,12 @@ export interface IResult { } /* __GDPR__FRAGMENT__ - "IAutoSaveConfiguration" : { - "autoSaveDelay" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "autoSaveFocusChange": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "autoSaveApplicationChange": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } - } - */ + "IAutoSaveConfiguration" : { + "autoSaveDelay" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "autoSaveFocusChange": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "autoSaveApplicationChange": { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + } +*/ export interface IAutoSaveConfiguration { autoSaveDelay: number; autoSaveFocusChange: boolean; diff --git a/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts b/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts index c027ae8af77d66..7fb9b9a90c8d92 100644 --- a/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts +++ b/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts @@ -643,14 +643,14 @@ export class WorkbenchThemeService implements IWorkbenchThemeService { let key = themeType + themeData.extensionId; if (!this.themeExtensionsActivated.get(key)) { /* __GDPR__ - "activatePlugin" : { - "id" : { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "name": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, - "isBuiltin": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, - "publisherDisplayName": { "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, - "themeId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } - } - */ + "activatePlugin" : { + "id" : { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "name": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" }, + "isBuiltin": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, + "publisherDisplayName": { "classification": "PublicPersonalData", "purpose": "FeatureInsight" }, + "themeId": { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" } + } + */ this.telemetryService.publicLog('activatePlugin', { id: themeData.extensionId, name: themeData.extensionName, diff --git a/src/vs/workbench/services/timer/common/timerService.ts b/src/vs/workbench/services/timer/common/timerService.ts index 1d6c5d4f16a3ed..0eecf662452e5c 100644 --- a/src/vs/workbench/services/timer/common/timerService.ts +++ b/src/vs/workbench/services/timer/common/timerService.ts @@ -9,13 +9,13 @@ import { createDecorator } from 'vs/platform/instantiation/common/instantiation' export const ITimerService = createDecorator('timerService'); /* __GDPR__FRAGMENT__ - "IMemoryInfo" : { - "workingSetSize" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "peakWorkingSetSize": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "privateBytes": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "sharedBytes": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - */ + "IMemoryInfo" : { + "workingSetSize" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "peakWorkingSetSize": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "privateBytes": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "sharedBytes": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } +*/ export interface IMemoryInfo { workingSetSize: number; peakWorkingSetSize: number; @@ -24,40 +24,40 @@ export interface IMemoryInfo { } /* __GDPR__FRAGMENT__ - "IStartupMetrics" : { - "version" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "ellapsed" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedAppReady" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedWindowLoad" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedWindowLoadToRequire" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedExtensions" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedExtensionsReady" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedRequire" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedViewletRestore" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedEditorRestore" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedWorkbench" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "timers.ellapsedTimersToTimersComputed" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "platform" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "release" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "arch" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "totalmem" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "meminfo" : { "${inline}": [ "${IMemoryInfo}" ] }, - "cpus.count" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "cpus.speed" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "cpus.model" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "initialStartup" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "hasAccessibilitySupport" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "isVMLikelyhood" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "emptyWorkbench" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "loadavg" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "${wildcard}": [ - { - "${prefix}": "timers2.", - "${classification}": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } - } - ] - } - */ + "IStartupMetrics" : { + "version" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "ellapsed" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedAppReady" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedWindowLoad" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedWindowLoadToRequire" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedExtensions" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedExtensionsReady" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedRequire" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedViewletRestore" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedEditorRestore" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedWorkbench" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "timers.ellapsedTimersToTimersComputed" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "platform" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "release" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "arch" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "totalmem" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "meminfo" : { "${inline}": [ "${IMemoryInfo}" ] }, + "cpus.count" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "cpus.speed" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "cpus.model" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "initialStartup" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "hasAccessibilitySupport" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "isVMLikelyhood" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "emptyWorkbench" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "loadavg" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, + "${wildcard}": [ + { + "${prefix}": "timers2.", + "${classification}": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + } + ] + } +*/ export interface IStartupMetrics { version: number; ellapsed: number; From 955adbfce1ec191fdde59553f1b3d1f3bad25113 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Mon, 25 Sep 2017 17:03:16 -0700 Subject: [PATCH 37/39] add missing commas --- .../parts/extensions/node/extensionsWorkbenchService.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts index 68666b6a40939a..f8ab86dcca1dfa 100644 --- a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts +++ b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts @@ -819,7 +819,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { "extensionGallery:install" : { "success": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "${include}": [ "${GalleryExtensionTelemetryData}" ] @@ -829,7 +829,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { "extensionGallery:update" : { "success": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "${include}": [ "${GalleryExtensionTelemetryData}" ] @@ -839,7 +839,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { "extensionGallery:uninstall" : { "success": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "duration" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, - "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" } + "errorcode": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }, "${include}": [ "${GalleryExtensionTelemetryData}" ] From 5aa3360690d0c029520b17aafe8e17c93aac1363 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Mon, 25 Sep 2017 17:14:13 -0700 Subject: [PATCH 38/39] fix typos --- src/vs/platform/telemetry/node/commonProperties.ts | 2 +- .../parts/extensions/node/extensionsWorkbenchService.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vs/platform/telemetry/node/commonProperties.ts b/src/vs/platform/telemetry/node/commonProperties.ts index dcae96f487759c..3ee844f84e36c8 100644 --- a/src/vs/platform/telemetry/node/commonProperties.ts +++ b/src/vs/platform/telemetry/node/commonProperties.ts @@ -22,7 +22,7 @@ export function resolveCommonProperties(commit: string, version: string, source: result['version'] = version; // __GDPR__COMMON__ "common.osVersion" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.osVersion'] = os.release(); - // __GDPR__COMMON__ "common.platfrom" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } + // __GDPR__COMMON__ "common.platform" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.platform'] = Platform.Platform[Platform.platform]; // __GDPR__COMMON__ "common.nodePlatform" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" } result['common.nodePlatform'] = process.platform; diff --git a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts index f8ab86dcca1dfa..889f2fe7a8dee6 100644 --- a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts +++ b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts @@ -535,7 +535,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { return this.promptAndSetEnablement(extension, enable, workspace).then(reload => { /* __GDPR__ - "extension:enabled" : { + "extension:enable" : { "${include}": [ "${GalleryExtensionTelemetryData}" ] From 112f9a5c453a21fca5e9c6652ad45929e2dc1e60 Mon Sep 17 00:00:00 2001 From: kieferrm Date: Mon, 25 Sep 2017 18:35:47 -0700 Subject: [PATCH 39/39] fix searchResultsShown event --- src/vs/workbench/parts/search/common/searchModel.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/workbench/parts/search/common/searchModel.ts b/src/vs/workbench/parts/search/common/searchModel.ts index 06bb041cdab3a5..3152f36df332a3 100644 --- a/src/vs/workbench/parts/search/common/searchModel.ts +++ b/src/vs/workbench/parts/search/common/searchModel.ts @@ -770,7 +770,7 @@ export class SearchModel extends Disposable { const options: IPatternInfo = objects.assign({}, this._searchQuery.contentPattern); delete options.pattern; /* __GDPR__ - "searchresultsShown" : { + "searchResultsShown" : { "count" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "fileCount": { "classification": "SystemMetaData", "purpose": "FeatureInsight" }, "options": { "${inline}": [ "${IPatternInfo}" ] },