Azure Monitor · Schema

Azure Monitor Metric Definition

Represents a metric definition describing a metric that is available for an Azure resource, including its name, unit, available aggregation types, and time granularities.

Application InsightsCloudLogsMetricsMonitoringObservability

Properties

Name Type Description
isDimensionRequired boolean Flag to indicate whether the dimension is required.
resourceId string The resource identifier of the resource that emitted the metric.
namespace string The namespace the metric belongs to.
name object The name information for the metric.
displayDescription string Detailed description of this metric.
category string Custom category name for this metric.
metricClass string The class of the metric.
unit string The unit of the metric.
primaryAggregationType string The primary aggregation type value defining how to use the values for display.
supportedAggregationTypes array The collection of what aggregation types are supported.
metricAvailabilities array The collection of what aggregation intervals are available to be queried.
id string The resource identifier of the metric definition.
dimensions array The available dimensions for this metric.
View JSON Schema on GitHub

JSON Schema

azure-monitor-metric-definition-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schema.azure.com/monitor/metric-definition.json",
  "title": "Azure Monitor Metric Definition",
  "description": "Represents a metric definition describing a metric that is available for an Azure resource, including its name, unit, available aggregation types, and time granularities.",
  "type": "object",
  "properties": {
    "isDimensionRequired": {
      "type": "boolean",
      "description": "Flag to indicate whether the dimension is required."
    },
    "resourceId": {
      "type": "string",
      "description": "The resource identifier of the resource that emitted the metric."
    },
    "namespace": {
      "type": "string",
      "description": "The namespace the metric belongs to."
    },
    "name": {
      "$ref": "#/$defs/LocalizableString",
      "description": "The name information for the metric."
    },
    "displayDescription": {
      "type": "string",
      "description": "Detailed description of this metric."
    },
    "category": {
      "type": "string",
      "description": "Custom category name for this metric."
    },
    "metricClass": {
      "type": "string",
      "enum": ["Availability", "Transactions", "Errors", "Latency", "Saturation"],
      "description": "The class of the metric."
    },
    "unit": {
      "type": "string",
      "enum": [
        "Count", "Bytes", "Seconds", "CountPerSecond", "BytesPerSecond",
        "Percent", "MilliSeconds", "ByteSeconds", "Unspecified",
        "Cores", "MilliCores", "NanoCores", "BitsPerSecond"
      ],
      "description": "The unit of the metric."
    },
    "primaryAggregationType": {
      "type": "string",
      "enum": ["None", "Average", "Count", "Minimum", "Maximum", "Total"],
      "description": "The primary aggregation type value defining how to use the values for display."
    },
    "supportedAggregationTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": ["None", "Average", "Count", "Minimum", "Maximum", "Total"]
      },
      "description": "The collection of what aggregation types are supported."
    },
    "metricAvailabilities": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/MetricAvailability"
      },
      "description": "The collection of what aggregation intervals are available to be queried."
    },
    "id": {
      "type": "string",
      "description": "The resource identifier of the metric definition."
    },
    "dimensions": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/LocalizableString"
      },
      "description": "The available dimensions for this metric."
    }
  },
  "$defs": {
    "LocalizableString": {
      "type": "object",
      "required": ["value"],
      "properties": {
        "value": {
          "type": "string",
          "description": "The invariant value."
        },
        "localizedValue": {
          "type": "string",
          "description": "The locale-specific display name."
        }
      }
    },
    "MetricAvailability": {
      "type": "object",
      "properties": {
        "timeGrain": {
          "type": "string",
          "description": "The time grain specifies the aggregation interval for the metric in ISO 8601 duration format."
        },
        "retention": {
          "type": "string",
          "description": "The retention period for the metric at the specified time grain in ISO 8601 duration format."
        }
      }
    }
  }
}