MetricsQueryClient Class

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

public final class MetricsQueryClient

The synchronous 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 MetricsQueryClient instances are done through MetricsQueryClientBuilder. The following sample shows how to build a new MetricsQueryClient instance.

MetricsQueryClient metricsQueryClient = new MetricsQueryClientBuilder()
         .credential(tokenCredential)
         .buildClient();

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

Client Usage

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

Method Summary

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

Lists all the metrics definitions created for the resource URI.

PagedIterable<MetricDefinition> listMetricDefinitions(String resourceUri, String metricsNamespace, Context context)

Lists all the metrics definitions created for the resource URI.

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

Lists all the metrics namespaces created for the resource URI.

PagedIterable<MetricNamespace> listMetricNamespaces(String resourceUri, OffsetDateTime startTime, Context context)

Lists all the metrics namespaces created for the resource URI.

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

Returns all the Azure Monitor metrics requested for the resource.

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

Returns all the Azure Monitor metrics requested for the resource.

Methods inherited from java.lang.Object

Method Details

listMetricDefinitions

public PagedIterable 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 PagedIterable<T> of metrics definitions.

listMetricDefinitions

public PagedIterable listMetricDefinitions(String resourceUri, String metricsNamespace, Context context)

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.
context - Additional context that is passed through the Http pipeline during the service call. If no additional context is required, pass NONE instead.

Returns:

A PagedIterable<T> of metrics definitions.

listMetricNamespaces

public PagedIterable 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 PagedIterable<T> of metrics namespaces.

listMetricNamespaces

public PagedIterable listMetricNamespaces(String resourceUri, OffsetDateTime startTime, Context context)

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.
context - Additional context that is passed through the Http pipeline during the service call. If no additional context is required, pass NONE instead.

Returns:

A PagedIterable<T> of metrics namespaces.

queryResource

public MetricsQueryResult queryResource(String resourceUri, List metricsNames)

Returns all the Azure Monitor metrics requested for the resource.

Query metrics for an Azure resource

MetricsQueryResult response = metricsQueryClient.queryResource("{resource-id}",
         Arrays.asList("{metric-1}", "{metric-2}"));
 for (MetricResult metricResult : response.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 Response queryResourceWithResponse(String resourceUri, List metricsNames, MetricsQueryOptions options, Context context)

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.
context - Additional context that is passed through the Http pipeline during the service call. If no additional context is required, pass NONE instead.

Returns:

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

Applies to