You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Using prometheus collector MustRegister in New{Counter,Gauge} and possible panic #937
Thanks for the wonderful product!
I think it would be fair to point the limitations of calling New in the documentation, since calling New again calls panic.
Hmm, it could be either. The easiest fix would be to update the docs to mention it can panic, but a better fix would probably be a new constructor with took an e.g. prometheus.Registerer into which the metrics would be registered, and refactoring the existing constructor (with updated doc comment) to call the new constructor with prometheus.DefaultRegisterer (or whatever it's called).
I also ran into this issue (the day this was filed interestingly) and implemented a Delete function for each of the metric types that calls Unregister: AshleyDumaine@5af0353
Would this be an acceptable solution?
I don't think Delete is the answer — metrics generally should be singletons in your component graph. If we need something more it would probably be to take an explicit Registerer.
Activity
peterbourgon commentedon Nov 14, 2019
A great point! :)
tpdenk commentedon Nov 22, 2019
Is this a bug or a documentation issue? If it is a bug, I would like to have a look at it.
peterbourgon commentedon Nov 25, 2019
Hmm, it could be either. The easiest fix would be to update the docs to mention it can panic, but a better fix would probably be a new constructor with took an e.g. prometheus.Registerer into which the metrics would be registered, and refactoring the existing constructor (with updated doc comment) to call the new constructor with prometheus.DefaultRegisterer (or whatever it's called).
AshleyDumaine commentedon Feb 6, 2020
I also ran into this issue (the day this was filed interestingly) and implemented a Delete function for each of the metric types that calls
Unregister: AshleyDumaine@5af0353Would this be an acceptable solution?
peterbourgon commentedon Feb 6, 2020
I don't think Delete is the answer — metrics generally should be singletons in your component graph. If we need something more it would probably be to take an explicit Registerer.
Issue go-kit#937 : Using prometheus collector MustRegister in New{Cou…
prasadghagare commentedon Jun 16, 2020
Hi @TimSatke , are you still looking at this?
If not I would like to have a go at it.
tpdenk commentedon Jun 16, 2020
I didn’t look at it, since I didn’t consider any answer a clear „go“, so yes, take it