Prometheus: stabilize dropped types#4952
Conversation
jack-berg
left a comment
There was a problem hiding this comment.
Just so I can understand how to review these generally.. Since this is about converting from prometheus types to OTLP, and because we don't have any requirements for SDKs around these capabilities, the only (expected) reference implementation for this is the collector's prometheusreceiver?
Is that right?
|
Prometheus remote write receiver as well :) |
|
Here's the source code for the implementation of this: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/24169d9857dff7adb66ce4a017440a07e68ec7ed/receiver/prometheusreceiver/internal/util.go#L149-L150 @open-telemetry/prometheus-interoperability it would help if you could review these stability PRs. Even if the approval doesn't have a ✅, its still a meaningful signal to the maintainers of this repo that the SMEs agree. Thanks! |
|
Part of #2714 |
### Context - Align environment variable context propagation name restrictions with POSIX.1-2024 and define normalization behavior. ([open-telemetry#4944](open-telemetry#4944)) - Decouple the responsibilities of the environment variable propagation carrier. ([open-telemetry#4961](open-telemetry#4961)) - Remove misleading implementation approach the environment variable propagation. ([open-telemetry#5003](open-telemetry#5003)) - Change Environment Variables as Context Propagation Carriers document status to Beta. ([open-telemetry#5020](open-telemetry#5020)) ### Traces - Stabilize Tracer `enabled` operation ([open-telemetry#4941](open-telemetry#4941)) - Stabilize `AlwaysRecord` sampler. ([open-telemetry#4934](open-telemetry#4934)) ### Metrics - Add development `maxExportBatchSize` parameter to Periodic exporting MetricReader. ([open-telemetry#4895](open-telemetry#4895)) ### Logs - Add event to span event bridge. ([open-telemetry#5006](open-telemetry#5006)) ### Resource - Clarify that a Resource describes the observed entity, not the component that technically emits telemetry. ([open-telemetry#4905](open-telemetry#4905)) ### Compatibility - Deprecate OpenTracing compatibility requirements in the specification. ([open-telemetry#4938](open-telemetry#4938)) - Stabilize sections of Prometheus and OpenMetrics Compatibility. - Stabilize Prometheus Classic Histogram to OTLP Explicit Histogram transformation. ([open-telemetry#4874](open-telemetry#4874)) - Stabilize Prometheus Timestamp and Start timestamp transformation. ([open-telemetry#4953](open-telemetry#4953)) - Clarify Prometheus Native Histogram to OTLP Exponential Histogram conversion, add conversion rules for Native Histograms with Custom Buckets (NHCB) to OTLP Histogram. ([open-telemetry#4898](open-telemetry#4898)) - Stabilize Prometheus Dropped Types transformation. ([open-telemetry#4952](open-telemetry#4952)) - Stabilize OpenTelemetry Attributes to Prometheus labels transformation. ([open-telemetry#4963](open-telemetry#4963)) - Stabilize Prometheus Exemplar to OpenTelemetry Exemplar transformation. ([open-telemetry#4962](open-telemetry#4962)) - Stabilize Prometheus Metadata transformation. ([open-telemetry#4954](open-telemetry#4954)) - Stabilize OpenTelemetry Metric Metadata to Prometheus metric metadata. ([open-telemetry#4966](open-telemetry#4966)) - Stabilize OpenTelemetry Exemplar to Prometheus Exemplar transformation. ([open-telemetry#4964](open-telemetry#4964)) - Stabilize sections of Prometheus Metrics Exporter. - Stabilize host configuration. ([open-telemetry#5025](open-telemetry#5025)) ### SDK Configuration - Declarative configuration: add in-development guidance for exposing the effective `Resource` returned by `Create`. ([open-telemetry#4949](open-telemetry#4949)) - Require spec changes to consider declarative config schema ([open-telemetry#4916](open-telemetry#4916)) - Add strict YAML parsing guidance to configuration supplementary guidelines. ([open-telemetry#4878](open-telemetry#4878)) ### OTEPs - Process Context: Sharing Resource Attributes with External Readers. ([open-telemetry#4719](open-telemetry#4719)) - Support multiple Resources within an SDK. ([open-telemetry#4665](open-telemetry#4665)) --------- Co-authored-by: Jack Berg <[email protected]>
### Context - Align environment variable context propagation name restrictions with POSIX.1-2024 and define normalization behavior. ([open-telemetry#4944](open-telemetry#4944)) - Decouple the responsibilities of the environment variable propagation carrier. ([open-telemetry#4961](open-telemetry#4961)) - Remove misleading implementation approach the environment variable propagation. ([open-telemetry#5003](open-telemetry#5003)) - Change Environment Variables as Context Propagation Carriers document status to Beta. ([open-telemetry#5020](open-telemetry#5020)) ### Traces - Stabilize Tracer `enabled` operation ([open-telemetry#4941](open-telemetry#4941)) - Stabilize `AlwaysRecord` sampler. ([open-telemetry#4934](open-telemetry#4934)) ### Metrics - Add development `maxExportBatchSize` parameter to Periodic exporting MetricReader. ([open-telemetry#4895](open-telemetry#4895)) ### Logs - Add event to span event bridge. ([open-telemetry#5006](open-telemetry#5006)) ### Resource - Clarify that a Resource describes the observed entity, not the component that technically emits telemetry. ([open-telemetry#4905](open-telemetry#4905)) ### Compatibility - Deprecate OpenTracing compatibility requirements in the specification. ([open-telemetry#4938](open-telemetry#4938)) - Stabilize sections of Prometheus and OpenMetrics Compatibility. - Stabilize Prometheus Classic Histogram to OTLP Explicit Histogram transformation. ([open-telemetry#4874](open-telemetry#4874)) - Stabilize Prometheus Timestamp and Start timestamp transformation. ([open-telemetry#4953](open-telemetry#4953)) - Clarify Prometheus Native Histogram to OTLP Exponential Histogram conversion, add conversion rules for Native Histograms with Custom Buckets (NHCB) to OTLP Histogram. ([open-telemetry#4898](open-telemetry#4898)) - Stabilize Prometheus Dropped Types transformation. ([open-telemetry#4952](open-telemetry#4952)) - Stabilize OpenTelemetry Attributes to Prometheus labels transformation. ([open-telemetry#4963](open-telemetry#4963)) - Stabilize Prometheus Exemplar to OpenTelemetry Exemplar transformation. ([open-telemetry#4962](open-telemetry#4962)) - Stabilize Prometheus Metadata transformation. ([open-telemetry#4954](open-telemetry#4954)) - Stabilize OpenTelemetry Metric Metadata to Prometheus metric metadata. ([open-telemetry#4966](open-telemetry#4966)) - Stabilize OpenTelemetry Exemplar to Prometheus Exemplar transformation. ([open-telemetry#4964](open-telemetry#4964)) - Stabilize sections of Prometheus Metrics Exporter. - Stabilize host configuration. ([open-telemetry#5025](open-telemetry#5025)) ### SDK Configuration - Declarative configuration: add in-development guidance for exposing the effective `Resource` returned by `Create`. ([open-telemetry#4949](open-telemetry#4949)) - Require spec changes to consider declarative config schema ([open-telemetry#4916](open-telemetry#4916)) - Add strict YAML parsing guidance to configuration supplementary guidelines. ([open-telemetry#4878](open-telemetry#4878)) ### OTEPs - Process Context: Sharing Resource Attributes with External Readers. ([open-telemetry#4719](open-telemetry#4719)) - Support multiple Resources within an SDK. ([open-telemetry#4665](open-telemetry#4665)) --------- Co-authored-by: Jack Berg <[email protected]>
Fixes #4750
Changes
Stabilize the dropped types portion of the Prometheus -> OTLP spec. I don't think there is anything controversial here. The full spec is:
@open-telemetry/prometheus-interoperability