Skip to content

Add OTel Histogram support documentation#37526

Open
shanelhuang wants to merge 1 commit into
masterfrom
shanel/otel-histograms
Open

Add OTel Histogram support documentation#37526
shanelhuang wants to merge 1 commit into
masterfrom
shanel/otel-histograms

Conversation

@shanelhuang

Copy link
Copy Markdown
Contributor

What does this PR do? What is the motivation?

Updates documentation to add support for OTel Histograms (Explicit Bucket and Exponential), reflecting that these are now stored natively in Datadog as true distributions.

  • content/en/metrics/types.md: Updated in-app metric types list from four to five types, adding (Exponential, Explicit) HISTOGRAM
  • content/en/metrics/open_telemetry/otlp_metric_types.md (shared with OTel reference page): Updated Histogram tab to describe both Explicit Bucket and Exponential Histogram types; updated default mapping to reflect native ingestion without DDSketch conversion; replaced "Datadog exporter" with "OTLP Exporter" throughout
  • content/en/opentelemetry/guide/otlp_histogram_heatmaps.md: Removed outdated note about Exponential Histograms being converted to distributions; removed counters mode from OTLP Exporter tab; replaced "Datadog Exporter" with "OTLP Exporter" throughout

Merge instructions

Merge readiness:

  • Ready for merge

Additional notes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@shanelhuang shanelhuang requested a review from a team as a code owner June 15, 2026 21:03
@github-actions github-actions Bot added the Guide Content impacting a guide label Jun 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

@domalessi domalessi self-assigned this Jun 15, 2026

@domalessi domalessi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the edits! A few suggestions in line! Tag me or re-request review when ready for another look.

**Note**: See [Producing Delta Temporality Metrics with OpenTelemetry][3] for configuration instructions.

Datadog distributions are powered by the [DDSketch data structure][4]. See [Distributions][5] for details on enabling percentile aggregations and threshold queries on your mapped metrics.
Explicit and Exponential Histograms are stored natively in Datadog, preserving the original bucket boundaries and counts. Percentile aggregations are computed directly from the native bucket structure. Min and max are stored when provided; if not present in the original data, they are derived from the bucket boundaries.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first sentence repeats what the Delta bullet already states ("ingested natively... The original bucket structure is preserved").

Suggested change
Explicit and Exponential Histograms are stored natively in Datadog, preserving the original bucket boundaries and counts. Percentile aggregations are computed directly from the native bucket structure. Min and max are stored when provided; if not present in the original data, they are derived from the bucket boundaries.
Percentile aggregations are computed directly from the native bucket structure. Min and max are stored when provided; if not present in the original data, they are derived from the bucket boundaries.

The default mapping is as follows:
1. Delta histograms are reported as Datadog distributions. [Read more about distributions][1] to understand the available aggregations. Histograms with a count of 0 are dropped.
2. For cumulative histograms, the delta between consecutive points is calculated and reported to Datadog as a distribution. Deltas with a count of 0 are not reported. You may use the [`cumsum` arithmetic function][2] on individual aggregations to recover the value in the OTLP payload.
The default mapping for both histogram temporality types is as follows:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The default mapping for both histogram temporality types is as follows:
The default mapping for both temporality types is as follows:

2. For cumulative histograms, the delta between consecutive points is calculated and reported to Datadog as a distribution. Deltas with a count of 0 are not reported. You may use the [`cumsum` arithmetic function][2] on individual aggregations to recover the value in the OTLP payload.
The default mapping for both histogram temporality types is as follows:

- **Delta (Default and Recommended)**: Explicit Bucket and Exponential Histograms are ingested natively and reported as Datadog distributions. The original bucket structure is preserved — no conversion to DDSketch occurs. Histograms with a count of 0 are dropped.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- **Delta (Default and Recommended)**: Explicit Bucket and Exponential Histograms are ingested natively and reported as Datadog distributions. The original bucket structure is preserved — no conversion to DDSketch occurs. Histograms with a count of 0 are dropped.
- **Delta (default and recommended)**: Explicit Bucket and Exponential Histograms are ingested natively and reported as Datadog distributions. The original bucket structure is preserved — no conversion to DDSketch occurs. Histograms with a count of 0 are dropped.

- **Cumulative**: The delta between consecutive points is calculated and reported to Datadog as a distribution. Deltas with a count of 0 are not reported.

**Note**: Histogram metrics in OTLP are mapped by default to Distribution metrics. Because of how OTLP sends this data, percentile aggregations and the max and min (if not available on the original OTLP data) are approximations, not accurate calculations.
**Note**: See [Producing Delta Temporality Metrics with OpenTelemetry][3] for configuration instructions.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**Note**: See [Producing Delta Temporality Metrics with OpenTelemetry][3] for configuration instructions.
**Note**: See [Producing Delta Temporality Metrics with OpenTelemetry][3] for instructions on configuring your SDK or Collector to emit delta temporality.

- RATE
- GAUGE
- DISTRIBUTION
- (Exponential, Explicit) HISTOGRAM

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- (Exponential, Explicit) HISTOGRAM
- HISTOGRAM (Explicit, Exponential)

Comment on lines 114 to 115
[1]: /metrics/distributions
[2]: /dashboards/functions/arithmetic/#cumulative-sum

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[1]: /metrics/distributions
[2]: /dashboards/functions/arithmetic/#cumulative-sum

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Guide Content impacting a guide

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants