Björn Rabenstein
Björn Rabenstein
This all has historical reasons (some of them plainly bad design decisions in the past). We had to introduce the weird interface upgrade for ExemplarAdder to prevent breakage when introducing...
I mostly assigned this to myself as a “default” because I used to be the maintainer of this repo. Therefore, I'm un-assigning this from myself no. New maintainers @bwplotka &...
This is indeed intended behavior, at least "kind of"… The code normalizes names of Summaries and Histograms (and their components) by pruning any of the "magic" suffixes. Then it reports...
An empty vector on its own isn't producing any metric yet. Without any known label values, how should such a metric look like?
What `client_golang` implements here, is in the spec: https://prometheus.io/docs/instrumenting/exposition_formats/#protocol-buffer-format-details One might argue only advanced use cases even run into that problem (if you hand-craft your metrics, like in this case...
You can try your luck with `ContinueOnError`, see https://godoc.org/github.com/prometheus/client_golang/prometheus/promhttp#HandlerErrorHandling . But I'm not sure from the top of my head if that does what you want.
Note https://github.com/prometheus/client_golang/pull/417 . In short: After much back and forth, it was decided that inconsistent label dimensions are actually fine. (The library will still only expose valid metric data. Just...
There is already some validation of metric names. And there is an established way of reporting errors. (They are reported during registration time of a metric, not during construction time....
I adjusted the issue according to my suggestions above. I guess if something is just a convention, it would be bad if an instrumentation library enforce it. But perhaps we...
Yeah, aggregations will be problematic for some metrics. How about just calling `NewProcessCollector` n-times and register it via a label-wrapped registry using https://pkg.go.dev/github.com/prometheus/client_golang/[email protected]?tab=doc#WrapRegistererWith ?