Execution Plan Telemetry for Plan Comparisons (#19610)

* Adds telemetry when plan comparison is invoked

* Small formatting change.

* Adds telemetry to add execution plan button

* Removes unused ExecutionPlanComparisonEditorView constructor parameters

* Small formatting adjustment

* Adds telemetry to ExecutionPlanComparisonEditorView properties

* Code review changes
This commit is contained in:
Lewis Sanchez
2022-06-03 13:56:32 -07:00
committed by GitHub
parent e8158d4374
commit b52386a36a
3 changed files with 32 additions and 12 deletions

View File

@@ -164,7 +164,7 @@ export class ExecutionPlanView implements ISashLayoutProvider {
this._instantiationService.createInstance(ZoomToFitAction, 'ActionBar'),
this._instantiationService.createInstance(CustomZoomAction, 'ActionBar'),
this._instantiationService.createInstance(PropertiesAction, 'ActionBar'),
new CompareExecutionPlanAction(),
this._instantiationService.createInstance(CompareExecutionPlanAction, 'ActionBar'),
this.actionBarToggleTopTip
];
this._actionBar.pushAction(actionBarActions, { icon: true, label: false });
@@ -181,7 +181,7 @@ export class ExecutionPlanView implements ISashLayoutProvider {
this._instantiationService.createInstance(ZoomToFitAction, 'ContextMenu'),
this._instantiationService.createInstance(CustomZoomAction, 'ContextMenu'),
this._instantiationService.createInstance(PropertiesAction, 'ContextMenu'),
new CompareExecutionPlanAction(),
this._instantiationService.createInstance(CompareExecutionPlanAction, 'ContextMenu'),
this.contextMenuToggleTooltipAction
];
const self = this;
@@ -530,11 +530,18 @@ export class CompareExecutionPlanAction extends Action {
public static ID = 'ep.tooltipToggleContextMenu';
public static COMPARE_PLAN = localize('executionPlanCompareExecutionPlanAction', "Compare execution plan");
constructor() {
constructor(private source: ExecutionPlanActionSource,
@IAdsTelemetryService private readonly telemetryService: IAdsTelemetryService
) {
super(CompareExecutionPlanAction.COMPARE_PLAN, CompareExecutionPlanAction.COMPARE_PLAN, executionPlanCompareIconClassName);
}
public override async run(context: ExecutionPlanView): Promise<void> {
this.telemetryService
.createActionEvent(TelemetryKeys.TelemetryView.ExecutionPlan, TelemetryKeys.TelemetryAction.CompareExecutionPlan)
.withAdditionalProperties({ source: this.source })
.send();
context.compareCurrentExecutionPlan();
}
}