MetricsQueryAsyncClient Class

  • java.lang.Object
    • com.azure.monitor.query.MetricsQueryAsyncClient

public final class MetricsQueryAsyncClient

The asynchronous client for querying Azure Monitor metrics.

Azure Monitor Metrics is a feature of Azure Monitor that collects numeric data from monitored resources into a time-series database. Metrics are numerical values that are collected at regular intervals and describe some aspect of a system at a particular time. The MetricsQueryClient provides synchronous implementations of methods that query metrics from your Azure services.

Getting Started

Authenticating and building MetricsQueryAsyncClient instances are done through MetricsQueryClientBuilder. The following sample shows how to build a new MetricsQueryClient instance.

MetricsQueryAsyncClient metricsQueryAsyncClient = new MetricsQueryClientBuilder()
         .credential(tokenCredential)
         .buildAsyncClient();

For more information on building and authenticating, see the MetricsQueryClientBuilder documentation.

Client Usage

For more information on using the MetricsQueryAsyncClient, see the following method documentation:

Method Summary

Modifier and Type Method and Description
PagedFlux<MetricDefinition> listMetricDefinitions(String resourceUri)

Lists all the metrics definitions created for the resource URI.

PagedFlux<MetricDefinition> listMetricDefinitions(String resourceUri, String metricsNamespace)

Lists all the metrics definitions created for the resource URI.

PagedFlux<MetricNamespace> listMetricNamespaces(String resourceUri, OffsetDateTime startTime)

Lists all the metrics namespaces created for the resource URI.

Mono<MetricsQueryResult> queryResource(String resourceUri, List<String> metricsNames)

Returns all the Azure Monitor metrics requested for the resource.

Mono<Response<MetricsQueryResult>> queryResourceWithResponse(String resourceUri, List<String> metricsNames, MetricsQueryOptions options)

Returns all the Azure Monitor metrics requested for the resource.

Methods inherited from java.lang.Object

Method Details

listMetricDefinitions

public PagedFlux listMetricDefinitions(String resourceUri)

Lists all the metrics definitions created for the resource URI.

Parameters:

resourceUri - The resource URI for which the metrics definitions are listed.

Returns:

A PagedFlux<T> of metrics definitions.

listMetricDefinitions

public PagedFlux listMetricDefinitions(String resourceUri, String metricsNamespace)

Lists all the metrics definitions created for the resource URI.

Parameters:

resourceUri - The resource URI for which the metrics definitions are listed.
metricsNamespace - The metrics namespace to which the listed metrics definitions belong.

Returns:

A PagedFlux<T> of metrics definitions.

listMetricNamespaces

public PagedFlux listMetricNamespaces(String resourceUri, OffsetDateTime startTime)

Lists all the metrics namespaces created for the resource URI.

Parameters:

resourceUri - The resource URI for which the metrics namespaces are listed.
startTime - The returned list of metrics namespaces are created after the specified start time.

Returns:

A PagedFlux<T> of metrics namespaces.

queryResource

public Mono queryResource(String resourceUri, List metricsNames)

Returns all the Azure Monitor metrics requested for the resource.

Query metrics for an Azure resource

Mono<MetricsQueryResult> response = metricsQueryAsyncClient
         .queryResource("{resource-id}", Arrays.asList("{metric-1}", "{metric-2}"));

 response.subscribe(result -> {
     for (MetricResult metricResult : result.getMetrics()) {
         System.out.println("Metric name " + metricResult.getMetricName());
         metricResult.getTimeSeries().stream()
                 .flatMap(timeSeriesElement -> timeSeriesElement.getValues().stream())
                 .forEach(metricValue ->
                         System.out.println("Time stamp: " + metricValue.getTimeStamp() + "; Total:  "
                                 + metricValue.getTotal()));
     }
 });

Parameters:

resourceUri - The resource URI for which the metrics is requested.
metricsNames - The names of the metrics to query.

Returns:

A time-series metrics result for the requested metric names.

queryResourceWithResponse

public Mono<>> queryResourceWithResponse(String resourceUri, List metricsNames, MetricsQueryOptions options)

Returns all the Azure Monitor metrics requested for the resource.

Parameters:

resourceUri - The resource URI for which the metrics is requested.
metricsNames - The names of the metrics to query.
options - Options to filter the query.

Returns:

A time-series metrics result for the requested metric names.

Applies to