Skip to content

Commit

Permalink
Use latest version of TAS package (#2052)
Browse files Browse the repository at this point in the history
* Use new TAS package

* Comment changes
  • Loading branch information
bwateratmsft authored Jun 11, 2020
1 parent a20502b commit 718d393
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 44 deletions.
14 changes: 7 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2662,7 +2662,7 @@
"vscode-azureextensionui": "^0.31.2",
"vscode-languageclient": "^6.1.3",
"vscode-nls": "^4.1.2",
"vscode-tas-client": "^0.0.757",
"vscode-tas-client": "^0.0.864",
"xml2js": "^0.4.23"
}
}
18 changes: 7 additions & 11 deletions src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,17 +66,6 @@ function initializeExtensionVariables(ctx: vscode.ExtensionContext): void {
ext.terminalProvider = new DefaultTerminalProvider();
}

// Activity measurement service internally handles telemetry opt-in
ext.activityMeasurementService = new ActivityMeasurementService(ctx.globalState);

// Experimentation service internally handles telemetry opt-in
const experimentationTelemetry = new ExperimentationTelemetry();
ctx.subscriptions.push(registerTelemetryHandler(async (context: IActionContext) => experimentationTelemetry.handleTelemetry(context)));
ext.experimentationService = new ExperimentationServiceAdapter(ctx.globalState, experimentationTelemetry);

// Survey manager internally handles telemetry opt-in
(new SurveyManager()).activate();

if (!ext.keytar) {
ext.keytar = Keytar.tryCreate();
}
Expand All @@ -94,6 +83,13 @@ export async function activateInternal(ctx: vscode.ExtensionContext, perfStats:
activateContext.telemetry.measurements.mainFileLoad = (perfStats.loadEndTime - perfStats.loadStartTime) / 1000;
activateContext.telemetry.properties.dockerInstallationID = await getDockerInstallationID();

// All of these internally handle telemetry opt-in
ext.activityMeasurementService = new ActivityMeasurementService(ctx.globalState);
const experimentationTelemetry = new ExperimentationTelemetry();
ctx.subscriptions.push(registerTelemetryHandler(async (context: IActionContext) => experimentationTelemetry.handleTelemetry(context)));
ext.experimentationService = await ExperimentationServiceAdapter.create(ctx.globalState, experimentationTelemetry);
(new SurveyManager()).activate();

validateOldPublisher(activateContext);

ctx.subscriptions.push(
Expand Down
54 changes: 29 additions & 25 deletions src/telemetry/ExperimentationServiceAdapter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,33 +14,37 @@ export interface IExperimentationServiceAdapter {
}

export class ExperimentationServiceAdapter implements IExperimentationServiceAdapter {
private readonly wrappedExperimentationService: IExperimentationService;

public constructor(globalState: vscode.Memento, reporter: tas.IExperimentationTelemetry) {
if (!ext.telemetryOptIn) {
return;
private wrappedExperimentationService: IExperimentationService;

private constructor() { }

public static async create(globalState: vscode.Memento, reporter: tas.IExperimentationTelemetry): Promise<IExperimentationServiceAdapter> {
const result = new ExperimentationServiceAdapter();

if (ext.telemetryOptIn) {
try {
const version = extensionVersion.value ?? '1';
let targetPopulation: tas.TargetPopulation;

if (ext.runningTests || process.env.DEBUGTELEMETRY || process.env.VSCODE_DOCKER_TEAM === '1') {
targetPopulation = tas.TargetPopulation.Team;
} else if (/alpha/ig.test(version)) {
targetPopulation = tas.TargetPopulation.Insiders;
} else {
targetPopulation = tas.TargetPopulation.Public;
}

result.wrappedExperimentationService = await tas.getExperimentationServiceAsync(
extensionId,
version,
targetPopulation,
reporter,
globalState,
);
} catch { } // Best effort
}

try {
const version = extensionVersion.value ?? '1';
let targetPopulation: tas.TargetPopulation;

if (ext.runningTests || process.env.DEBUGTELEMETRY || process.env.VSCODE_DOCKER_TEAM === '1') {
targetPopulation = tas.TargetPopulation.Team;
} else if (/alpha/ig.test(version)) {
targetPopulation = tas.TargetPopulation.Insiders;
} else {
targetPopulation = tas.TargetPopulation.Public;
}

this.wrappedExperimentationService = tas.getExperimentationService(
extensionId,
version,
targetPopulation,
reporter,
globalState,
);
} catch { } // Best effort
return result;
}

public async isFlightEnabled(flight: string): Promise<boolean> {
Expand Down

0 comments on commit 718d393

Please sign in to comment.