Skip to content

Prometheus exporter: Stabilize Default Aggregation#5113

Merged
jack-berg merged 3 commits into
open-telemetry:mainfrom
ArthurSens:promexporter-stabilize-aggregation
Jun 2, 2026
Merged

Prometheus exporter: Stabilize Default Aggregation#5113
jack-berg merged 3 commits into
open-telemetry:mainfrom
ArthurSens:promexporter-stabilize-aggregation

Conversation

@ArthurSens

@ArthurSens ArthurSens commented May 21, 2026

Copy link
Copy Markdown
Member

Fixes #4986

Changes

Stabilizes the section Default Aggregation in the Prometheus exporter spec.

Among existing implementors, it seems that only Go[1] and Java[2] implement it correctly, I haven't found any other implementations. Collector's Prometheus exporter and Remote Write exporters aren't applicable since they don't go through the MetricReader interfaces.

For non-trivial changes, follow the change proposal process.

@ArthurSens
ArthurSens requested review from a team as code owners May 21, 2026 21:37
@ArthurSens

Copy link
Copy Markdown
Member Author

@dashpole, should we work on at least one extra implementation before calling this stable?

@dashpole

Copy link
Copy Markdown
Contributor

Yeah, one more implementation would be ideal.

@jack-berg jack-berg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Realized this option isn't supported in declarative config: open-telemetry/opentelemetry-configuration#626

@ArthurSens

Copy link
Copy Markdown
Member Author

PRs are up for two more implementations

Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
@ArthurSens
ArthurSens force-pushed the promexporter-stabilize-aggregation branch from d20efee to 12a6881 Compare June 1, 2026 19:02
@jack-berg
jack-berg added this pull request to the merge queue Jun 2, 2026
Merged via the queue into open-telemetry:main with commit aca63a4 Jun 2, 2026
9 checks passed
dashpole pushed a commit to dashpole/opentelemetry-specification that referenced this pull request Jun 8, 2026
Fixes open-telemetry#4986 

## Changes

Stabilizes the section `Default Aggregation` in the Prometheus exporter
spec.

Among existing implementors, it seems that only
Go[[1](https://github.com/open-telemetry/opentelemetry-go/blob/e5bdc311108b8283b3d2c97636de96657dde2d4a/exporters/prometheus/config.go#L74-L82)]
and
Java[[2](https://github.com/open-telemetry/opentelemetry-java/blob/32440c1f83c6b1b90dee78dcdcfcecfbab42af44/exporters/prometheus/src/main/java/io/opentelemetry/exporter/prometheus/PrometheusHttpServerBuilder.java#L152-L163)]
implement it correctly, I haven't found any other implementations.
Collector's Prometheus exporter and Remote Write exporters aren't
applicable since they don't go through the MetricReader interfaces.

For non-trivial changes, follow the [change proposal
process](https://github.com/open-telemetry/opentelemetry-specification/blob/main/CONTRIBUTING.md#proposing-a-change).

* [x] Related issues open-telemetry#4986
* [ ] Related [OTEP(s)](https://github.com/open-telemetry/oteps) #
* [ ] Links to the prototypes (when adding or changing features)
* [X]
[`CHANGELOG.md`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/CHANGELOG.md)
file updated for non-trivial changes
* For trivial changes, include `[chore]` in the PR title to skip the
changelog check
* [ ] [Spec compliance
matrix](https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix/template.yaml)
updated if necessary
* [ ] [Declarative config data
model](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/data-model.md#overview)
is updated if SDK config surface is changed

---------

Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
@carlosalberto carlosalberto mentioned this pull request Jun 18, 2026
jack-berg pushed a commit to cijothomas/opentelemetry-specification that referenced this pull request Jun 22, 2026
### Context

- Clarify that environment variable propagation carriers normalize
requested
  keys, carrier keys, and returned keys.

([open-telemetry#5102](open-telemetry#5102))
- Specify that environment variable propagation carriers only read and
return
  normalized environment variable names.

([open-telemetry#5144](open-telemetry#5144))
- Specify that an empty environment variable propagation name is
non-normalized
  and normalizes to `_`.

([open-telemetry#5163](open-telemetry#5163))

### Profiles

- Remove duplicate information from and extend Profiles documentation
(README.md, pprof.md).

([open-telemetry#4932](open-telemetry#4932))

### Entities

- Add specification for communicating entity information as structured
log events.

([open-telemetry#4836](open-telemetry#4836))

### Common

- Add an in-development [SDK
self-observability](specification/self-observability.md)
  section, referenced from the Tracing, Metrics, and Logs SDK specs.

([open-telemetry#5087](open-telemetry#5087))
- Clarify non-OTLP representation guidance for nested `AnyValue` values
in
  arrays and maps.

([open-telemetry#5053](open-telemetry#5053))
- Add in-development guidance recommending a JSON object as the string
  representation for an attribute in non-OTLP protocols.

([open-telemetry#5028](open-telemetry#5028))
- Add in-development guidance recommending a JSON object as the string
  representation for an attribute collection in non-OTLP protocols.

([open-telemetry#5110](open-telemetry#5110))

### Compatibility

- Deprecate OpenCensus compatibility requirements in the specification.

([open-telemetry#5138](open-telemetry#5138))
- Stabilize sections of Prometheus Metrics Exporter.
  - Clarify resource attributes configuration.

([open-telemetry#5084](open-telemetry#5084))
- Stabilize the conversion of OTLP Summaries into Prometheus Summaries.

([open-telemetry#5107](open-telemetry#5107))
  - Stabilize client libs section.

([open-telemetry#5106](open-telemetry#5106))
- Stabilize Prometheus Metrics Exporter default aggregation
configuration.

([open-telemetry#5113](open-telemetry#5113))
- Stabilize sections of Prometheus and OpenMetrics Compatibility.
- Stabilize OpenTelemetry Histogram to Prometheus Histogram
transformation.

([open-telemetry#5091](open-telemetry#5091))
- Add optional OpenTelemetry Histogram to Prometheus Native Histogram
with Custom Buckets transformation.

([open-telemetry#5091](open-telemetry#5091))

### SDK Configuration

- Add link to declarative config IdGenerator type

([open-telemetry#5133](open-telemetry#5133))

### OTEPs

- Context-scoped Attributes.

([open-telemetry#4931](open-telemetry#4931))

---------

Co-authored-by: Reiley Yang <reyang@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stabilize Prometheus Metrics Exporter spec: Default Aggregation configuration

5 participants