{ "swagger": "2.0", "info": { "title": "MonitorManagementClient", "version": "2018-01-01" }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", "description": "Azure Active Directory OAuth2 Flow", "scopes": { "user_impersonation": "impersonate your user account" } } }, "paths": { "/{resourceUri}/providers/Microsoft.Insights/metrics": { "get": { "tags": [ "Metrics" ], "operationId": "Metrics_List", "description": "**Lists the metric values for a resource**.", "parameters": [ { "$ref": "#/parameters/ResourceUriParameter" }, { "$ref": "#/parameters/TimespanParameter" }, { "$ref": "#/parameters/IntervalParameter" }, { "$ref": "#/parameters/MetricNamesParameter" }, { "$ref": "#/parameters/AggregationsParameter" }, { "$ref": "#/parameters/TopParameter" }, { "$ref": "#/parameters/OrderByParameter" }, { "name": "$filter", "in": "query", "type": "string", "description": "The **$filter** is used to reduce the set of metric data returned. Example: Metric contains metadata A, B and C. - Return all time series of C where A = a1 and B = b1 or b2 **$filter=A eq 'a1' and B eq 'b1' or B eq 'b2' and C eq '*'** - Invalid variant: **$filter=A eq 'a1' and B eq 'b1' and C eq '*' or B = 'b2'** This is invalid because the logical or operator cannot separate two different metadata names. - Return all time series where A = a1, B = b1 and C = c1: **$filter=A eq 'a1' and B eq 'b1' and C eq 'c1'** - Return all time series where A = a1 **$filter=A eq 'a1' and B eq '*' and C eq '*'**. Special case: When dimension name or dimension value uses round brackets. Eg: When dimension name is **dim (test) 1** Instead of using $filter= \"dim (test) 1 eq '*' \" use **$filter= \"dim %2528test%2529 1 eq '*' \"** When dimension name is **dim (test) 3** and dimension value is **dim3 (test) val** Instead of using $filter= \"dim (test) 3 eq 'dim3 (test) val' \" use **$filter= \"dim %2528test%2529 3 eq 'dim3 %2528test%2529 val' \"**", "required": false }, { "$ref": "#/parameters/ResultTypeParameter" }, { "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/MetricNamespaceParameter" } ], "responses": { "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "200": { "description": "Successful request to get the list of metric values.", "schema": { "$ref": "#/definitions/Response" } } }, "x-ms-odata": "../../../../commonDefinitions.json#/definitions/MetadataValue", "x-ms-examples": { "Get Metric for data": { "$ref": "./examples/GetMetric.json" }, "Get Metric for metadata": { "$ref": "./examples/GetMetricMetadata.json" }, "Get Metric with error": { "$ref": "./examples/GetMetricError.json" } } } } }, "definitions": { "Response": { "type": "object", "properties": { "cost": { "type": "number", "format": "int32", "minimum": 0, "description": "The integer value representing the relative cost of the query." }, "timespan": { "type": "string", "description": "The timespan for which the data was retrieved. Its value consists of two datetimes concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally requested." }, "interval": { "type": "string", "description": "The interval (window size) for which the metric data was returned in ISO 8601 duration format with a special case for 'FULL' value that returns single datapoint for entire time span requested (*Examples: PT15M, PT1H, P1D, FULL*). \nThis may be adjusted and different from what was originally requested if AutoAdjustTimegrain=true is specified. This is not present if a metadata request was made." }, "namespace": { "type": "string", "description": "The namespace of the metrics being queried" }, "resourceregion": { "type": "string", "description": "The region of the resource being queried for metrics." }, "value": { "type": "array", "items": { "$ref": "../../../../common-types/v1/commonMonitoringTypes.json#/definitions/Metric" }, "description": "the value of the collection." } }, "required": [ "timespan", "value" ], "description": "The response to a metrics query." }, "ErrorResponse": { "description": "Describes the format of Error response.", "type": "object", "properties": { "code": { "description": "Error code", "type": "string" }, "message": { "description": "Error message indicating why the operation failed.", "type": "string" } } } }, "parameters": { "ResourceUriParameter": { "name": "resourceUri", "in": "path", "required": true, "type": "string", "description": "The identifier of the resource.", "x-ms-parameter-location": "method", "x-ms-skip-url-encoding": true }, "TimespanParameter": { "name": "timespan", "in": "query", "required": false, "type": "string", "description": "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'.", "x-ms-parameter-location": "method" }, "IntervalParameter": { "name": "interval", "in": "query", "required": false, "type": "string", "description": "The interval (i.e. timegrain) of the query in ISO 8601 duration format. Defaults to PT1M. Special case for 'FULL' value that returns single datapoint for entire time span requested.\n*Examples: PT15M, PT1H, P1D, FULL*", "x-ms-parameter-location": "method" }, "MetricNamesParameter": { "name": "metricnames", "in": "query", "required": false, "type": "string", "description": "The names of the metrics (comma separated) to retrieve. Special case: If a metricname itself has a comma in it then use %2 to indicate it. Eg: 'Metric,Name1' should be **'Metric%2Name1'**", "x-ms-parameter-location": "method" }, "AggregationsParameter": { "name": "aggregation", "in": "query", "required": false, "type": "string", "description": "The list of aggregation types (comma separated) to retrieve.", "x-ms-parameter-location": "method" }, "TopParameter": { "name": "top", "in": "query", "required": false, "type": "integer", "format": "int32", "description": "The maximum number of records to retrieve.\nValid only if $filter is specified.\nDefaults to 10.", "x-ms-parameter-location": "method" }, "OrderByParameter": { "name": "orderby", "in": "query", "required": false, "type": "string", "description": "The aggregation to use for sorting results and the direction of the sort.\nOnly one order can be specified.\nExamples: sum asc.", "x-ms-parameter-location": "method" }, "ResultTypeParameter": { "name": "resultType", "in": "query", "type": "string", "enum": [ "Data", "Metadata" ], "x-ms-enum": { "name": "ResultType", "modelAsString": false }, "description": "Reduces the set of data collected. The syntax allowed depends on the operation. See the operation's description for details.", "x-ms-parameter-location": "method", "required": false }, "MetricNamespaceParameter": { "name": "metricnamespace", "in": "query", "required": false, "type": "string", "description": "Metric namespace to query metric definitions for.", "x-ms-parameter-location": "method" } } }