Merge pull request #89131 from cwdsuzhou/March/expose_scheduler_metric

Expose scheduler metric to make it possible for plugins to use it
This commit is contained in:
Kubernetes Prow Robot 2020-04-08 04:25:43 -07:00 committed by GitHub
commit 0926c9c476
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -261,9 +261,7 @@ var registerMetrics sync.Once
func Register() { func Register() {
// Register the metrics. // Register the metrics.
registerMetrics.Do(func() { registerMetrics.Do(func() {
for _, metric := range metricsList { RegisterMetrics(metricsList...)
legacyregistry.MustRegister(metric)
}
volumeschedulingmetrics.RegisterVolumeSchedulingMetrics() volumeschedulingmetrics.RegisterVolumeSchedulingMetrics()
PodScheduleSuccesses = scheduleAttempts.With(metrics.Labels{"result": "scheduled"}) PodScheduleSuccesses = scheduleAttempts.With(metrics.Labels{"result": "scheduled"})
PodScheduleFailures = scheduleAttempts.With(metrics.Labels{"result": "unschedulable"}) 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. // GetGather returns the gatherer. It used by test case outside current package.
func GetGather() metrics.Gatherer { func GetGather() metrics.Gatherer {
return legacyregistry.DefaultGatherer return legacyregistry.DefaultGatherer