From a4ea058cc75ad26083ccf42b0f58f8699000718e Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Tue, 3 Jan 2023 08:35:04 +0000 Subject: [PATCH] feature(scheduler_perf): distinguish result in scheduler_scheduling_attempt_duration_seconds metric result --- pkg/scheduler/metrics/profile_metrics.go | 12 ++++++------ .../scheduler_perf/scheduler_perf_test.go | 9 +++++++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/pkg/scheduler/metrics/profile_metrics.go b/pkg/scheduler/metrics/profile_metrics.go index b844ef68746..4f73f5215eb 100644 --- a/pkg/scheduler/metrics/profile_metrics.go +++ b/pkg/scheduler/metrics/profile_metrics.go @@ -19,27 +19,27 @@ package metrics // This file contains helpers for metrics that are associated to a profile. var ( - scheduledResult = "scheduled" - unschedulableResult = "unschedulable" - errorResult = "error" + ScheduledResult = "scheduled" + UnschedulableResult = "unschedulable" + ErrorResult = "error" ) // PodScheduled can records a successful scheduling attempt and the duration // since `start`. func PodScheduled(profile string, duration float64) { - observeScheduleAttemptAndLatency(scheduledResult, profile, duration) + observeScheduleAttemptAndLatency(ScheduledResult, profile, duration) } // PodUnschedulable can records a scheduling attempt for an unschedulable pod // and the duration since `start`. func PodUnschedulable(profile string, duration float64) { - observeScheduleAttemptAndLatency(unschedulableResult, profile, duration) + observeScheduleAttemptAndLatency(UnschedulableResult, profile, duration) } // PodScheduleError can records a scheduling attempt that had an error and the // duration since `start`. func PodScheduleError(profile string, duration float64) { - observeScheduleAttemptAndLatency(errorResult, profile, duration) + observeScheduleAttemptAndLatency(ErrorResult, profile, duration) } func observeScheduleAttemptAndLatency(result, profile string, duration float64) { diff --git a/test/integration/scheduler_perf/scheduler_perf_test.go b/test/integration/scheduler_perf/scheduler_perf_test.go index 0901e870095..9837bd0f8f1 100644 --- a/test/integration/scheduler_perf/scheduler_perf_test.go +++ b/test/integration/scheduler_perf/scheduler_perf_test.go @@ -46,6 +46,7 @@ import ( "k8s.io/kubernetes/pkg/scheduler/apis/config" "k8s.io/kubernetes/pkg/scheduler/apis/config/scheme" "k8s.io/kubernetes/pkg/scheduler/apis/config/validation" + "k8s.io/kubernetes/pkg/scheduler/metrics" "k8s.io/kubernetes/test/integration/framework" testutils "k8s.io/kubernetes/test/utils" "sigs.k8s.io/yaml" @@ -75,6 +76,7 @@ const ( const ( configFile = "config/performance-config.yaml" extensionPointsLabelName = "extension_point" + resultLabelName = "result" ) var ( @@ -84,8 +86,11 @@ var ( label: extensionPointsLabelName, values: []string{"Filter", "Score"}, }, - "scheduler_scheduling_attempt_duration_seconds": nil, - "scheduler_pod_scheduling_duration_seconds": nil, + "scheduler_scheduling_attempt_duration_seconds": { + label: resultLabelName, + values: []string{metrics.ScheduledResult, metrics.UnschedulableResult, metrics.ErrorResult}, + }, + "scheduler_pod_scheduling_duration_seconds": nil, }, } )