diff options
author | Johannes Rieken <johannes.rieken@gmail.com> | 2022-07-20 15:32:09 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-20 15:32:09 +0300 |
commit | fa155a39b75c909c5968414d88eb405e21bce344 (patch) | |
tree | 8244f73fd9e24b8f63140937a9af3dec8700c305 | |
parent | 40ca7ae5ba3eb55ad4408d6d29c22eea629148f5 (diff) |
add more GDPR comments, https://github.com/microsoft/vscode-internalbacklog/issues/2762 (#155724)
3 files changed, 21 insertions, 16 deletions
diff --git a/src/vs/workbench/api/common/extHostExtensionActivator.ts b/src/vs/workbench/api/common/extHostExtensionActivator.ts index a0a16865ab2..38856e517e8 100644 --- a/src/vs/workbench/api/common/extHostExtensionActivator.ts +++ b/src/vs/workbench/api/common/extHostExtensionActivator.ts @@ -28,10 +28,10 @@ export interface IExtensionAPI { } export type ExtensionActivationTimesFragment = { - startup?: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; isMeasurement: true }; - codeLoadingTime?: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; isMeasurement: true }; - activateCallTime?: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; isMeasurement: true }; - activateResolvedTime?: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; isMeasurement: true }; + startup?: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; isMeasurement: true; comment: 'Activation occurred during startup' }; + codeLoadingTime?: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; isMeasurement: true; comment: 'Time it took to load the extension\'s code' }; + activateCallTime?: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; isMeasurement: true; comment: 'Time it took to call activate' }; + activateResolvedTime?: { classification: 'SystemMetaData'; purpose: 'PerformanceAndHealth'; isMeasurement: true; comment: 'Time it took for async-activation to finish' }; }; export class ExtensionActivationTimes { diff --git a/src/vs/workbench/api/common/extHostExtensionService.ts b/src/vs/workbench/api/common/extHostExtensionService.ts index 337929b481d..ac865608116 100644 --- a/src/vs/workbench/api/common/extHostExtensionService.ts +++ b/src/vs/workbench/api/common/extHostExtensionService.ts @@ -62,14 +62,14 @@ export interface IHostUtils { } type TelemetryActivationEventFragment = { - id: { classification: 'PublicNonPersonalData'; purpose: 'FeatureInsight' }; - name: { classification: 'PublicNonPersonalData'; purpose: 'FeatureInsight' }; - extensionVersion: { classification: 'PublicNonPersonalData'; purpose: 'FeatureInsight' }; - publisherDisplayName: { classification: 'SystemMetaData'; purpose: 'FeatureInsight' }; - activationEvents: { classification: 'SystemMetaData'; purpose: 'FeatureInsight' }; - isBuiltin: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; isMeasurement: true }; - reason: { classification: 'SystemMetaData'; purpose: 'FeatureInsight' }; - reasonId: { classification: 'PublicNonPersonalData'; purpose: 'FeatureInsight' }; + id: { classification: 'PublicNonPersonalData'; purpose: 'FeatureInsight'; comment: 'The identifier of an extension' }; + name: { classification: 'PublicNonPersonalData'; purpose: 'FeatureInsight'; comment: 'The name of the extension' }; + extensionVersion: { classification: 'PublicNonPersonalData'; purpose: 'FeatureInsight'; comment: 'The version of the extension' }; + publisherDisplayName: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The publisher of the extension' }; + activationEvents: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'All activation events of the extension' }; + isBuiltin: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; isMeasurement: true; comment: 'If the extension is builtin or git installed' }; + reason: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The activation event' }; + reasonId: { classification: 'PublicNonPersonalData'; purpose: 'FeatureInsight'; comment: 'The identifier of the activation event' }; }; export abstract class AbstractExtHostExtensionService extends Disposable implements ExtHostExtensionServiceShape { @@ -425,7 +425,8 @@ export abstract class AbstractExtHostExtensionService extends Disposable impleme const event = getTelemetryActivationEvent(extensionDescription, reason); type ExtensionActivationTimesClassification = { owner: 'jrieken'; - outcome: { classification: 'SystemMetaData'; purpose: 'FeatureInsight' }; + comment: 'Timestamps for extension activation'; + outcome: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'Did extension activation succeed or fail' }; } & TelemetryActivationEventFragment & ExtensionActivationTimesFragment; type ExtensionActivationTimesEvent = { @@ -450,6 +451,7 @@ export abstract class AbstractExtHostExtensionService extends Disposable impleme const event = getTelemetryActivationEvent(extensionDescription, reason); type ActivatePluginClassification = { owner: 'jrieken'; + comment: 'Data about how/why an extension was activated'; } & TelemetryActivationEventFragment; this._mainThreadTelemetryProxy.$publicLog2<TelemetryActivationEvent, ActivatePluginClassification>('activatePlugin', event); const entryPoint = this._getEntryPoint(extensionDescription); diff --git a/src/vs/workbench/api/common/extHostRequireInterceptor.ts b/src/vs/workbench/api/common/extHostRequireInterceptor.ts index 46f3e072488..2a176ad3a91 100644 --- a/src/vs/workbench/api/common/extHostRequireInterceptor.ts +++ b/src/vs/workbench/api/common/extHostRequireInterceptor.ts @@ -250,7 +250,8 @@ class KeytarNodeModuleFactory implements INodeModuleFactory { const ext = this._extensionPaths.findSubstr(parent); type ShimmingKeytarClassification = { owner: 'jrieken'; - extension: { classification: 'SystemMetaData'; purpose: 'FeatureInsight' }; + comment: 'Know when the keytar-shim was used'; + extension: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The extension is question' }; }; this._mainThreadTelemetry.$publicLog2<{ extension: string }, ShimmingKeytarClassification>('shimming.keytar', { extension: ext?.identifier.value ?? 'unknown_extension' }); return this._impl; @@ -348,7 +349,8 @@ class OpenNodeModuleFactory implements INodeModuleFactory { } type ShimmingOpenClassification = { owner: 'jrieken'; - extension: { classification: 'SystemMetaData'; purpose: 'FeatureInsight' }; + comment: 'Know when the open-shim was used'; + extension: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The extension is question' }; }; this._mainThreadTelemetry.$publicLog2<{ extension: string }, ShimmingOpenClassification>('shimming.open', { extension: this._extensionId }); } @@ -359,7 +361,8 @@ class OpenNodeModuleFactory implements INodeModuleFactory { } type ShimmingOpenCallNoForwardClassification = { owner: 'jrieken'; - extension: { classification: 'SystemMetaData'; purpose: 'FeatureInsight' }; + comment: 'Know when the open-shim was used'; + extension: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The extension is question' }; }; this._mainThreadTelemetry.$publicLog2<{ extension: string }, ShimmingOpenCallNoForwardClassification>('shimming.open.call.noForward', { extension: this._extensionId }); } |