Description
Component(s)
exporter/prometheusremotewrite
Is your feature request related to a problem? Please describe.
Prometheus remote write v2 spec is close to being finalized, it would be good time to start working on implementing support for it in the prometheus remote write exporter component. Soon backend such as prometheus, mimir, thanos etc will start supporting it. It would great to start working on implementing to gain it's benefits,.
Describe the solution you'd like
I would like to contribute implementation of the remote write v2 prometheus/docs#2462 into the prometheus remote write exporter, most likely behind a feature flag since long-term v2 version is supposed to replace the current implementation.
Describe alternatives you've considered
Potentially it could introduced as a separate component but I hope that won't be necessary.
Additional context
The current implementation of remote write v2 lives in it's own branch of prometheus, https://github.com/prometheus/prometheus/tree/remote-write-2.0 , but should be merged soon.
TODO
Translation layer:
- Support for metadata
- Handle conflicts in metrics handle conflits in prw v2 #39570
- Handle target_info
- Handle exemplars
- Support for metric types
- MetricTypeSum feat: add support for MetricTypeSum #37156
- MetricTypeHistogram
- MetricTypeExponentialHistogram
- MetricTypeSummary
Exporter:
- Get initial PR merged http://github.com/open-telemetry/opentelemetry-collector-contrib/pull/38235
- Implement batching
- Sort timeseries [exporter/prometheusremotewrite] feat: prom rw exporter add support for rw2 #35888 (comment)
- Add test case with invalid proto message [exporter/prometheusremotewrite] feat: prom rw exporter add support for rw2 #35888 (comment)
- Go over the spec and confirm it follows it
- Optionally add e2e tests?