prometheus / client_ruby

Prometheus instrumentation library for Ruby applications
Apache License 2.0
513 stars 149 forks source link

Implement native histograms support #286

Open GiedriusS opened 1 year ago

GiedriusS commented 1 year ago

Would be cool to have this.

Sinjo commented 1 year ago

Definitely on our radar! Can't promise when we'll get to it, as most development happens in our spare time now, but definitely something we want to implement.

pcasaretto commented 1 year ago

Interested in helping out. Anyone tacking this already?

csmarchbanks commented 8 months ago

👋 I am looking at supporting native histograms in client_python, which requires adding a native histogram representation in the text format. If you all are interested in using the text format for client_ruby support as well I created a design doc to go over some text format options here: https://docs.google.com/document/d/1qoHf24cKMpa1QHskIjgzyf3oFhIPvacyJj8Tbe6fIrY/edit#heading=h.5sybau7waq2q.

Any comments are welcome!

Sinjo commented 8 months ago

@csmarchbanks Hey! Sorry for not getting back to you sooner. That does look interesting to me.

It looks like you've got broad support for option 1 in that doc, and the reasoning behind it makes sense to me too. We don't have the same restriction of no dependencies here in client_ruby, but it happens that we don't have any currently (aside from development dependencies).

Unrelated to the exposition format, we will need to figure out the storage side of native histograms in this client. I'm not sure if our existing data store interface will be able to support this in a non-breaking way. That's not essential though - it just informs whether we cut a minor or major release for this.