Expose scheduler metric register function to make it possible for plugins to use it

This commit is contained in:
caiweidong 2020-03-15 17:45:32 +08:00
parent 84dc704679
commit bbaa76c8f5

View File

@ -261,9 +261,7 @@ var registerMetrics sync.Once
func Register() {
// Register the metrics.
registerMetrics.Do(func() {
for _, metric := range metricsList {
legacyregistry.MustRegister(metric)
}
RegisterMetrics(metricsList...)
volumeschedulingmetrics.RegisterVolumeSchedulingMetrics()
PodScheduleSuccesses = scheduleAttempts.With(metrics.Labels{"result": "scheduled"})
PodScheduleFailures = scheduleAttempts.With(metrics.Labels{"result": "unschedulable"})
@ -271,6 +269,14 @@ func Register() {
})
}
// RegisterMetrics registers a list of metrics.
// This function is exported because it is intended to be used by out-of-tree plugins to register their custom metrics.
func RegisterMetrics(extraMetrics ...metrics.Registerable) {
for _, metric := range extraMetrics {
legacyregistry.MustRegister(metric)
}
}
// GetGather returns the gatherer. It used by test case outside current package.
func GetGather() metrics.Gatherer {
return legacyregistry.DefaultGatherer