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

github.com/microsoft/vscode.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Rieken <johannes.rieken@gmail.com>2022-07-20 15:32:09 +0300
committerGitHub <noreply@github.com>2022-07-20 15:32:09 +0300
commitfa155a39b75c909c5968414d88eb405e21bce344 (patch)
tree8244f73fd9e24b8f63140937a9af3dec8700c305
parent40ca7ae5ba3eb55ad4408d6d29c22eea629148f5 (diff)
add more GDPR comments, https://github.com/microsoft/vscode-internalbacklog/issues/2762 (#155724)
-rw-r--r--src/vs/workbench/api/common/extHostExtensionActivator.ts8
-rw-r--r--src/vs/workbench/api/common/extHostExtensionService.ts20
-rw-r--r--src/vs/workbench/api/common/extHostRequireInterceptor.ts9
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 });
}