elastic / elastic/roadmap

Temporality support for OTel metrics

Open
#292 0 comments 0 reactions 1 assignee Claimed by @yannis-roussos View on GitHub
Component: Elasticsearch product-area:observability v9.5.0
Dominant language
No language data
Stars
6
Forks
1
PR merge metrics
No merged PRs in 30d

Description

## Value Prop

In OpenTelemetry metrics, there are [two temporalities, Delta and Cumulative](https://opentelemetry.io/docs/specs/otel/metrics/data-model/#temporality).

The notion of temporality refers to the way additive quantities are expressed, in relation to time, indicating whether reported values incorporate previous measurements or not. As an example, counters are a form of client-side pre-aggregated metrics. Instead of reporting each individual observation to the metrics backend, the clients sum them up and report the aggregate in typically periodic intervals. The reporting can happen in two flavours called “temporality”:
- Delta: After each report, the clients reset the counter value to zero. This means on each report, clients send how much the value has increased since the last report. This is traditionally how Elastic APM reported metrics.
- Cumulative: Except for application restarts, the clients do not reset the counter. On each export, therefore the total sum of observations since the client start is reported. This is the “prometheus” way, which also has been adopted by OpenTelemetry as the default.

To fully support OTel data and OTLP, we are planning to support all types of temporalities for both counters and histograms. The goal is to offer native OTel support, while maintaining compatibility with the existing data collector.

## Expected Outcome

We are currently supporting cumulative counters and delta histograms. With this effort, we will:
- Support delta counters, in addition to cumulative
- Support cumulative histograms, in addition to delta

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.