Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions sdk/metricsadvisor/ai-metrics-advisor/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,24 @@
- [Breaking] `IncidentRootCause` property `dimensionKey` is renamed to `seriesKey`. `AnomalyIncident.dimensionKey` is renamed to `rootDimensionKey`
- [Breaking] The `-List` suffix is removed from Array properties in `MetricSeriesData` and `MetricsEnrichedSeriesData`. Plural form is used instead.
- [Breaking] `*PageResponse` types now extends from `Array<ItemType>` instead of wrapping an array of `ItemType`. Their types names are also shortened.
- [Breaking] Rename method for listing alerts
- `listAlertsForAlertConfiguration(alertConfigId, startTime, endTime, timemode, options)` to `listAlerts(alertConfigId, startTime, endTime, timemode, options)`
- [Breaking] Rename feedback methods :
- `listMetricFeedbacks()` to `listFeedback()`
- `getMetricFeedback()` to `getFeedback()`
- `createMetricFeedback()` to `createFeedback()`
- [Breaking] Rename detection configuration methods:
- `createMetricAnomalyDetectionConfiguration(anomalyConfig)` to `createDetectionConfig(anomalyConfig)`
- `getMetricAnomalyDetectionConfiguration(detectionConfigId)` to `getDetectionConfig(detectionConfigId)`
- `createMetricAnomalyDetectionConfiguration(config)` to `createDetectionConfig(config)`
- `updateMetricAnomalyDetectionConfiguration(configId, patch)` to `updateDetectionConfig(configId, patch)`
- `deleteMetricAnomalyDetectionConfiguration(detectionConfigId)` to `deleteDetectionConfig(detectionConfigId)`
- `listMetricAnomalyDetectionConfigurations(metricId)` to `listDetectionConfigs(metricId)`
- [Breaking] Rename anomaly alert configuration methods:
- `createAnomalyAlertConfiguration(anomalyAlertConfig)` to `createAlertConfig(anomalyAlertConfig)`
- `updateAnomalyAlertConfiguration(alertConfigId, patch)` to `updateAlertConfig(alertConfigId, patch)`
- `deleteAnomalyAlertConfiguration(alertConfigId)` to `deleteAlertConfig(alertConfigId)`
- `listAnomalyAlertConfigurations(detectdionConfigId)` to `listAlertConfigs(detectdionConfigId)`
- [Breaking] Data feed ingestion granularity now has `"PerMinute"` and `"PerSecond"` instead of `"Minutely"` and `"Secondly"`.
- [Breaking] Change the type of following timestamp properties from `Date` to `number`
- `AnomalyAlert.timestamp`
Expand Down
6 changes: 3 additions & 3 deletions sdk/metricsadvisor/ai-metrics-advisor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ async function configureAnomalyDetectionConfiguration(adminClient, metricId) {
},
description: "Detection configuration description"
};
return await adminClient.createMetricAnomalyDetectionConfiguration(anomalyConfig);
return await adminClient.createDetectionConfig(anomalyConfig);
}
```

Expand Down Expand Up @@ -391,7 +391,7 @@ async function configureAlertConfiguration(adminClient, detectionConfigId, hookI
hookIds,
description: "Alerting config description"
};
return await adminClient.createAnomalyAlertConfiguration(anomalyAlertConfig);
return await adminClient.createAlertConfig(anomalyAlertConfig);
}
```

Expand Down Expand Up @@ -429,7 +429,7 @@ async function main() {

async function queryAlerts(client, alertConfigId, startTime, endTime) {
let alerts = [];
for await (const alert of client.listAlertsForAlertConfiguration(
for await (const alert of client.listAlerts(
alertConfigId,
startTime,
endTime,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -624,13 +624,13 @@ export type ListDataFeedsOptions = {
} & OperationOptions;

// @public
export type ListDimensionValuesForDetectionConfigurationOptions = {
export type ListDimensionValuesForDetectionConfigOptions = {
skip?: number;
dimensionFilter?: DimensionKey;
} & OperationOptions;

// @public
export type ListFeedbacksOptions = {
export type ListFeedbackOptions = {
skip?: number;
filter?: {
dimensionFilter?: DimensionKey;
Expand Down Expand Up @@ -802,30 +802,30 @@ export type MetricPeriodFeedback = {
// @public
export class MetricsAdvisorAdministrationClient {
constructor(endpointUrl: string, credential: MetricsAdvisorKeyCredential, options?: MetricsAdvisorAdministrationClientOptions);
createAnomalyAlertConfiguration(config: Omit<AnomalyAlertConfiguration, "id">, options?: OperationOptions): Promise<GetAnomalyAlertConfigurationResponse>;
createAlertConfig(config: Omit<AnomalyAlertConfiguration, "id">, options?: OperationOptions): Promise<GetAnomalyAlertConfigurationResponse>;
createDataFeed(feed: Omit<DataFeed, "id" | "metricIds" | "isAdmin" | "status" | "creator" | "createdTime">, operationOptions?: OperationOptions): Promise<GetDataFeedResponse>;
createDetectionConfig(config: Omit<AnomalyDetectionConfiguration, "id">, options?: OperationOptions): Promise<GetAnomalyDetectionConfigurationResponse>;
createHook(hookInfo: EmailNotificationHook | WebNotificationHook, options?: OperationOptions): Promise<GetHookResponse>;
createMetricAnomalyDetectionConfiguration(config: Omit<AnomalyDetectionConfiguration, "id">, options?: OperationOptions): Promise<GetAnomalyDetectionConfigurationResponse>;
deleteAnomalyAlertConfiguration(id: string, options?: OperationOptions): Promise<RestResponse>;
deleteAlertConfig(id: string, options?: OperationOptions): Promise<RestResponse>;
deleteDataFeed(id: string, options?: OperationOptions): Promise<RestResponse>;
deleteDetectionConfig(id: string, options?: OperationOptions): Promise<RestResponse>;
deleteHook(id: string, options?: OperationOptions): Promise<RestResponse>;
deleteMetricAnomalyDetectionConfiguration(id: string, options?: OperationOptions): Promise<RestResponse>;
readonly endpointUrl: string;
getAnomalyAlertConfiguration(id: string, options?: OperationOptions): Promise<GetAnomalyAlertConfigurationResponse>;
getAlertConfig(id: string, options?: OperationOptions): Promise<GetAnomalyAlertConfigurationResponse>;
getDataFeed(id: string, options?: OperationOptions): Promise<GetDataFeedResponse>;
getDataFeedIngestionProgress(dataFeedId: string, options?: {}): Promise<GetIngestionProgressResponse>;
getDetectionConfig(id: string, options?: OperationOptions): Promise<GetAnomalyDetectionConfigurationResponse>;
getHook(id: string, options?: OperationOptions): Promise<GetHookResponse>;
getMetricAnomalyDetectionConfiguration(id: string, options?: OperationOptions): Promise<GetAnomalyDetectionConfigurationResponse>;
listAnomalyAlertConfigurations(detectionConfigId: string, options?: OperationOptions): PagedAsyncIterableIterator<AnomalyAlertConfiguration, AlertConfigurationsPageResponse, undefined>;
listAlertConfigs(detectionConfigId: string, options?: OperationOptions): PagedAsyncIterableIterator<AnomalyAlertConfiguration, AlertConfigurationsPageResponse, undefined>;
listDataFeedIngestionStatus(dataFeedId: string, startTime: Date | string, endTime: Date | string, options?: ListDataFeedIngestionStatusOptions): PagedAsyncIterableIterator<IngestionStatus, IngestionStatusPageResponse>;
listDataFeeds(options?: ListDataFeedsOptions): PagedAsyncIterableIterator<DataFeed, DataFeedsPageResponse>;
listDetectionConfigs(metricId: string, options?: OperationOptions): PagedAsyncIterableIterator<AnomalyDetectionConfiguration, DetectionConfigurationsPageResponse, undefined>;
listHooks(options?: ListHooksOptions): PagedAsyncIterableIterator<NotificationHookUnion, HooksPageResponse>;
listMetricAnomalyDetectionConfigurations(metricId: string, options?: OperationOptions): PagedAsyncIterableIterator<AnomalyDetectionConfiguration, DetectionConfigurationsPageResponse, undefined>;
refreshDataFeedIngestion(dataFeedId: string, startTime: Date | string, endTime: Date | string, options?: OperationOptions): Promise<RestResponse>;
updateAnomalyAlertConfiguration(id: string, patch: Partial<Omit<AnomalyAlertConfiguration, "id">>, options?: OperationOptions): Promise<GetAnomalyAlertConfigurationResponse>;
updateAlertConfig(id: string, patch: Partial<Omit<AnomalyAlertConfiguration, "id">>, options?: OperationOptions): Promise<GetAnomalyAlertConfigurationResponse>;
updateDataFeed(dataFeedId: string, patch: DataFeedPatch, options?: OperationOptions): Promise<GetDataFeedResponse>;
updateDetectionConfig(id: string, patch: Partial<Omit<AnomalyDetectionConfiguration, "id" | "metricId">>, options?: OperationOptions): Promise<GetAnomalyDetectionConfigurationResponse>;
updateHook(id: string, patch: EmailNotificationHookPatch | WebNotificationHookPatch, options?: OperationOptions): Promise<GetHookResponse>;
updateMetricAnomalyDetectionConfiguration(id: string, patch: Partial<Omit<AnomalyDetectionConfiguration, "id" | "metricId">>, options?: OperationOptions): Promise<GetAnomalyDetectionConfigurationResponse>;
}

// @public
Expand All @@ -835,21 +835,21 @@ export interface MetricsAdvisorAdministrationClientOptions extends PipelineOptio
// @public
export class MetricsAdvisorClient {
constructor(endpointUrl: string, credential: MetricsAdvisorKeyCredential, options?: MetricsAdvisorClientOptions);
createMetricFeedback(feedback: MetricFeedbackUnion, options?: OperationOptions): Promise<GetFeedbackResponse>;
createFeedback(feedback: MetricFeedbackUnion, options?: OperationOptions): Promise<GetFeedbackResponse>;
readonly endpointUrl: string;
getFeedback(id: string, options?: OperationOptions): Promise<GetFeedbackResponse>;
getIncidentRootCauses(detectionConfigId: string, incidentId: string, options?: OperationOptions): Promise<GetIncidentRootCauseResponse>;
getMetricEnrichedSeriesData(detectionConfigId: string, startTime: Date | string, endTime: Date | string, seriesToFilter: DimensionKey[], options?: GetMetricEnrichedSeriesDataOptions): Promise<GetMetricEnrichedSeriesDataResponse>;
getMetricFeedback(id: string, options?: OperationOptions): Promise<GetFeedbackResponse>;
getMetricSeriesData(metricId: string, startTime: Date | string, endTime: Date | string, seriesToFilter: DimensionKey[], options?: GetMetricSeriesDataOptions): Promise<GetMetricSeriesDataResponse>;
listAlertsForAlertConfiguration(alertConfigId: string, startTime: Date | string, endTime: Date | string, timeMode: AlertQueryTimeMode, options?: ListAlertsOptions): PagedAsyncIterableIterator<AnomalyAlert, AlertsPageResponse>;
listAlerts(alertConfigId: string, startTime: Date | string, endTime: Date | string, timeMode: AlertQueryTimeMode, options?: ListAlertsOptions): PagedAsyncIterableIterator<AnomalyAlert, AlertsPageResponse>;
listAnomalies(alert: AnomalyAlert, options?: ListAnomaliesForAlertConfigurationOptions): PagedAsyncIterableIterator<DataPointAnomaly, AnomaliesPageResponse>;
listAnomalies(detectionConfigId: string, startTime: Date | string, endTime: Date | string, options?: ListAnomaliesForDetectionConfigurationOptions): PagedAsyncIterableIterator<DataPointAnomaly, AnomaliesPageResponse>;
listDimensionValuesForDetectionConfiguration(detectionConfigId: string, startTime: Date | string, endTime: Date | string, dimensionName: string, options?: ListDimensionValuesForDetectionConfigurationOptions): PagedAsyncIterableIterator<string, DimensionValuesPageResponse>;
listDimensionValuesForDetectionConfig(detectionConfigId: string, startTime: Date | string, endTime: Date | string, dimensionName: string, options?: ListDimensionValuesForDetectionConfigOptions): PagedAsyncIterableIterator<string, DimensionValuesPageResponse>;
listFeedback(metricId: string, options?: ListFeedbackOptions): PagedAsyncIterableIterator<MetricFeedbackUnion, MetricFeedbackPageResponse>;
listIncidents(alert: AnomalyAlert, options?: ListIncidentsForAlertOptions): PagedAsyncIterableIterator<AnomalyIncident, IncidentsPageResponse>;
listIncidents(detectionConfigId: string, startTime: Date | string, endTime: Date | string, options?: ListIncidentsForDetectionConfigurationOptions): PagedAsyncIterableIterator<AnomalyIncident, IncidentsPageResponse>;
listMetricDimensionValues(metricId: string, dimensionName: string, options?: ListMetricDimensionValuesOptions): PagedAsyncIterableIterator<string, DimensionValuesPageResponse>;
listMetricEnrichmentStatus(metricId: string, startTime: Date | string, endTime: Date | string, options?: ListMetricEnrichmentStatusOptions): PagedAsyncIterableIterator<EnrichmentStatus, MetricEnrichmentStatusPageResponse>;
listMetricFeedbacks(metricId: string, options?: ListFeedbacksOptions): PagedAsyncIterableIterator<MetricFeedbackUnion, MetricFeedbackPageResponse>;
listMetricSeriesDefinitions(metricId: string, activeSince: Date | string, options?: ListMetricSeriesDefinitionsOptions): PagedAsyncIterableIterator<MetricSeriesDefinition, MetricSeriesPageResponse>;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ async function createAlertConfig(adminClient, detectionConfigId) {
hookIds: [],
description: "alerting config description"
};
const result = await adminClient.createAnomalyAlertConfiguration(alertConfig);
const result = await adminClient.createAlertConfig(alertConfig);
console.log(result);
return result;
}
Expand Down Expand Up @@ -96,19 +96,19 @@ async function updateAlertConfig(adminClient, alertConfigId, detectionConfigId,
]
};
console.log(`Updating alerting configuration ${detectionConfigId}`);
const updated = await adminClient.updateAnomalyAlertConfiguration(alertConfigId, patch);
const updated = await adminClient.updateAlertConfig(alertConfigId, patch);
return updated;
}

async function deleteAlertConfig(adminClient, alertConfigId) {
console.log(`Deleting alerting configuration ${alertConfigId}`);
await adminClient.deleteAnomalyAlertConfiguration(alertConfigId);
await adminClient.deleteAlertConfig(alertConfigId);
}

async function listAlertingConfig(adminClient, detectdionConfigId) {
console.log(`Listing alerting configurations for detection configuration ${detectdionConfigId}`);
let i = 1;
for await (const config of adminClient.listAnomalyAlertConfigurations(detectdionConfigId)) {
for await (const config of adminClient.listAlertConfigs(detectdionConfigId)) {
console.log(`Alert configuration ${i++}`);
console.log(config);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ async function main() {

async function getDetectionConfig(adminClient, detectionConfigId) {
console.log("Retrieving an existing detection configuration...");
const result = await adminClient.getMetricAnomalyDetectionConfiguration(detectionConfigId);
const result = await adminClient.getDetectionConfig(detectionConfigId);
console.log(result);
return result;
}
Expand Down Expand Up @@ -110,7 +110,7 @@ async function createDetectionConfig(adminClient, metricId) {
seriesDetectionConditions
};
console.log("Creating a new anomaly detection configuration...");
return await adminClient.createMetricAnomalyDetectionConfiguration(config);
return await adminClient.createDetectionConfig(config);
}

// updating an detection configuration
Expand Down Expand Up @@ -160,20 +160,20 @@ async function updateDetectionConfig(adminClient, configId) {
};

console.log(`Updating existing detection configuration '${configId}'`);
const result = await adminClient.updateMetricAnomalyDetectionConfiguration(configId, patch);
const result = await adminClient.updateDetectionConfig(configId, patch);
console.log(result);
return result;
}

async function deleteDetectionConfig(adminClient, detectionConfigId) {
console.log(`Deleting detection configuration '${detectionConfigId}'`);
await adminClient.deleteMetricAnomalyDetectionConfiguration(detectionConfigId);
await adminClient.deleteDetectionConfig(detectionConfigId);
}

async function listDetectionConfig(adminClient, metricId) {
console.log(`Listing detection configurations for metric '${metricId}'...`);
let i = 1;
for await (const config of adminClient.listMetricAnomalyDetectionConfigurations(metricId)) {
for await (const config of adminClient.listDetectionConfigs(metricId)) {
console.log(` detection configuration ${i++}`);
console.log(config);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ async function provideAnomalyFeedback(client, metricId) {
value: "NotAnomaly",
dimensionKey: { city: "Manila", category: "Handmade" }
};
return await client.createMetricFeedback(anomalyFeedback);
return await client.createFeedback(anomalyFeedback);
}

async function providePeriodFeedback(client, metricId) {
Expand All @@ -50,7 +50,7 @@ async function providePeriodFeedback(client, metricId) {
periodValue: 4,
dimensionKey: { city: "Manila", category: "Handmade" }
};
return await client.createMetricFeedback(periodFeedback);
return await client.createFeedback(periodFeedback);
}

async function provideChangePointFeedback(client, metricId) {
Expand All @@ -62,7 +62,7 @@ async function provideChangePointFeedback(client, metricId) {
value: "ChangePoint",
dimensionKey: { city: "Manila", category: "Handmade" }
};
return await client.createMetricFeedback(changePointFeedback);
return await client.createFeedback(changePointFeedback);
}

async function provideCommentFeedback(client, metricId) {
Expand All @@ -73,19 +73,19 @@ async function provideCommentFeedback(client, metricId) {
dimensionKey: { city: "Manila", category: "Handmade" },
comment: "This is a comment"
};
return await client.createMetricFeedback(commendFeedback);
return await client.createFeedback(commendFeedback);
}

async function getFeedback(client, feedbackId) {
console.log(`Retrieving feedback with id '${feedbackId}'...`);
const feedback = await client.getMetricFeedback(feedbackId);
const feedback = await client.getFeedback(feedbackId);
console.log(feedback);
}

async function listFeedback(client, metricId, startTime, endTime) {
console.log("Listing feedbacks...");
console.log(" using for-await-of syntax");
for await (const feedback of client.listMetricFeedbacks(metricId, {
for await (const feedback of client.listFeedback(metricId, {
filter: {
startTime: new Date("08/01/2020"),
endTime: new Date("08/03/2020"),
Expand All @@ -111,7 +111,7 @@ async function listFeedback(client, metricId, startTime, endTime) {

console.log(" first two pages using iterator");
const iterator = client
.listMetricFeedbacks(metricId, {
.listFeedback(metricId, {
filter: {
timeMode: "FeedbackCreatedTime"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ async function configureAnomalyDetectionConfiguration(adminClient, metricId) {
},
description: "Detection configuration description"
};
return await adminClient.createMetricAnomalyDetectionConfiguration(dataFeed);
return await adminClient.createDetectionConfig(dataFeed);
}

async function createWebhookHook(adminClient) {
Expand Down Expand Up @@ -210,15 +210,15 @@ async function configureAlertConfiguration(adminClient, detectionConfigId, hookI
hookIds,
description: "Alerting config description"
};
return await adminClient.createAnomalyAlertConfiguration(anomalyAlert);
return await adminClient.createAlertConfig(anomalyAlert);
}

async function queryAlerts(client, alertConfigId, startTime, endTime) {
console.log(`Listing alerts for alert configuration '${alertConfigId}'`);
// This shows how to use `for-await-of` syntax to list alerts
console.log(" using for-await-of syntax");
let alerts = [];
for await (const alert of client.listAlertsForAlertConfiguration(
for await (const alert of client.listAlerts(
alertConfigId,
startTime,
endTime,
Expand All @@ -233,7 +233,7 @@ async function queryAlerts(client, alertConfigId, startTime, endTime) {
// alternatively we could list results by pages
console.log(` by pages`);
const iterator = client
.listAlertsForAlertConfiguration(alertConfigId, startTime, endTime, "AnomalyTime")
.listAlerts(alertConfigId, startTime, endTime, "AnomalyTime")
.byPage({ maxPageSize: 2 });

let result = await iterator.next();
Expand Down
Loading