Skip to content

Commit

Permalink
Update readme and changelog for Metrics Advisor (Azure#15907)
Browse files Browse the repository at this point in the history
  • Loading branch information
samvaity authored Oct 5, 2020
1 parent 4ed3c3f commit 93174f9
Show file tree
Hide file tree
Showing 13 changed files with 130 additions and 31 deletions.
21 changes: 20 additions & 1 deletion sdk/metricsadvisor/azure-ai-metricsadvisor/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
# Release History

## 1.0.0-beta.1 (Unreleased)
## 1.0.0-beta.1 (2020-10-06)
Version 1.0.0-beta.1 is a preview of our efforts in creating a Azure Metrics Advisor client library that is developer-friendly
and idiomatic to the Java ecosystem. The principles that guide
our efforts can be found in the [Azure SDK Design Guidelines for Java](https://azure.github.io/azure-sdk/java_introduction.html).

For more information about this, and preview releases of other Azure SDK libraries, please visit
https://azure.github.io/azure-sdk/releases/latest/java.html.

- Two client design:
- `MetricsAdvisorAdministrationClient` to perform creation, updation and deletion of Metrics Advisor resources.
- `MetricsAdvisorClient` helps with querying API's to helps with listing incidents, listing root causes of incidents
and adding feedback to tune your model.
- Authentication with API key supported using `MetricsAdvisorKeyCredential("<subscription_key>", "<api_key>")`.
- Reactive streams support using [Project Reactor](https://projectreactor.io/).

This package's
[documentation](https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/README.md)
and
[samples](https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples)
demonstrate the new API.
27 changes: 23 additions & 4 deletions sdk/metricsadvisor/azure-ai-metricsadvisor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ Azure Metrics Advisor is a new Cognitive Service that uses time series based de
trouble shooting the incidents of online services, and monitor the business health by automating the slice and dice
of business metrics.

[Source code]<!--TODO: (savaity:reenable once moved to public)--> | [Package (Maven)]<!--TODO: (savaity:reenable once moved to public)--> | [API reference documentation]<!--TODO: (savaity:reenable once moved to public)--> | [Product Documentation][product_documentation] | [Samples]<!--TODO: (savaity:reenable once moved to public)-->
[Source code][source_code] | [Package (Maven)]<!--TODO: (once available)--> | [API reference documentation][api_reference_doc] | [Product Documentation][product_documentation] | [Samples][samples]

## Getting started

### Prerequisites
- Java Development Kit [JDK]() with version 8 or above
- Java Development Kit [JDK][jdk_link] with version 8 or above
- [Azure Subscription][azure_subscription]
- [Cognitive Services or Metrics Advisor account][metrics_advisor_account] to use this package.

Expand Down Expand Up @@ -65,6 +65,23 @@ MetricsAdvisorAdministrationClient metricsAdvisorAdministrationClient =
```

## Key concepts
### MetricsAdvisorClient
`MetricsAdvisorClient` helps with:

- listing incidents
- listing root causes of incidents
- retrieving original time series data and time series data enriched by the service.
- listing alerts
- adding feedback to tune your model

### MetricsAdvisorAdministrationClient
`MetricsAdvisorAdministrationClient` allows you to

- manage data feeds
- configure anomaly detection configurations
- configure anomaly alerting configurations
- manage hooks

### Data feed
A `data feed` is what Metrics Advisor ingests from the user-specified data source such as Cosmos structure stream, SQL query result, and so on.
A data feed contains rows of timestamps, zero or more dimensions, one or more metrics. Therefore, multiple metrics could share the same data source and even the same data feed.
Expand Down Expand Up @@ -288,7 +305,7 @@ the client library to use the Netty HTTP client. Configuring or changing the HTT
[HTTP clients wiki][http_clients_wiki].

## Next steps
For more details see the [samples README]<!--TODO: (savaity:reenable once moved to public)--> .
For more details see the [samples README][samples_readme].

#### Async APIs
All the examples shown so far have been using synchronous APIs, but we provide full support for async APIs as well.
Expand Down Expand Up @@ -317,7 +334,7 @@ This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For m
<!-- LINKS -->
[aad_authorization]: https://docs.microsoft.com/azure/cognitive-services/authentication#authenticate-with-azure-active-directory
[key]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account?tabs=multiservice%2Cwindows#get-the-keys-for-your-resource
[api_reference_doc]: https://aka.ms/azsdk-java-metricsadvisor-ref-docs
[api_reference_doc]: https://docs.microsoft.com/azure/cognitive-services/metrics-advisor/glossary
[azure_identity_credential_type]: https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/identity/azure-identity#credentials
[azure_cli]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account-cli?tabs=windows
[azure_cli_endpoint]: https://docs.microsoft.com/cli/azure/cognitiveservices/account?view=azure-cli-latest#az-cognitiveservices-account-show
Expand All @@ -332,5 +349,7 @@ This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For m
[jdk_link]: https://docs.microsoft.com/java/azure/jdk/?view=azure-java-stable
[metrics_advisor_account]: https://ms.portal.azure.com/#create/Microsoft.CognitiveServicesMetricsAdvisor
[product_documentation]: https://docs.microsoft.com/azure/cognitive-services/metrics-advisor/overview
[samples]: https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples
[samples_readme]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/README.md

![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-java%2Fsdk%metricsadvisor%2Fazure-ai-metricsadvisor%2FREADME.png)
93 changes: 77 additions & 16 deletions sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ urlFragment: metricsadvisor-java-samples
---

# Azure Metrics Advisor client library samples for Java
TODO
Azure Metrics Advisor samples are a set of self-contained Java programs that demonstrate interacting with Azure Metrics Advisor service
using the client library. Each sample focuses on a specific scenario and can be executed independently.
using the client library. Each sample focuses on a specific scenario and can be executed independently.

## Key concepts
Key concepts are explained in detail [here][SDK_README_KEY_CONCEPTS].
Expand All @@ -21,38 +20,100 @@ Key concepts are explained in detail [here][SDK_README_KEY_CONCEPTS].
Getting started explained in detail [here][SDK_README_GETTING_STARTED].

## Examples
TODO
The following sections provide code samples covering common scenario operations with the Azure Metrics Advisor client library.

All of these samples need the endpoint to your Metrics Advisor resource ([instructions on how to get endpoint][get-endpoint-instructions]), and your Metrics Advisor API key ([instructions on how to get key][get-key-instructions]).

|**File Name**|**Description**|
|----------------|-------------|
|[DataFeedSample][data_feed_sample]
& [DataFeedAsyncSample][data_feed_async_sample] | Create, list, get, update, and delete data feeds|
|[AnomalyDetectionConfigurationSample][anomaly_detection_sample]
& [AnomalyDetectionConfigurationAsyncSample][anomaly_detection_async_sample] | Create, list, get, update, and delete anomaly detection configurations|
|[DatafeedIngestionSample][data_feed_ingestion_sample]
& [DatafeedIngestionSampleAsyncSample][data_feed_ingestion_async_sample] | List, get progress, and refresh data feed ingestion|
|[HookSample][hook_sample]
& [HookAsyncSample][hook_async_sample] | Create, list, get, update, and delete hooks||[MetricFeedbackSample][metric_feedback_sample]
& [MetricFeedbackAsyncSample][metric_feedback_async_sample] | Create, get and list feedbacks|

Querying API's
|**File Name**|**Description**|
|----------------|-------------|
|[ListAlertsSample][list_alerts_sample]
& [ListAlertsAsyncSample][list_alerts_async_sample] | List alerts produced by an AlertConfiguration|
|[ListDimensionValuesForMetricSample][list_dimension_values_sample]
& [ListDimensionValuesForMetricAsyncSample][list_dimension_values_async_sample] | List dimension values for a metric|
|[ListEnrichedSeriesSample][list_enrichment_series_sample]
& [ListEnrichedSeriesAsyncSample][list_enrichment_series_async_sample] | List enriched time series|
|[ListEnrichmentStatusForMetricSample][list_enrichment_status_sample]
& [ListEnrichmentStatusForMetricAsyncSample][list_enrichment_status_async_sample] | List enrichment statuses for a metric|
|[ListIncidentRootCausesSample][list_incident_root_causes_sample]
& [ListIncidentRootCausesAsyncSample][list_incident_root_causes_async_sample] | List root causes for an incident|
|[ListIncidentsAlertedSample][list_incidents_alerted_sample]
& [ListIncidentsAlertedAsyncSample][list_incidents_alerted_async_sample] | List incidents in an alert|
|[ListIncidentsDetectedSample][list_incidents_sample]
& [ListIncidentsDetectedAsyncSample][list_incidents_async_sample] | List incidents detected by a detection configuration|
|[ListsAnomaliesForAlertsSample][list_anomaly_alert_sample]
& [ListsAnomaliesForAlertsAsyncSample][list_anomaly_alert_async_sample] | List anomalies triggered for an alert|
|[ListsAnomaliesForDetectionConfigSample][list_anomalies_detection_config_sample]
& [ListsAnomaliesForDetectionConfigAsyncSample][list_anomalies_detection_config_async_sample] | List anomalies identified by a detection configuration|
|[ListSeriesDataForMetricAsyncSample][list_series_data_sample]
& [ListSeriesDataForMetricSample][list_series_data_async_sample] | List metric series data for a metric|
|[ListSeriesDefinitionsForMetricAsyncSample][list_series_def_sample]
& [ListSeriesDefinitionsForMetricAsyncSample][list_series_def_async_sample] | List series definition for a metric|
|[ListIncidentsDetectedSample][list_incidents_sample]
& [ListIncidentsDetectedAsyncSample][list_incidents_async_sample] | List incidents detected by a detection configuration|

## Troubleshooting
Troubleshooting steps can be found [here][SDK_README_TROUBLESHOOTING].

## Next steps
TODO
Check out the [API reference documentation][java_fr_ref_docs] to learn more about
Check out the [API reference documentation][java_ma_ref_docs] to learn more about
what you can do with the Azure Metrics Advisor client library.
Following section provides code samples for some of the advanced scenarios in Metrics Advisor Client library:
|**Advanced Sample File Name**|**Description**|
|----------------|-------------|


## Contributing
If you would like to become an active contributor to this project please refer to our [Contribution
Guidelines][SDK_README_CONTRIBUTING] for more information.

<!-- LINKS -->
[SDK_README_CONTRIBUTING]: ../../README.md#contributing
[SDK_README_GETTING_STARTED]: ../../README.md#getting-started
[SDK_README_TROUBLESHOOTING]: ../../README.md#troubleshooting
[SDK_README_KEY_CONCEPTS]: ../../README.md#key-concepts
[SDK_README_DEPENDENCY]: ../../README.md#include-the-package
[SDK_README_NEXT_STEPS]: ../../README.md#next-steps
[java_fr_ref_docs]: https://aka.ms/azsdk-java-metricsadvisor-ref-docs
[SDK_README_CONTRIBUTING]: https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/metricsadvisor/azure-ai-metricsadvisor#contributing
[SDK_README_GETTING_STARTED]: https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/metricsadvisor/azure-ai-metricsadvisor#getting-started
[SDK_README_TROUBLESHOOTING]: https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/metricsadvisor/azure-ai-metricsadvisor#troubleshooting
[SDK_README_KEY_CONCEPTS]: https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/metricsadvisor/azure-ai-metricsadvisor#key-concepts
[SDK_README_DEPENDENCY]: https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/metricsadvisor/azure-ai-metricsadvisor#include-the-package
[SDK_README_NEXT_STEPS]: https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/metricsadvisor/azure-ai-metricsadvisor#next-steps
[java_ma_ref_docs]: https://aka.ms/azsdk-java-metricsadvisor-ref-docs
[data_feed_sample]: https://github.com/Azure/azure-sdk-for-java/blob/70706988e48f0f1fcfa5fc8910958924d9d29b87/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/administration/DatafeedSample.java
[data_feed_async_sample]:https://github.com/Azure/azure-sdk-for-java/blob/70706988e48f0f1fcfa5fc8910958924d9d29b87/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/administration/DatafeedAsyncSample.java
[anomaly_detection_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/administration/AnomalyDetectionConfigurationSample.java
[anomaly_detection_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/administration/AnomalyDetectionConfigurationAsyncSample.java
[data_feed_ingestion_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/administration/DataFeedIngestionSample.java
[data_feed_ingestion_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/administration/DataFeedIngestionAsyncSample.java
[hook_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/administration/HookSample.java
[hook_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/administration/HookAsyncSample.java
[metric_feedback_sample]: https://github.com/Azure/azure-sdk-for-java/blob/54a13ef59f823ed4201b1a130d230f9b149025a0/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/MetricFeedbackSample.java
[metric_feedback_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/54a13ef59f823ed4201b1a130d230f9b149025a0/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/MetricFeedbackAsyncSample.java
[list_alerts_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListAlertsSample.java
[list_alerts_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListAlertsAsyncSample.java
[list_dimension_values_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListEnrichedSeriesAsyncSample.java
[list_dimension_values_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListDimensionValuesForMetricAsyncSample.java
[list_enrichment_series_sample]:https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListEnrichedSeriesSample.java
[list_enrichment_series_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListEnrichmentStatusForMetricAsyncSample.java
[list_enrichment_status_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListEnrichmentStatusForMetricSample.java
[list_enrichment_status_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListEnrichmentStatusForMetricAsyncSample.java
[list_incident_root_causes_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListIncidentRootCausesSample.java
[list_incident_root_causes_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListIncidentRootCausesAsyncSample.java
[list_incidents_alerted_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListIncidentsAlertedSample.java
[list_incidents_alerted_async_sample]:https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListIncidentsAlertedAsyncSample.java
[list_incidents_sample]:https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListIncidentsDetectedSample.java
[list_incidents_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListIncidentsDetectedAsyncSample.java
[list_series_def_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListSeriesDataForMetricSample.java
[list_series_def_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListSeriesDataForMetricAsyncSample.java
[list_series_data_sample]:https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListSeriesDefinitionsForMetricSample.java
[list_series_data_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListSeriesDefinitionsForMetricAsyncSample.java
[list_anomalies_detection_config_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListsAnomaliesForDetectionConfigSample.java
[list_anomalies_detection_config_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListsAnomaliesForDetectionConfigAsyncSample.java
[list_anomaly_alert_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListsAnomaliesForAlertsAsyncSample.java
[list_anomaly_alert_async_sample]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/metricsadvisor/azure-ai-metricsadvisor/src/samples/java/com/azure/ai/metricsadvisor/ListsAnomaliesForAlertsSample.java

![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-java%2Fsdk%2Fmetricsadvisor%2Fazure-ai-metricsadvisor%2FREADME.png)
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import com.azure.core.util.Context;

/**
* Async sample for listing series definition for a give metric filtered using specific set of dimension combinations.
* Async sample for listing dimension values for a give metric filtered using specific set of dimension combinations.
*/
public class ListDimensionValuesForMetricAsyncSample {
public static void main(String[] args) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import com.azure.core.util.Context;

/**
* Sample for listing series definition for a give metric filtered using specific set of dimension combinations.
* Sample for listing dimension values for a give metric filtered using specific set of dimension combinations.
*/
public class ListDimensionValuesForMetricSample {
public static void main(String[] args) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import java.util.Arrays;

/**
* Async sample for listing time series data for a give metric filtered using specific set of dimensions.
* Async sample for listing time series data for a metric filtered using specific set of dimensions.
*/
public class ListSeriesDataForMetricAsyncSample {
public static void main(String[] args) {
Expand Down
Loading

0 comments on commit 93174f9

Please sign in to comment.