Metrics API - GET metric descriptor

Gets the parameters of the specified metric.

The request produces one of the following types of payload, depending on the value of the Accept request header:

  • application/json
  • text/csv; header=present—a CSV table with header row
  • text/csv; header=absent—a CSV table without header row

If no Accept header is provided with the request, an application/json payload is returned.

GET
  • Managed https://{your-domain}/e/{your-environment-id}/api/v2/metrics/{metricKey}
  • SaaS https://{your-environment-id}.live.dynatrace.com/api/v2/metrics/{metricKey}
  • Environment ActiveGate https://{your-activegate-domain}/e/{your-environment-id}/api/v2/metrics/{metricKey}

Authentication

To execute this request, you need the Read metrics (metrics.read) permission assigned to your API token. To learn how to obtain and use it, see Tokens and authentication.

Parameters

Parameter Type Description In Required
metricKey string

The key of the required metric.

You can set additional transformation operators, separated by a colon (:). See Metrics selector transformations in Dynatrace Documentation for additional information on available result transformations.

path required

Response

Response codes

Code Description
200

Success

404

Not found. The requested resource is not found or the query is incorrect.

406

Not acceptable. The requested media type is not supported. Check the Accept header of your request.

Response body

The MetricDescriptor object

The descriptor of a metric.

Element Type Description
defaultAggregation MetricDefaultAggregation
dimensionDefinitions MetricDimensionDefinition[]

The fine metric division (for example, process group and process ID for some process-related metric).

For ingested metrics, dimensions that doesn't have have any data within the last 15 days are omitted.

maximumValue number

The maximum allowed value of the metric.

Metric expressions don't return this field.

impactRelevant boolean

The metric is (true) or is not (false) impact relevant.

An impact-relevant metric is highly dependent on other metrics and changes because an underlying root-cause metric has changed.

Metric expressions don't return this field.

resolutionInfSupported boolean

If 'true', resolution=Inf can be applied to the metric query.

lastWritten integer

The timestamp when the metric was last written.

Has the value of null for metric expressions or if the data has never been written.

minimumValue number

The minimum allowed value of the metric.

Metric expressions don't return this field.

dduBillable boolean

If true the usage of metric consumes Davis data units.

Metric expressions don't return this field.

rootCauseRelevant boolean

The metric is (true) or is not (false) root cause relevant.

A root-cause relevant metric represents a strong indicator for a faulty component.

Metric expressions don't return this field.

latency integer

The latency of the metric, in minutes.

The latency is the expected reporting delay (for example, caused by constraints of cloud vendors or other third-party data sources) between the observation of a metric data point and its availability in Dynatrace.

The allowed value range is from 1 to 60 minutes.

Metric expressions don't return this field.

scalar boolean

Indicates whether the metric expression resolves to a scalar (true) or to a series (false). A scalar result always contains one data point. The amount of data points in a series result depends on the resolution you're using.

aggregationTypes string[]

The list of allowed aggregations for this metric.

entityType string[]

List of admissible primary entity types for this metric. Can be used for the type predicate in the entitySelector.

metricSelector string

The metric selector that is used when querying a func: metric.

metricId string

The fully qualified key of the metric.

If a transformation has been used it is reflected in the metric key.

metricValueType MetricValueType
displayName string

The name of the metric in the user interface.

description string

A short description of the metric.

tags string[]

The tags applied to the metric.

Metric expressions don't return this field.

transformations string[]

Transform operators that could be appended to the current transformation list.

unit string

The unit of the metric.

warnings string[]

A list of potential warnings that affect this ID. For example deprecated feature usage etc.

created integer

The timestamp of metric creation.

Built-in metrics and metric expressions have the value of null.

The MetricValueType object

The value type for the metric.

Element Type Description
type string

The metric value type

The MetricDimensionDefinition object

The dimension of a metric.

Element Type Description
name string

The name of the dimension.

key string

The key of the dimension.

It must be unique within the metric.

type string

The type of the dimension.

displayName string

The display name of the dimension.

index integer

The unique 0-based index of the dimension.

Appending transformations such as :names or :parents may change the indexes of dimensions. null is used for the dimensions of a metric with flexible dimensions, which can be referenced with their dimension key, but do not have an intrinsic order that could be used for the index.

The MetricDefaultAggregation object

The default aggregation of a metric.

Element Type Description
parameter number

The percentile to be delivered. Valid values are between 0 and 100.

Applicable only to the percentile aggregation type.

type string

The type of default aggregation.

Example

In this example, the request queries the parameters of three metrics: builtin:host.cpu.idle, builtin:host.cpu.usage, and builtin:host.disk.avail.

The builtin:host.cpu.idle and builtin:host.cpu.usage metrics have the same parent and their selector is combined into builtin:host.cpu.(idle,usage).

The response is in application/json format.

Curl

curl -L -X GET 'https://mySampleEnv.live.dynatrace.com/api/v2/metrics/builtin:host.disk.avail' \
-H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
-H 'Accept: application/json'

Request URL

https://mySampleEnv.live.dynatrace.com/api/v2/metrics/builtin:host.disk.avail

Response body

{
  "metricId": "builtin:host.disk.avail",
  "displayName": "Disk available",
  "description": "",
  "unit": "Byte",
  "entityType": [
    "HOST"
  ],
  "aggregationTypes": [
    "auto",
    "avg",
    "max",
    "min"
  ],
  "transformations": [
    "filter",
    "fold",
    "merge",
    "names",
    "parents"
  ],
  "defaultAggregation": {
    "type": "avg"
  },
  "dimensionDefinitions": [
    {
      "key": "dt.entity.host",
      "name": "Host",
      "index": 0,
      "type": "ENTITY"
    },
    {
      "key": "dt.entity.disk",
      "name": "Disk",
      "index": 1,
      "type": "ENTITY"
    }
  ]
}

The CSV table with header row looks like this. To obtain it, change the Accept header to text/csv; header=present.

metricId,displayName,description,unit,entityType,aggregationTypes,transformations,defaultAggregation,dimensionDefinitions
builtin:host.cpu.usage,CPU usage %,Percentage of CPU time currently utilized.,Percent,[HOST],"[auto, avg, max, min]","[filter, fold, merge, names, parents]",avg,[Host:ENTITY]

Response code

200