Add native histogram support#304
Conversation
Add native-only histograms and histograms that expose both classic and native buckets. Encode native sparse bucket spans and deltas through the Prometheus protobuf encoder while keeping text and OpenMetrics protobuf behavior on the classic representation when available. Signed-off-by: John Howard <john.howard@solo.io>
dc631bf to
d4882eb
Compare
|
Related issue #150 |
krisztianfekete
left a comment
There was a problem hiding this comment.
This looks great, I am planning to do some actual testing as well soon, but added a couple of comments/questions in the meantime!
Signed-off-by: John Howard <john.howard@solo.io>
0c534c9 to
1931f5b
Compare
krisztianfekete
left a comment
There was a problem hiding this comment.
Awesome work, all looks good to me! We are matching client_golang for all edge cases as far as I can see. We also have a nice test coverage (even more granular at some places), maybe outside of exemplars (we can do that as a follow-up). Also did some local testing, and can confirm the same.
Added one comment about doing the version bump separately, otherwise LGTM!
| [package] | ||
| name = "prometheus-client" | ||
| version = "0.25.0" | ||
| version = "0.26.0" |
There was a problem hiding this comment.
Can you please revert this back to 0.25.0, and move the changelog entry to unreleased to follow the previous release conventions (e.g. 4a6d40a)?
Signed-off-by: John Howard <john.howard@solo.io>
c5de02d to
490bcc8
Compare
This PR adds support for native histograms using the new prometheus protobuf support recently merged.
The implementation is basically 1:1 lifted from the Golang implementation as much as possible, including tests.
Users can make any of the 3: classic only, native only, or classic + native histogram.