Skip to content

Commit 979d9b4

Browse files
authored
add dev device id as traffic filter for exp (#1167)
1 parent 88c285e commit 979d9b4

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

src/platform/telemetry/vscode-node/microsoftExperimentationService.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ import { IEnvService } from '../../env/common/envService';
1212
import { packageJson } from '../../env/common/packagejson';
1313
import { IVSCodeExtensionContext } from '../../extContext/common/extensionContext';
1414
import { ILogService } from '../../log/common/logService';
15-
import { ITelemetryService } from '../common/telemetry';
16-
import { BaseExperimentationService, UserInfoStore } from '../node/baseExperimentationService';
1715
import { IFetcherService } from '../../networking/common/fetcherService';
1816
import { FetcherService } from '../../networking/vscode-node/fetcherServiceImpl';
17+
import { ITelemetryService } from '../common/telemetry';
18+
import { BaseExperimentationService, UserInfoStore } from '../node/baseExperimentationService';
1919

2020
function getTargetPopulation(isPreRelease: boolean): TargetPopulation {
2121
if (isPreRelease) {
@@ -136,6 +136,16 @@ class GithubAccountFilterProvider implements IExperimentationFilterProvider {
136136

137137
}
138138

139+
class DevDeviceIdFilterProvider implements IExperimentationFilterProvider {
140+
constructor(private _devDeviceId: string) { }
141+
142+
getFilters(): Map<string, any> {
143+
const filters = new Map<string, any>();
144+
filters.set('X-VSCode-DevDeviceId', this._devDeviceId);
145+
return filters;
146+
}
147+
}
148+
139149
export class MicrosoftExperimentationService extends BaseExperimentationService {
140150
constructor(
141151
@ITelemetryService telemetryService: ITelemetryService,
@@ -163,7 +173,8 @@ export class MicrosoftExperimentationService extends BaseExperimentationService
163173
new RelatedExtensionsFilterProvider(logService),
164174
new CopilotExtensionsFilterProvider(logService),
165175
// The callback is called in super ctor. At that time, self/this is not initialized yet (but also, no filter could have been possibly set).
166-
new CopilotCompletionsFilterProvider(() => self?.getCompletionsFilters() ?? new Map(), logService)
176+
new CopilotCompletionsFilterProvider(() => self?.getCompletionsFilters() ?? new Map(), logService),
177+
new DevDeviceIdFilterProvider(vscode.env.devDeviceId)
167178
);
168179
};
169180

0 commit comments

Comments
 (0)