From 5144e2ec78ccd1ae6ab77075d88604159b957bfa Mon Sep 17 00:00:00 2001 From: Dave Chen Date: Wed, 11 Nov 2020 14:39:28 +0800 Subject: [PATCH] Remove the deprecated metrics from scheduler Deprecated metrics are removed and suggest to use the Histogram metrics got from scheduler extension points. Signed-off-by: Dave Chen Co-authored-by: wawa0210 --- .../defaultpreemption/default_preemption.go | 3 --- pkg/scheduler/metrics/metrics.go | 22 ------------------- pkg/scheduler/scheduler.go | 6 ++--- .../scheduler_perf/scheduler_perf_test.go | 2 -- 4 files changed, 2 insertions(+), 31 deletions(-) diff --git a/pkg/scheduler/framework/plugins/defaultpreemption/default_preemption.go b/pkg/scheduler/framework/plugins/defaultpreemption/default_preemption.go index 234142cd59b..48973bb8971 100644 --- a/pkg/scheduler/framework/plugins/defaultpreemption/default_preemption.go +++ b/pkg/scheduler/framework/plugins/defaultpreemption/default_preemption.go @@ -23,7 +23,6 @@ import ( "math/rand" "sort" "sync/atomic" - "time" "k8s.io/klog/v2" @@ -89,10 +88,8 @@ func New(dpArgs runtime.Object, fh framework.Handle) (framework.Plugin, error) { // PostFilter invoked at the postFilter extension point. func (pl *DefaultPreemption) PostFilter(ctx context.Context, state *framework.CycleState, pod *v1.Pod, m framework.NodeToStatusMap) (*framework.PostFilterResult, *framework.Status) { - preemptionStartTime := time.Now() defer func() { metrics.PreemptionAttempts.Inc() - metrics.DeprecatedSchedulingAlgorithmPreemptionEvaluationDuration.Observe(metrics.SinceInSeconds(preemptionStartTime)) }() nnn, err := pl.preempt(ctx, state, pod, m) diff --git a/pkg/scheduler/metrics/metrics.go b/pkg/scheduler/metrics/metrics.go index 4b8d82d52df..20896740da6 100644 --- a/pkg/scheduler/metrics/metrics.go +++ b/pkg/scheduler/metrics/metrics.go @@ -67,26 +67,6 @@ var ( StabilityLevel: metrics.ALPHA, }, ) - DeprecatedSchedulingAlgorithmPreemptionEvaluationDuration = metrics.NewHistogram( - &metrics.HistogramOpts{ - Subsystem: SchedulerSubsystem, - Name: "scheduling_algorithm_preemption_evaluation_seconds", - Help: "Scheduling algorithm preemption evaluation duration in seconds", - Buckets: metrics.ExponentialBuckets(0.001, 2, 15), - StabilityLevel: metrics.ALPHA, - DeprecatedVersion: "1.20.0", - }, - ) - DeprecatedBindingLatency = metrics.NewHistogram( - &metrics.HistogramOpts{ - Subsystem: SchedulerSubsystem, - Name: "binding_duration_seconds", - Help: "Binding latency in seconds", - Buckets: metrics.ExponentialBuckets(0.001, 2, 15), - StabilityLevel: metrics.ALPHA, - DeprecatedVersion: "1.20.0", - }, - ) PreemptionVictims = metrics.NewHistogram( &metrics.HistogramOpts{ Subsystem: SchedulerSubsystem, @@ -191,8 +171,6 @@ var ( scheduleAttempts, e2eSchedulingLatency, SchedulingAlgorithmLatency, - DeprecatedBindingLatency, - DeprecatedSchedulingAlgorithmPreemptionEvaluationDuration, PreemptionVictims, PreemptionAttempts, pendingPods, diff --git a/pkg/scheduler/scheduler.go b/pkg/scheduler/scheduler.go index 28958c75157..4b19bd6de8c 100755 --- a/pkg/scheduler/scheduler.go +++ b/pkg/scheduler/scheduler.go @@ -379,9 +379,8 @@ func (sched *Scheduler) assume(assumed *v1.Pod, host string) error { // The precedence for binding is: (1) extenders and (2) framework plugins. // We expect this to run asynchronously, so we handle binding metrics internally. func (sched *Scheduler) bind(ctx context.Context, fwk framework.Framework, assumed *v1.Pod, targetNode string, state *framework.CycleState) (err error) { - start := time.Now() defer func() { - sched.finishBinding(fwk, assumed, targetNode, start, err) + sched.finishBinding(fwk, assumed, targetNode, err) }() bound, err := sched.extendersBinding(assumed, targetNode) @@ -412,7 +411,7 @@ func (sched *Scheduler) extendersBinding(pod *v1.Pod, node string) (bool, error) return false, nil } -func (sched *Scheduler) finishBinding(fwk framework.Framework, assumed *v1.Pod, targetNode string, start time.Time, err error) { +func (sched *Scheduler) finishBinding(fwk framework.Framework, assumed *v1.Pod, targetNode string, err error) { if finErr := sched.SchedulerCache.FinishBinding(assumed); finErr != nil { klog.Errorf("scheduler cache FinishBinding failed: %v", finErr) } @@ -421,7 +420,6 @@ func (sched *Scheduler) finishBinding(fwk framework.Framework, assumed *v1.Pod, return } - metrics.DeprecatedBindingLatency.Observe(metrics.SinceInSeconds(start)) fwk.EventRecorder().Eventf(assumed, nil, v1.EventTypeNormal, "Scheduled", "Binding", "Successfully assigned %v/%v to %v", assumed.Namespace, assumed.Name, targetNode) } diff --git a/test/integration/scheduler_perf/scheduler_perf_test.go b/test/integration/scheduler_perf/scheduler_perf_test.go index fd50bf1eb41..3f2917dbe6a 100644 --- a/test/integration/scheduler_perf/scheduler_perf_test.go +++ b/test/integration/scheduler_perf/scheduler_perf_test.go @@ -51,9 +51,7 @@ var ( Metrics: []string{ "scheduler_scheduling_algorithm_predicate_evaluation_seconds", "scheduler_scheduling_algorithm_priority_evaluation_seconds", - "scheduler_binding_duration_seconds", "scheduler_e2e_scheduling_duration_seconds", - "scheduler_scheduling_algorithm_preemption_evaluation_seconds", "scheduler_pod_scheduling_duration_seconds", }, }