Add telemetry for schema compare and sql database projects options dialogs (#19799)

* add more telemetry for schema compare and sql projects options dialogs

* cleanup

* change to sendActionEvent
This commit is contained in:
Kim Santiago
2022-06-22 13:31:28 -07:00
committed by GitHub
parent c24305f9d8
commit a3cad2378c
5 changed files with 22 additions and 3 deletions

View File

@@ -10,6 +10,7 @@ import * as utils from '../common/utils';
import type * as azdataType from 'azdata';
import { PublishDatabaseDialog } from './publishDatabaseDialog';
import { DeployOptionsModel } from '../models/options/deployOptionsModel';
import { TelemetryActions, TelemetryReporter, TelemetryViews } from '../common/telemetry';
export class PublishOptionsDialog {
@@ -21,6 +22,7 @@ export class PublishOptionsDialog {
private optionsTable: azdataType.TableComponent | undefined;
public optionsModel: DeployOptionsModel;
private optionsFlexBuilder: azdataType.FlexContainer | undefined;
private optionsChanged: boolean = false;
constructor(defaultOptions: mssql.DeploymentOptions, private publish: PublishDatabaseDialog) {
this.optionsModel = new DeployOptionsModel(defaultOptions);
@@ -85,6 +87,7 @@ export class PublishOptionsDialog {
if (checkboxState && checkboxState.row !== undefined) {
const label = this.optionsModel.optionsLabels[checkboxState.row];
this.optionsModel.optionsLookup[label] = checkboxState.checked;
this.optionsChanged = true;
}
}));
@@ -137,6 +140,10 @@ export class PublishOptionsDialog {
this.optionsModel.setDeploymentOptions();
this.publish.setDeploymentOptions(this.optionsModel.deploymentOptions);
this.disposeListeners();
if (this.optionsChanged) {
TelemetryReporter.sendActionEvent(TelemetryViews.PublishOptionsDialog, TelemetryActions.optionsChanged);
}
}
/*
@@ -159,6 +166,8 @@ export class PublishOptionsDialog {
await this.updateOptionsTable();
this.optionsFlexBuilder?.removeItem(this.optionsTable!);
this.optionsFlexBuilder?.insertItem(this.optionsTable!, 0, { CSSStyles: { 'overflow': 'scroll', 'height': '65vh' } });
TelemetryReporter.sendActionEvent(TelemetryViews.PublishOptionsDialog, TelemetryActions.resetOptions);
}
private disposeListeners(): void {