Skip to content

Commit 8995c1e

Browse files
committed
Update bucket for scheduler framework latency histograms.
1 parent e7ce8d8 commit 8995c1e

File tree

3 files changed

+22
-18
lines changed

3 files changed

+22
-18
lines changed

pkg/scheduler/metrics/metrics.go

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ var (
159159
StabilityLevel: metrics.ALPHA,
160160
},
161161
)
162-
SchedulingAlgorithmPremptionEvaluationDuration = metrics.NewHistogram(
162+
SchedulingAlgorithmPreemptionEvaluationDuration = metrics.NewHistogram(
163163
&metrics.HistogramOpts{
164164
Subsystem: SchedulerSubsystem,
165165
Name: "scheduling_algorithm_preemption_evaluation_seconds",
@@ -168,7 +168,7 @@ var (
168168
StabilityLevel: metrics.ALPHA,
169169
},
170170
)
171-
DeprecatedSchedulingAlgorithmPremptionEvaluationDuration = metrics.NewHistogram(
171+
DeprecatedSchedulingAlgorithmPreemptionEvaluationDuration = metrics.NewHistogram(
172172
&metrics.HistogramOpts{
173173
Subsystem: SchedulerSubsystem,
174174
Name: "scheduling_algorithm_preemption_evaluation",
@@ -228,9 +228,10 @@ var (
228228

229229
PodSchedulingDuration = metrics.NewHistogram(
230230
&metrics.HistogramOpts{
231-
Subsystem: SchedulerSubsystem,
232-
Name: "pod_scheduling_duration_seconds",
233-
Help: "E2e latency for a pod being scheduled which may include multiple scheduling attempts.",
231+
Subsystem: SchedulerSubsystem,
232+
Name: "pod_scheduling_duration_seconds",
233+
Help: "E2e latency for a pod being scheduled which may include multiple scheduling attempts.",
234+
// Start with 1ms with the last bucket being [~16s, Inf)
234235
Buckets: metrics.ExponentialBuckets(0.001, 2, 15),
235236
StabilityLevel: metrics.ALPHA,
236237
})
@@ -246,20 +247,23 @@ var (
246247

247248
FrameworkExtensionPointDuration = metrics.NewHistogramVec(
248249
&metrics.HistogramOpts{
249-
Subsystem: SchedulerSubsystem,
250-
Name: "framework_extension_point_duration_seconds",
251-
Help: "Latency for running all plugins of a specific extension point.",
252-
Buckets: nil,
250+
Subsystem: SchedulerSubsystem,
251+
Name: "framework_extension_point_duration_seconds",
252+
Help: "Latency for running all plugins of a specific extension point.",
253+
// Start with 0.1ms with the last bucket being [~200ms, Inf)
254+
Buckets: metrics.ExponentialBuckets(0.0001, 2, 12),
253255
StabilityLevel: metrics.ALPHA,
254256
},
255257
[]string{"extension_point", "status"})
256258

257259
PluginExecutionDuration = metrics.NewHistogramVec(
258260
&metrics.HistogramOpts{
259-
Subsystem: SchedulerSubsystem,
260-
Name: "plugin_execution_duration_seconds",
261-
Help: "Duration for running a plugin at a specific extension point.",
262-
Buckets: nil,
261+
Subsystem: SchedulerSubsystem,
262+
Name: "plugin_execution_duration_seconds",
263+
Help: "Duration for running a plugin at a specific extension point.",
264+
// Start with 0.01ms with the last bucket being [~22ms, Inf). We use a small factor (1.5)
265+
// so that we have better granularity since plugin latency is very sensitive.
266+
Buckets: metrics.ExponentialBuckets(0.00001, 1.5, 20),
263267
StabilityLevel: metrics.ALPHA,
264268
},
265269
[]string{"plugin", "extension_point", "status"})
@@ -304,8 +308,8 @@ var (
304308
DeprecatedSchedulingAlgorithmPredicateEvaluationDuration,
305309
SchedulingAlgorithmPriorityEvaluationDuration,
306310
DeprecatedSchedulingAlgorithmPriorityEvaluationDuration,
307-
SchedulingAlgorithmPremptionEvaluationDuration,
308-
DeprecatedSchedulingAlgorithmPremptionEvaluationDuration,
311+
SchedulingAlgorithmPreemptionEvaluationDuration,
312+
DeprecatedSchedulingAlgorithmPreemptionEvaluationDuration,
309313
PreemptionVictims,
310314
PreemptionAttempts,
311315
pendingPods,

pkg/scheduler/scheduler.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -614,8 +614,8 @@ func (sched *Scheduler) scheduleOne(ctx context.Context) {
614614
preemptionStartTime := time.Now()
615615
sched.preempt(schedulingCycleCtx, state, fwk, pod, fitError)
616616
metrics.PreemptionAttempts.Inc()
617-
metrics.SchedulingAlgorithmPremptionEvaluationDuration.Observe(metrics.SinceInSeconds(preemptionStartTime))
618-
metrics.DeprecatedSchedulingAlgorithmPremptionEvaluationDuration.Observe(metrics.SinceInMicroseconds(preemptionStartTime))
617+
metrics.SchedulingAlgorithmPreemptionEvaluationDuration.Observe(metrics.SinceInSeconds(preemptionStartTime))
618+
metrics.DeprecatedSchedulingAlgorithmPreemptionEvaluationDuration.Observe(metrics.SinceInMicroseconds(preemptionStartTime))
619619
metrics.SchedulingLatency.WithLabelValues(metrics.PreemptionEvaluation).Observe(metrics.SinceInSeconds(preemptionStartTime))
620620
metrics.DeprecatedSchedulingLatency.WithLabelValues(metrics.PreemptionEvaluation).Observe(metrics.SinceInSeconds(preemptionStartTime))
621621
}

test/integration/scheduler_perf/scheduler_bench_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ var (
4848

4949
// BenchmarkScheduling benchmarks the scheduling rate when the cluster has
5050
// various quantities of nodes and scheduled pods.
51-
func BenchmarkSchedulingV(b *testing.B) {
51+
func BenchmarkScheduling(b *testing.B) {
5252
tests := []struct{ nodes, existingPods, minPods int }{
5353
{nodes: 100, existingPods: 0, minPods: 100},
5454
{nodes: 100, existingPods: 1000, minPods: 100},

0 commit comments

Comments
 (0)