Skip to content

Commit

Permalink
Add Experimentation Service client (microsoft#1934)
Browse files Browse the repository at this point in the history
* Create an adapter for TAS

* Add activity measurement service

* Refactoring

* Update dependencies

* Use registerEvent for save listener

* Remove ITelemetryReporter
  • Loading branch information
bwateratmsft authored and Dmarch28 committed Mar 4, 2021
1 parent ced17f5 commit ffa42c6
Show file tree
Hide file tree
Showing 32 changed files with 564 additions and 690 deletions.
6 changes: 2 additions & 4 deletions extension.bundle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,7 @@ export { trimWithElipsis } from './src/utils/trimWithElipsis';
export { recursiveFindTaskByType } from './src/tasks/TaskHelper';
export { TaskDefinitionBase } from './src/tasks/TaskDefinitionBase';
export { DebugConfigurationBase } from './src/debugging/DockerDebugConfigurationBase';
export { TelemetryPublisher } from './src/telemetry/TelemetryPublisher';
export { TelemetryReporterProxy } from './src/telemetry/TelemetryReporterProxy';
export { ITelemetryPublisher, TelemetryEvent } from './src/telemetry/TelemetryPublisher';
export { activeUseSurvey } from './src/telemetry/surveys/activeUseSurvey';
export { ActivityMeasurementService } from './src/telemetry/ActivityMeasurementService';
export { ExperimentationTelemetry } from './src/telemetry/ExperimentationTelemetry';

export * from 'vscode-azureextensionui';
131 changes: 93 additions & 38 deletions package-lock.json

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

7 changes: 4 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2626,7 +2626,7 @@
"umd-compat-loader": "^2.1.2",
"vsce": "^1.75.0",
"vscode": "^1.1.37",
"vscode-azureextensiondev": "^0.3.1",
"vscode-azureextensiondev": "^0.3.3",
"vscode-nls-dev": "^3.3.1",
"webpack": "^4.43.0",
"webpack-cli": "^3.3.11"
Expand All @@ -2649,10 +2649,11 @@
"request-promise-native": "^1.0.8",
"semver": "^6.3.0",
"tar": "^6.0.1",
"vscode-azureappservice": "^0.57.6",
"vscode-azureextensionui": "^0.29.13",
"vscode-azureappservice": "^0.58.0",
"vscode-azureextensionui": "^0.31.1",
"vscode-languageclient": "^6.1.3",
"vscode-nls": "^4.1.2",
"vscode-tas-client": "^0.0.658",
"xml2js": "^0.4.23"
}
}
4 changes: 2 additions & 2 deletions src/commands/networks/createNetwork.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { window } from 'vscode';
import { IActionContext } from 'vscode-azureextensionui';
import { ext } from '../../extensionVariables';
import { localize } from '../../localize';
import { callDockerodeAsync, callDockerodeWithErrorHandling } from '../../utils/callDockerode';
import { callDockerodeWithErrorHandling } from '../../utils/callDockerode';

export async function createNetwork(context: IActionContext): Promise<void> {

Expand All @@ -16,7 +16,7 @@ export async function createNetwork(context: IActionContext): Promise<void> {
prompt: localize('vscode-docker.commands.networks.create.promptName', 'Name of the network')
});

const engineVersion = await callDockerodeAsync(async () => ext.dockerode.version());
const engineVersion = await callDockerodeWithErrorHandling(async () => ext.dockerode.version(), context);
const drivers = engineVersion.Os === 'windows'
? [
{ label: 'nat' },
Expand Down
18 changes: 17 additions & 1 deletion src/commands/registerCommands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@
*--------------------------------------------------------------------------------------------*/

import { commands } from "vscode";
import { registerCommand } from "vscode-azureextensionui";
import { IActionContext, registerCommand as registerCommandAzUI } from "vscode-azureextensionui";
import { configure, configureApi } from "../configureWorkspace/configure";
import { configureCompose } from "../configureWorkspace/configureCompose";
import { ext } from "../extensionVariables";
import { deployImageToAzure } from "../utils/lazyLoad";
import { viewAzureTaskLogs } from "../utils/lazyLoad";
import { composeDown, composeRestart, composeUp } from "./compose";
Expand Down Expand Up @@ -71,6 +72,21 @@ import { inspectVolume } from "./volumes/inspectVolume";
import { pruneVolumes } from "./volumes/pruneVolumes";
import { removeVolume } from "./volumes/removeVolume";

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function registerCommand(commandId: string, callback: (context: IActionContext, ...args: any[]) => any, debounce?: number): void {
registerCommandAzUI(
commandId,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
async (context, ...args: any[]) => {
// eslint-disable-next-line @typescript-eslint/no-floating-promises
ext.activityMeasurementService.recordActivity('overallnoedit');

return callback(context, ...args);
},
debounce
);
}

export function registerCommands(): void {
registerWorkspaceCommand('vscode-docker.api.configure', configureApi);
registerWorkspaceCommand('vscode-docker.compose.down', composeDown);
Expand Down
3 changes: 2 additions & 1 deletion src/commands/registerLocalCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
* Licensed under the MIT License. See LICENSE.md in the project root for license information.
*--------------------------------------------------------------------------------------------*/

import { IActionContext, registerCommand } from 'vscode-azureextensionui';
import { IActionContext } from 'vscode-azureextensionui';
import { localize } from '../localize';
import { DockerExtensionKind, getVSCodeRemoteInfo } from '../utils/getVSCodeRemoteInfo';
import { registerCommand } from './registerCommands';

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function registerLocalCommand(commandId: string, callback: (context: IActionContext, ...args: any[]) => any, debounce?: number): void {
Expand Down
3 changes: 2 additions & 1 deletion src/commands/registerWorkspaceCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@
*--------------------------------------------------------------------------------------------*/

import { commands, ConfigurationTarget, MessageItem, workspace, WorkspaceConfiguration } from 'vscode';
import { callWithTelemetryAndErrorHandling, IActionContext, registerCommand, UserCancelledError } from 'vscode-azureextensionui';
import { callWithTelemetryAndErrorHandling, IActionContext, UserCancelledError } from 'vscode-azureextensionui';
import { extensionId } from '../constants';
import { ext } from '../extensionVariables';
import { localize } from '../localize';
import { DockerExtensionKind, getVSCodeRemoteInfo, IVSCodeRemoteInfo, RemoteKind } from '../utils/getVSCodeRemoteInfo';
import { registerCommand } from './registerCommands';

/**
* Registers a command that requires running in the "workspace" environment (as opposed to a "ui" extension).
Expand Down
3 changes: 3 additions & 0 deletions src/configureWorkspace/scaffolding.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,9 @@ export async function scaffold(context: ScaffoldContext): Promise<ScaffoldedFile
return captureCancelStep(step, context.telemetry.properties, prompt);
}

// eslint-disable-next-line @typescript-eslint/no-floating-promises
ext.activityMeasurementService.recordActivity('overallnoedit');

let folder: vscode.WorkspaceFolder;

try {
Expand Down
Loading

0 comments on commit ffa42c6

Please sign in to comment.