Skip to content

protobuf: move from OpenMetrics to Prometheus proto#298

Open
howardjohn wants to merge 4 commits intoprometheus:masterfrom
howardjohn:proto/native-prometheus
Open

protobuf: move from OpenMetrics to Prometheus proto#298
howardjohn wants to merge 4 commits intoprometheus:masterfrom
howardjohn:proto/native-prometheus

Conversation

@howardjohn
Copy link
Copy Markdown
Contributor

Fixes #296

Replaces #294
Replaces #295

(I can split 294 and 295 out if desired just thought it was easier to handle all in one go)

Signed-off-by: John Howard <john.howard@solo.io>
Our goal is to have our builds compile without external dependencies.
`protox` helps achieve this.

Signed-off-by: John Howard <john.howard@solo.io>
Signed-off-by: John Howard <john.howard@solo.io>
Signed-off-by: John Howard <john.howard@solo.io>
@howardjohn howardjohn force-pushed the proto/native-prometheus branch from 8531d9d to 63ccfdb Compare April 1, 2026 14:45
Copy link
Copy Markdown

@krisztianfekete krisztianfekete left a comment

Choose a reason for hiding this comment

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

I think all here is fine as the foundational work to enable Native Histograms implementation in follow-up PRs, and would love to see this move forward. Added one comment about the changelog.

Comment thread CHANGELOG.md
- Updated `prost`, `prost-build`, and `prost-types` dependencies to `v0.14`.
- The `protobuf` feature now generates and encodes Prometheus
`io.prometheus.client` protobuf messages from `metrics.proto` rather than the
OpenMetrics protobuf data model. This is a breaking change for users of the `protobuf` feature.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I think we should call out the most important change, namely the fact that metrics names will change.

@SuperQ SuperQ requested a review from mxinden April 20, 2026 20:41
Copy link
Copy Markdown
Member

@brancz brancz left a comment

Choose a reason for hiding this comment

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

lgtm

Looking forward to unlocking native histograms!

@brancz
Copy link
Copy Markdown
Member

brancz commented Apr 24, 2026

(while I can merge, I'd feel more comfortable if @mxinden is the one who hits the merge button)

Copy link
Copy Markdown
Member

@mxinden mxinden left a comment

Choose a reason for hiding this comment

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

Thanks for the context through prometheus/docs#2836.

This library is explicitly build in a way to support many encoding formats. Instead of replacing the Open Metrics Protobuf format with the Prometheus Protobuf format, this pull request could as well add the Prometheus Protobuf format as a third encoding format, and mark the Open Metrics Protobuf format as #[deprecated]. In consecutive releases we can then remove the Open Metrics Protobuf format entirely. I assume this to be a much better user experience. @howardjohn what do you think? Would this be a large effort? Would this be worth the additional complexity.

As per protox, that looks like a good quality of life improvement.

I am sorry for the late review. I am no longer using the library myself and mostly focus on Firefox these days. Thus I think it would make sense for me to step down as a maintainer, handing it over to one or more of all of you fine folks. I will follow-up with a mail to the Prometheus mailing list.

@howardjohn
Copy link
Copy Markdown
Contributor Author

I'm good either way on adding or replacing. Adding seems to make sense, I just went with replacing based on #296 (comment) (might have misinterpreted). I can switch it over to adding next week

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.

protobuf: replace/augment OpenMetrics protobuf with Prometheus format

4 participants