opentelemetry-rust
opentelemetry-rust copied to clipboard
Metrics beta/rc/stable release timelines
Extracting from parent issue to own issue to gather explicit feedbacks, as details are hard to notice, when embedded inside the parent issue, especially the breaking changes.
Background:
Re-emphasizing the core issues from https://github.com/open-telemetry/opentelemetry-rust/issues/1572
- Performance is not acceptable. (heavy contentions)
- Lack of test coverage to prove correctness, stability
- Shutdown/Cleanup issues
- No ability to run Metrics SDK without an async runtime
- Hard to troubleshoot
Release plan for Metrics
Components in scope are:
Metrics API (opentelemetry
crate)
Metrics SDK (opentelemetry-sdk
crate)
Metrics InMemory Exporter (opentelemetry-sdk
crate)
Metrics OTLP Exporter (opentelemetry-otlp
crate)
Metrics stdout Exporter (opentelemetry-stdout
crate)
Following sub-sections provides details on items we plan for each release, along with rough timelines.
Beta release - ETA June 30 2024
Breaking changes are still possible in beta, but has a higher bar than alpha releases.
The following functionality is explicitly being removed:
- Metrics API's ability to add/remove Callbacks after Observable Instruments has been created. There will still be ability to provide callback(s) at the time of Instrument Creation. The current API to add/remove callbacks after instrument creation needs to be revisited to ensure functionality/usefulness/correctness. Removing it from initial release to keep the scope manageable.
Link to discussion around this, as there are concerns: https://github.com/open-telemetry/opentelemetry-rust/pull/1715/files#r1592783145
- Metrics SDK's View feature. Would need to gather feedback about the common use cases where Views are needed. My own experience is that, it is used most frequently to provide custom Histogram bounds. Before removing View feature, the ability to provide custom bounds will be provided at the API level. The main reason why it is removed from initial release is to keep scope manageable. Views bring a whole lot of new complexities and additional test requirements.
- Prometheus/Pull Exporter.
RC release - ETA Nov 30 2024
While breaking changes are still possible, it has extremely high bar here.
Stable release - ETA Jan 30 2025
No breaking changes allowed after.
Post the 1st stable release, the following features will be added (listed not in priority order)
- Add support for multiple readers
- Add support for Views
- Add support for Exemplars
- Add support for Metric Producers
- Add support for Pull exporters and Prometheus Exporter
Hi, just a small nitpick:
Stable release - ETA Jan 30 2024
should be
Stable release - ETA Jan 30 2025
This confused me a bit, as I read the Issue bottom to top :see_no_evil:
Thanks @sbernauer ! Updated.