This repository was archived by the owner on Nov 17, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
This repository was archived by the owner on Nov 17, 2025. It is now read-only.
Tracking issue: SDK Prometheus exporter spec-compliance #73
Copy link
Copy link
Open
Description
I did a mini-audit of the current state of prometheus exporters in the OTel ecosystem a little while back. I'm leaving a tracking issue here to be able to easily see how those issues are progressing.
Go is compliant
Java:
- Prometheus exporter handles instrumentation scope and prevents collisions opentelemetry-java#5014
- Prometheus exporter handles delta metrics differently from the current spec opentelemetry-java#5015
Python:
- Prometheus exporter should convert non-monotonic sums to gauges opentelemetry-python#3071
- Prometheus exporter handles instrumentation scope and prevents collisions opentelemetry-python#3072
- Prometheus exporter emits target_info for Resource opentelemetry-python#3073
JS:
- Consider following OpenMetrics guidance on timestamps opentelemetry-js#3463
- Prometheus exporter: replace repeated
_with a single_opentelemetry-js#3464 - Prometheus exporter should use NaN instead of Nan opentelemetry-js#3465
- Prometheus exporter: Add unit to metric names, and convert unit to words opentelemetry-js#3466
- Prometheus exporter handles instrumentation scope and prevents collisions opentelemetry-js#3467
C++:
- Prometheus exporter: Add unit to metric names, and convert unit to words opentelemetry-cpp#1840
- Prometheus exporter handles instrumentation scope and prevents collisions opentelemetry-cpp#1841
- Prometheus exporter emits target_info metric using Resource opentelemetry-cpp#1842
- Prometheus exporter sanitizes invalid name characters opentelemetry-cpp#1843
.NET:
- Prometheus exporter handles instrumentation scope and prevents collisions opentelemetry-dotnet#3972
- Prometheus exporter: counters should have _total suffix opentelemetry-dotnet#3973
- Prometheus exporter: Non-monotonic sum should be converted to a prometheus gauge opentelemetry-dotnet#3974
- Prometheus exporter: unit, name, label sanitization improvements opentelemetry-dotnet#3975
Rust:
- Prometheus Exporter: Counters should have _total suffix opentelemetry-rust#926
- Prometheus exporter: Unit in metric names opentelemetry-rust#927
- Prometheus exporter: sanitization tweaks opentelemetry-rust#928
- Prometheus exporter: Use OTel Resource for target_info opentelemetry-rust#929
- Prometheus exporter handles instrumentation scope and prevents collisions opentelemetry-rust#930
Swift:
- Prometheus exporter: gauges should be exported as prometheus gauges opentelemetry-swift#353
- Prometheus exporter: Counters must have _total suffix opentelemetry-swift#354
- Prometheus exporter: histogram bucket series must have _bucket suffix opentelemetry-swift#355
- Prometheus exporter: Omit timestamps from metrics opentelemetry-swift#356
- Prometheus exporter: Histograms +Inf bucket should be equal to count opentelemetry-swift#357
- Prometheus exporter: Non-monotonic sums should be converted to gauges opentelemetry-swift#358
- Prometheus exporter: Unit as suffix for metric name opentelemetry-swift#359
- Prometheus exporter: emit target_info metric using Resource opentelemetry-swift#360
- Prometheus exporter handles instrumentation scope and prevents collisions opentelemetry-swift#361
@open-telemetry/wg-prometheus
marcalff and brettimus
Metadata
Metadata
Assignees
Labels
No labels