Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin' into alex/wiptitleexperiments
Browse files Browse the repository at this point in the history
  • Loading branch information
smartguest committed Sep 6, 2023
2 parents 9d64626 + 32817ae commit 8c2154e
Show file tree
Hide file tree
Showing 39 changed files with 1,034 additions and 219 deletions.
2 changes: 1 addition & 1 deletion extensions/mssql/config.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"downloadUrl": "https://github.com/Microsoft/sqltoolsservice/releases/download/{#version#}/microsoft.sqltools.servicelayer-{#fileName#}",
"version": "4.9.0.28",
"version": "4.9.0.32",
"downloadFileNames": {
"Windows_86": "win-x86-net7.0.zip",
"Windows_64": "win-x64-net7.0.zip",
Expand Down
1 change: 1 addition & 0 deletions extensions/mssql/src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ export const SqlAssessmentService = 'sqlAssessmentService';
export const NotebookConvertService = 'notebookConvertService';
export const AzureBlobService = 'azureBlobService';
export const ObjectManagementService = 'objectManagementService';
export const QueryStoreService = 'queryStoreService';

// CONFIGURATION VALUES //////////////////////////////////////////////////////////
export const configObjectExplorerGroupBySchemaFlagName = 'mssql.objectExplorer.groupBySchema';
Expand Down
250 changes: 246 additions & 4 deletions extensions/mssql/src/contracts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1567,10 +1567,6 @@ export interface ServerContextualizationParams {
ownerUri: string;
}

export namespace GenerateServerContextualizationRequest {
export const type = new RequestType<ServerContextualizationParams, azdata.contextualization.GenerateServerContextualizationResult, void, void>('metadata/generateServerContext');
}

export namespace GetServerContextualizationRequest {
export const type = new RequestType<ServerContextualizationParams, azdata.contextualization.GetServerContextualizationResult, void, void>('metadata/getServerContext');
}
Expand Down Expand Up @@ -1726,3 +1722,249 @@ export class DidChangeEncryptionIVKeyParams {
export namespace EncryptionKeysChangedNotification {
export const type = new NotificationType<DidChangeEncryptionIVKeyParams, void>('connection/encryptionKeysChanged');
}

// ------------------------------- < Query Store > ------------------------------------
//#region Query Store

//#region Functions

export namespace GetRegressedQueriesSummaryRequest {
export const type = new RequestType<GetRegressedQueriesReportParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getRegressedQueriesSummary');
}

export namespace GetRegressedQueriesDetailedSummaryRequest {
export const type = new RequestType<GetRegressedQueriesReportParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getRegressedQueriesDetailedSummary');
}

export namespace GetTrackedQueriesReportRequest {
export const type = new RequestType<GetTrackedQueriesReportParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getTrackedQueriesReport');
}

export namespace GetHighVariationQueriesSummaryRequest {
export const type = new RequestType<GetHighVariationQueriesReportParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getHighVariationQueriesSummary');
}

export namespace GetHighVariationQueriesDetailedSummaryRequest {
export const type = new RequestType<GetHighVariationQueriesReportParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getHighVariationQueriesDetailedSummary');
}

export namespace GetHighVariationQueriesDetailedSummaryWithWaitStatsRequest {
export const type = new RequestType<GetHighVariationQueriesReportParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getHighVariationQueriesDetailedSummaryWithWaitStats');
}

export namespace GetTopResourceConsumersSummaryRequest {
export const type = new RequestType<GetTopResourceConsumersReportParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getTopResourceConsumersSummary');
}

export namespace GetTopResourceConsumersDetailedSummaryRequest {
export const type = new RequestType<GetTopResourceConsumersReportParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getTopResourceConsumersDetailedSummary');
}

export namespace GetTopResourceConsumersDetailedSummaryWithWaitStatsRequest {
export const type = new RequestType<GetTopResourceConsumersReportParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getTopResourceConsumersDetailedSummaryWithWaitStats');
}

export namespace GetPlanSummaryChartViewRequest {
export const type = new RequestType<GetPlanSummaryParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getPlanSummaryChartView');
}

export namespace GetPlanSummaryGridViewRequest {
export const type = new RequestType<GetPlanSummaryGridViewParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getPlanSummaryGridView');
}

export namespace GetForcedPlanRequest {
export const type = new RequestType<GetForcedPlanParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getForcedPlan');
}

export namespace GetForcedPlanQueriesReportRequest {
export const type = new RequestType<GetForcedPlanQueriesReportParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getForcedPlanQueriesReport');
}

export namespace GetOverallResourceConsumptionReportRequest {
export const type = new RequestType<GetOverallResourceConsumptionReportParams, mssql.QueryStoreQueryResult, void, void>('queryStore/getOverallResourceConsumptionReport');
}

//#endregion

//#region Parameters

/**
* Base class for a Query Store report parameters
*/
export interface QueryStoreReportParams {
/**
* Connection URI for the database
*/
connectionOwnerUri: string;
}

/**
* Base class for parameters for a report type that uses QueryConfigurationBase for its configuration
*/
export interface QueryConfigurationParams extends QueryStoreReportParams {
/**
* Metric to summarize
*/
selectedMetric: mssql.Metric;
/**
* Statistic to calculate on SelecticMetric
*/
selectedStatistic: mssql.Statistic;
/**
* Number of queries to return if ReturnAllQueries is not set
*/
topQueriesReturned: number;
/**
* True to include all queries in the report; false to only include the top queries, up to the value specified by TopQueriesReturned
*/
returnAllQueries: boolean;
/**
* Minimum number of query plans for a query to included in the report
*/
minNumberOfQueryPlans: number;
}

/**
* Parameters for getting a Regressed Queries report
*/
export interface GetRegressedQueriesReportParams extends QueryConfigurationParams {
/**
* Time interval during which to look for performance regressions for the report
*/
timeIntervalRecent: mssql.TimeInterval;
/**
* Time interval during which to establish baseline performance for the report
*/
timeIntervalHistory: mssql.TimeInterval;
/**
* Minimum number of executions for a query to be included
*/
minExecutionCount: number;
}

/**
* Base class for parameters for a report that can be ordered by a specified column
*/
export interface OrderableQueryConfigurationParams extends QueryConfigurationParams {
/**
* Name of the column to order results by
*/
orderByColumnId: string;
/**
* Direction of the result ordering
*/
descending: boolean;
}

/**
* Parameters for getting a Tracked Queries report
*/
export interface GetTrackedQueriesReportParams {
/**
* Search text for a query
*/
querySearchText: string;
}

/**
* Parameters for getting a High Variation Queries report
*/
export interface GetHighVariationQueriesReportParams extends OrderableQueryConfigurationParams {
/**
* Time interval for the report
*/
timeInterval: mssql.TimeInterval;
}

/**
* Parameters for getting a Top Resource Consumers report
*/
export interface GetTopResourceConsumersReportParams extends OrderableQueryConfigurationParams {
/**
* Time interval for the report
*/
timeInterval: mssql.TimeInterval;
}

/**
* Parameters for getting a Plan Summary
*/
export interface GetPlanSummaryParams extends QueryStoreReportParams {
/**
* Query ID to view a summary of plans for
*/
queryId: number;
/**
* Mode of the time interval search
*/
timeIntervalMode: mssql.PlanTimeIntervalMode;
/**
* Time interval for the report
*/
timeInterval: mssql.TimeInterval;
/**
* Metric to summarize
*/
selectedMetric: mssql.Metric;
/**
* Statistic to calculate on SelecticMetric
*/
selectedStatistic: mssql.Statistic;
}

/**
* Parameters for getting the grid view of a Plan Summary
*/
export interface GetPlanSummaryGridViewParams extends GetPlanSummaryParams {
/**
* Name of the column to order results by
*/
orderByColumnId: string;
/**
* Direction of the result ordering
*/
descending: boolean;
}

/**
* Parameters for getting the forced plan for a query
*/
export interface GetForcedPlanParams extends QueryStoreReportParams {
/**
* Query ID to view the plan for
*/
queryId: number;
/**
* Plan ID to view
*/
planId: number;
}

/**
* Parameters for getting a Forced Plan Queries report
*/
export interface GetForcedPlanQueriesReportParams extends OrderableQueryConfigurationParams {
/**
* Time interval for the report
*/
timeInterval: mssql.TimeInterval;
}

/**
* Parameters for getting an Overall Resource Consumption report
*/
export interface GetOverallResourceConsumptionReportParams extends QueryConfigurationParams {
/**
* Time interval for the report
*/
specifiedTimeInterval: mssql.TimeInterval;
/**
* Bucket interval for the report
*/
specifiedBucketInterval: mssql.BucketInterval;
}

//#endregion

//#endregion
// ------------------------------- </ Query Store > -----------------------------------
17 changes: 1 addition & 16 deletions extensions/mssql/src/features.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1310,7 +1310,7 @@ export class ExecutionPlanServiceFeature extends SqlOpsFeature<undefined> {
*/
export class ServerContextualizationServiceFeature extends SqlOpsFeature<undefined> {
private static readonly messagesTypes: RPCMessageType[] = [
contracts.GenerateServerContextualizationRequest.type
contracts.GetServerContextualizationRequest.type
];

constructor(client: SqlOpsDataClient) {
Expand All @@ -1330,20 +1330,6 @@ export class ServerContextualizationServiceFeature extends SqlOpsFeature<undefin
protected registerProvider(options: undefined): Disposable {
const client = this._client;

const generateServerContextualization = (ownerUri: string): Thenable<azdata.contextualization.GenerateServerContextualizationResult> => {
const params: contracts.ServerContextualizationParams = {
ownerUri: ownerUri
};

return client.sendRequest(contracts.GenerateServerContextualizationRequest.type, params).then(
r => r,
e => {
client.logFailedRequest(contracts.GenerateServerContextualizationRequest.type, e);
return Promise.reject(e);
}
);
};

const getServerContextualization = (ownerUri: string): Thenable<azdata.contextualization.GetServerContextualizationResult> => {
const params: contracts.ServerContextualizationParams = {
ownerUri: ownerUri
Expand All @@ -1360,7 +1346,6 @@ export class ServerContextualizationServiceFeature extends SqlOpsFeature<undefin

return azdata.dataprotocol.registerServerContextualizationProvider({
providerId: client.providerId,
generateServerContextualization: generateServerContextualization,
getServerContextualization: getServerContextualization
});
}
Expand Down
Loading

0 comments on commit 8c2154e

Please sign in to comment.