Merge from vscode 731f9c25632dbbf01ee3a7892ad9d2791fe0260c

This commit is contained in:
ADS Merger
2020-07-24 05:27:34 +00:00
parent eccf3cf5fe
commit d965d4aef3
145 changed files with 3072 additions and 1550 deletions

View File

@@ -46,6 +46,8 @@ export interface ITelemetryService {
getTelemetryInfo(): Promise<ITelemetryInfo>;
setExperimentProperty(name: string, value: string): void;
isOptedIn: boolean;
}

View File

@@ -31,6 +31,7 @@ export class TelemetryService implements ITelemetryService {
private _appender: ITelemetryAppender;
private _commonProperties: Promise<{ [name: string]: any; }>;
private _experimentProperties: { [name: string]: string } = {};
private _piiPaths: string[];
private _userOptIn: boolean;
private _enabled: boolean;
@@ -79,6 +80,10 @@ export class TelemetryService implements ITelemetryService {
}
}
setExperimentProperty(name: string, value: string): void {
this._experimentProperties[name] = value;
}
setEnabled(value: boolean): void {
this._enabled = value;
}
@@ -119,6 +124,9 @@ export class TelemetryService implements ITelemetryService {
// (first) add common properties
data = mixin(data, values);
// (next) add experiment properties
data = mixin(data, this._experimentProperties);
// (last) remove all PII from data
data = cloneAndChange(data, value => {
if (typeof value === 'string') {

View File

@@ -28,6 +28,7 @@ export const NullTelemetryService = new class implements ITelemetryService {
return this.publicLogError(eventName, data as ITelemetryData);
}
setExperimentProperty() { }
setEnabled() { }
isOptedIn = true;
getTelemetryInfo(): Promise<ITelemetryInfo> {