---
title: Mapping Prometheus Metrics to Datadog Metrics
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: >-
  Docs > Integrations > Integration Guides > Mapping Prometheus Metrics to
  Datadog Metrics
---

# Mapping Prometheus Metrics to Datadog Metrics

## Overview{% #overview %}

This page walks you through how Prometheus or OpenMetrics check metrics map to existing Datadog metric types.

## Prometheus and OpenMetrics metric types{% #prometheus-and-openmetrics-metric-types %}

- `counter`: A cumulative metric that represents a single monotonically increasing counter, whose value can only increase—or be reset to zero.
- `gauge`: A metric that represents a single numeric value, which can arbitrarily go up and down.
- `histogram`: Samples observations and counts them in configurable buckets; also provides a sum of all observed values.
- `summary`: Similar to `histogram`; samples observations, provides a sum of all observed values, and calculates configurable quantiles over a sliding time window.

## How Prometheus/OpenMetrics metrics map to Datadog metrics{% #how-prometheusopenmetrics-metrics-map-to-datadog-metrics %}

For more information, see [OpenMetrics Metric Types](https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#metric-types) and [Datadog Metric Types](https://docs.datadoghq.com/metrics/types.md).

{% tab title="Latest Version" %}

| Metric Type                                                                                                  | OpenMetrics                  | Datadog                                                                                                                                                                                                                        |
| ------------------------------------------------------------------------------------------------------------ | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [counter](https://prometheus.io/docs/concepts/metric_types/#gauge)                                           | `counter`                    | `count`                                                                                                                                                                                                                        |
| [gauge](https://prometheus.io/docs/concepts/metric_types/#counter)                                           | `gauge`                      | `gauge`                                                                                                                                                                                                                        |
| [histogram](https://docs.datadoghq.com/integrations/guide/prometheus-metrics.md?tab=latestversion#histogram) | `_count`, `_sum`, `_bucket`  | The `_count`, `_sum`, and `_bucket` values of the histogram are each mapped to Datadog's `count` type and include a `.count`, `.sum`, and `.bucket` suffix, respectively.                                                      |
| [summary](https://docs.datadoghq.com/integrations/guide/prometheus-metrics.md?tab=latestversion#summary)     | `_count`, `_sum`, `_created` | The `_count` and `_sum` values are mapped to Datadog's `count` type and include a `.count` and `.sum` suffix in their name, respectively. Quantile samples are mapped to a metric of type `gauge` with the `.quantile` suffix. |

### Histogram{% #histogram %}

For [Prometheus/OpenMetrics `histogram`](https://prometheus.io/docs/concepts/metric_types/#histogram), the `_count`, `_sum`, and `_bucket` values of the histogram are each mapped to Datadog's `count` type and include a `.count`, `.sum`, and `.bucket` suffix in their names, respectively.

If the `histogram_buckets_as_distributions` parameter is `true`, `_bucket` samples are aggregated into a Datadog `distribution`. [Datadog distribution metrics](https://docs.datadoghq.com/metrics/distributions.md) are based on the [DDSketch algorithm](https://www.datadoghq.com/blog/engineering/computing-accurate-percentiles-with-ddsketch/) and allow for more advanced statistical aggregations such as quantiles. For more information, see the Datadog Engineering Blog [post on OpenMetrics and distribution metrics](https://www.datadoghq.com/blog/whats-next-monitoring-kubernetes/#distribution-metrics).

`collect_counters_with_distributions` can be used to send `_count` and `_sum` values as `count`s alongside the distribution.

### Summary{% #summary %}

For [Prometheus/OpenMetrics `summary`](https://prometheus.io/docs/concepts/metric_types/#counter), `_count` and `_sum` values are mapped to Datadog's `count` type and include a `.count` and `.sum` suffix in their name, respectively. Quantile samples are mapped to a metric of type `gauge` with the `.quantile` suffix.
{% /tab %}

{% tab title="Legacy Version" %}
### Counter{% #counter %}

By default, [Prometheus/OpenMetrics `counter`](https://prometheus.io/docs/concepts/metric_types/#counter) maps to Datadog's `count`.

However, if the parameter `send_monotonic_counter` is `false`, then this metric is sent as `gauge`.

### Gauge{% #gauge %}

[Prometheus/OpenMetrics `gauge`](https://prometheus.io/docs/concepts/metric_types/#gauge) maps to Datadog's `gauge`.

### Histogram{% #histogram %}

For [Prometheus/OpenMetrics `histogram`](https://prometheus.io/docs/concepts/metric_types/#histogram), the `_count` and `_sum` values of the histogram are each mapped to Datadog's `gauge` type and include a `.count` and `.sum` suffix in their name, respectively.

If the `send_histograms_buckets` parameter is `true`, `_bucket` samples are sent to Datadog with a `.bucket` suffix, and are also mapped to Datadog's `gauge` by default.

Setting the `send_distribution_counts_as_monotonic` parameter to `true` causes the `_count` and `_bucket` metrics to be sent as type `count` instead. Setting `send_distribution_sums_as_monotonic` does the same for `_sum` metrics.

If the `send_distribution_buckets` parameter is `true`, `_bucket` samples are aggregated into a Datadog `distribution`. [Datadog distribution metrics](https://docs.datadoghq.com/metrics/distributions.md) are based on the [DDSketch algorithm](https://www.datadoghq.com/blog/engineering/computing-accurate-percentiles-with-ddsketch/), and allow for more advanced statistical aggregations such as quantiles. For more information, see the Datadog Engineering Blog [post on OpenMetrics and distribution metrics](https://www.datadoghq.com/blog/whats-next-monitoring-kubernetes/#distribution-metrics).

### Summary{% #summary %}

For [Prometheus/OpenMetrics `summary`](https://prometheus.io/docs/concepts/metric_types/#summary), `_count` and `_sum` values are mapped to Datadog's `gauge` type by default, and include a `.count` and `.sum` suffix in their names, respectively. Quantile samples are mapped to a metric of type `gauge` with the `.quantile` suffix.

Setting the `send_distribution_counts_as_monotonic` parameter to `true` causes the `_count` and `_sum` metrics to be sent as type `count` instead. Setting `send_distribution_sums_as_monotonic` does the same for `_sum` metrics.
{% /tab %}

{% alert level="info" %}
All `count` metrics are processed by the Agent as *monotonic counts*, meaning the Agent actually sends the difference between consecutive raw values. For more information, see [Metric Submission: Custom Agent Check](https://docs.datadoghq.com/metrics/custom_metrics/agent_metrics_submission.md?tab=count#monotonic_count).
{% /alert %}

## Further Reading{% #further-reading %}

- [Learn about the OpenMetrics integration](https://docs.datadoghq.com/integrations/openmetrics.md)
- [Kubernetes Prometheus and OpenMetrics metrics collection](https://docs.datadoghq.com/agent/kubernetes/prometheus.md)
