expose prometheus.Registerer so that we can hook into this from external sources

Change-Id: I0b4aa2218e309722a85143a50200e9e105020866
This commit is contained in:
Han Kang 2022-12-05 15:01:01 -08:00
parent 3e26e104bd
commit 07f262b2cc

View File

@ -157,6 +157,10 @@ type KubeRegistry interface {
Reset() Reset()
// RegisterMetaMetrics registers metrics about the number of registered metrics. // RegisterMetaMetrics registers metrics about the number of registered metrics.
RegisterMetaMetrics() RegisterMetaMetrics()
// Registerer exposes the underlying prometheus registerer
Registerer() prometheus.Registerer
// Gatherer exposes the underlying prometheus gatherer
Gatherer() prometheus.Gatherer
} }
// kubeRegistry is a wrapper around a prometheus registry-type object. Upon initialization // kubeRegistry is a wrapper around a prometheus registry-type object. Upon initialization
@ -188,6 +192,16 @@ func (kr *kubeRegistry) Register(c Registerable) error {
return nil return nil
} }
// Registerer exposes the underlying prometheus.Registerer
func (kr *kubeRegistry) Registerer() prometheus.Registerer {
return kr.PromRegistry
}
// Gatherer exposes the underlying prometheus.Gatherer
func (kr *kubeRegistry) Gatherer() prometheus.Gatherer {
return kr.PromRegistry
}
// MustRegister works like Register but registers any number of // MustRegister works like Register but registers any number of
// Collectors and panics upon the first registration that causes an // Collectors and panics upon the first registration that causes an
// error. // error.