Query Execution Plan Expensive Operator Highlighting (#20579)

* Boilerplate for new context menu options

* Enables checkmarks for expensive operator context menu actions

* Updates azdataGraph version to 0.0.44

* Adds clearing logic to actions and retrieves additional info from nodes

* Removes unnecessary actions that aren't supported by other providers

* Finishes setting up the rest of the context menu actions

* Corrects context menu action label

* Defines new widget type for finding expensive operations

* Adds TODO for class icon name

* Creates action to open the expensive operation widget

* Adds escape and enter key shortcuts to findExpensiveOperation widget

* Styles find expensive operation widget

* Corrects class name for finding expensive operator action

* Corrects import statement.

* Code clean up

* Bumps azdataGraph version to 0.0.45

* Adds an info box for when a metric doesn't find any nodes

* Adds label to find expensive operator widget

* Invokes dispose when widget controller removes widget

* Implements disposable in all execution plan widgets.

* Adds off action to clear highlighting

* Adds a default setting and default prompt for highlighting metric

* Fixes not all code paths return error

* Removes shortcut key from text for widget actions

* Adds enum description

* Removes added dictionary type, and renames class name

* Removes unnecessary null checks

* Removes cost metric dictionary and adds corresponding properties

* Code review changes

* Removes incorrectly implemented key down event for widget.

* Renames widget and action class names for highlighting expensive ops

* File rename

* Cleans up labels to better reflect highlight action

* Removes hardcoded button width style and sets it to auto

* More clean up

* Clean up import statement

* Code review changes

* Drop down list only shows available metrics

* Updates highlight expensive operation icon

* Update STS version
This commit is contained in:
Lewis Sanchez
2022-10-03 12:32:39 -07:00
committed by GitHub
parent d0cab10cc9
commit f521d7cc63
22 changed files with 660 additions and 77 deletions

View File

@@ -1,6 +1,6 @@
{
"downloadUrl": "https://github.com/Microsoft/sqltoolsservice/releases/download/{#version#}/microsoft.sqltools.servicelayer-{#fileName#}",
"version": "4.3.0.30",
"version": "4.3.0.32",
"downloadFileNames": {
"Windows_86": "win-x86-net6.0.zip",
"Windows_64": "win-x64-net6.0.zip",

View File

@@ -261,6 +261,29 @@
"default": false,
"description": "%mssql.intelliSense.lowerCaseSuggestions%"
},
"mssql.executionPlan.expensiveOperationMetric": {
"type": "string",
"description": "%mssql.executionPlan.expensiveOperationMetric%",
"default": "cost",
"enum": [
"off",
"actualElapsedTime",
"actualElapsedCpuTime",
"cost",
"subtreeCost",
"actualNumberOfRowsForAllExecutions",
"numberOfRowsRead"
],
"enumDescriptions": [
"%mssql.executionPlan.expensiveOperationMetric.off%",
"%mssql.executionPlan.expensiveOperationMetric.actualElapsedTime%",
"%mssql.executionPlan.expensiveOperationMetric.actualElapsedCpuTime%",
"%mssql.executionPlan.cost%",
"%mssql.executionPlan.subtreeCost%",
"%mssql.executionPlan.actualNumberOfRowsForAllExecutions%",
"%mssql.executionPlan.numberOfRowsRead%"
]
},
"mssql.query.rowCount": {
"type": "number",
"default": 0,

View File

@@ -39,6 +39,14 @@
"mssql.disabled": "Disabled",
"mssql.enabled": "Enabled",
"mssql.executionPlan.expensiveOperationMetric": "The default metric to use to highlight an expensive operation in query execution plans",
"mssql.executionPlan.expensiveOperationMetric.off": "Expensive operation highlighting will be turned off for execution plans.",
"mssql.executionPlan.expensiveOperationMetric.actualElapsedTime": "Highlights the execution plan operation that took the most time.",
"mssql.executionPlan.expensiveOperationMetric.actualElapsedCpuTime": "Highlights the execution plan operation that used the most CPU time.",
"mssql.executionPlan.cost": "Highlights the execution plan operation with the highest cost.",
"mssql.executionPlan.subtreeCost": "Highlights the execution plan operation with the highest subtree cost.",
"mssql.executionPlan.actualNumberOfRowsForAllExecutions": "Highlights the execution plan operation with the greatest actual number of rows for all executions.",
"mssql.executionPlan.numberOfRowsRead": "Highlights the execution plan operation with the greatest number of rows read.",
"mssql.exportNotebookToSql": "Export Notebook as SQL",
"mssql.exportSqlAsNotebook": "Export SQL as Notebook",
"mssql.configuration.title": "MSSQL configuration",