{ "type": "object", "description": "A paginated collection of metric descriptors returned by the list metrics endpoint.", "name": "MetricDescriptorCollection", "properties": { "nextPageKey": { "type": "string", "description": "The cursor for the next page of results. Include this value as the nextPageKey query parameter in the next request. Null if there are no more results." }, "totalCount": { "type": "integer", "description": "The total number of metrics available matching the query." }, "resolution": { "type": "string", "description": "The resolution of the data if applicable." }, "metrics": { "type": "array", "description": "The list of metric descriptors on this page.", "items": { "type": "object", "description": "Describes a single metric including its metadata, supported aggregations, entity dimensions, and default aggregation settings.", "properties": { "metricId": { "type": "string", "description": "The fully qualified key of the metric, potentially including applied transformations. For example, builtin:host.cpu.usage:avg." }, "displayName": { "type": "string", "description": "The human-readable display name of the metric." }, "description": { "type": "string", "description": "A detailed description of what the metric measures." }, "unit": { "type": "string", "description": "The unit of the metric values. For example, Percent, Byte, MilliSecond." }, "dduBillable": { "type": "boolean", "description": "Whether ingesting this metric consumes Davis Data Units (DDUs)." }, "created": { "type": "integer", "description": "The Unix timestamp in milliseconds when the metric was created." }, "lastWritten": { "type": "integer", "description": "The Unix timestamp in milliseconds when the metric was last written." }, "entityType": { "type": "array", "description": "The entity types that can be used to filter this metric, e.g., HOST, SERVICE, PROCESS_GROUP.", "items": { "type": "string" } }, "aggregationTypes": { "type": "array", "description": "The list of aggregation types supported for this metric. Valid values include min, max, sum, count, avg, median, and percentile.", "items": { "type": "string", "enum": [ "min", "max", "sum", "count", "avg", "median", "percentile" ] } }, "dimensionDefinitions": { "type": "array", "description": "The list of dimension definitions for this metric. Each dimension provides a label for data splitting.", "items": { "type": "object", "description": "Defines a single dimension of a metric.", "properties": { "key": { "type": "string", "description": "The unique key identifying this dimension." }, "name": { "type": "string", "description": "The display name of the dimension." }, "type": { "type": "string", "description": "The type of the dimension. For example, ENTITY for entity dimensions or STRING for string dimensions." }, "displayName": { "type": "string", "description": "The human-readable display name of the dimension." } } } }, "transformations": { "type": "array", "description": "The list of transformation expressions that can be applied to this metric using the metric selector.", "items": { "type": "string" } }, "defaultAggregation": { "type": "object", "description": "The default aggregation setting for the metric.", "properties": { "type": { "type": "string", "description": "The aggregation type to apply when no aggregation is specified in the query. For example, avg, sum, or max.", "enum": [ "min", "max", "sum", "count", "avg", "median", "percentile" ] }, "parameter": { "type": "number", "description": "The parameter for the aggregation type, used for percentile aggregation to specify the percentile value (e.g., 95)." } } } } } } }, "$schema": "https://json-structure.org/draft/2020-12/schema" }