tokio-rs / tracing-opentelemetry

MIT License
231 stars 80 forks source link

Support for a histogram buckets api #108

Open ewoolsey opened 7 months ago

ewoolsey commented 7 months ago

Feature Request

Motivation

One thing my team is looking for is the ability to specify histogram buckets when registering a histogram. This can currently be done at the meter provider level, but there are a few reasons why this would be useful at the actual metric call site. One reason being ease of configuration. A library should be able to suggest an appropriate bucket distribution that a consumer can then accept by default or override.

Proposal

I haven't fully evaluated how this could work yet, but I think It should be possible with using the view method for otel meters. Not sure exactly what the api should look like, perhaps:

info!(histogram.my_hist = my_var, buckets = ExpBuckets { .. });
alfiejfs commented 2 months ago

This should be more possible when the OpenTelemtry Rust client implement advisory parameters for explicit buckets. This is actually planned to happen today - here is the issue https://github.com/open-telemetry/opentelemetry-rust/issues/1241.

Prior to this release I don't think this is possible (as to my knowledge buckets can currentlly only be defined in aggregations, which is SDK implementation detail), but assuming the release of beta is not delayed again this should be unblocked.