Merge pull request #87692 from everpeace/fix-scheduler-queue-metrics

Fix some scheduler metrics(pending_pods and schedule_attempts_total) are not recorded.
This commit is contained in:
Kubernetes Prow Robot 2020-01-31 05:30:19 -08:00 committed by GitHub
commit 7f0ea141d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 1 deletions

View File

@ -56,10 +56,13 @@ var (
StabilityLevel: metrics.ALPHA,
}, []string{"result"})
// PodScheduleSuccesses counts how many pods were scheduled.
// This metric will be initialized again in Register() to assure the metric is not no-op metric.
PodScheduleSuccesses = scheduleAttempts.With(metrics.Labels{"result": "scheduled"})
// PodScheduleFailures counts how many pods could not be scheduled.
// This metric will be initialized again in Register() to assure the metric is not no-op metric.
PodScheduleFailures = scheduleAttempts.With(metrics.Labels{"result": "unschedulable"})
// PodScheduleErrors counts how many pods could not be scheduled due to a scheduler error.
// This metric will be initialized again in Register() to assure the metric is not no-op metric.
PodScheduleErrors = scheduleAttempts.With(metrics.Labels{"result": "error"})
DeprecatedSchedulingDuration = metrics.NewSummaryVec(
&metrics.SummaryOpts{
@ -262,6 +265,9 @@ func Register() {
legacyregistry.MustRegister(metric)
}
volumeschedulingmetrics.RegisterVolumeSchedulingMetrics()
PodScheduleSuccesses = scheduleAttempts.With(metrics.Labels{"result": "scheduled"})
PodScheduleFailures = scheduleAttempts.With(metrics.Labels{"result": "unschedulable"})
PodScheduleErrors = scheduleAttempts.With(metrics.Labels{"result": "error"})
})
}

View File

@ -291,6 +291,8 @@ func New(client clientset.Interface,
nodeInfoSnapshot: snapshot,
}
metrics.Register()
var sched *Scheduler
source := options.schedulerAlgorithmSource
switch {
@ -322,7 +324,6 @@ func New(client clientset.Interface,
default:
return nil, fmt.Errorf("unsupported algorithm source: %v", source)
}
metrics.Register()
// Additional tweaks to the config produced by the configurator.
sched.Recorder = recorder
sched.DisablePreemption = options.disablePreemption