From c1f7b8e9f1209f347a7903419c914589693629d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Skocze=C5=84?= Date: Tue, 10 Sep 2024 10:28:14 +0000 Subject: [PATCH] Measure event_handling and QHints duration metrics in scheduler_perf --- .../scheduler_perf/scheduler_perf.go | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/test/integration/scheduler_perf/scheduler_perf.go b/test/integration/scheduler_perf/scheduler_perf.go index abc5319422a..142c0787add 100644 --- a/test/integration/scheduler_perf/scheduler_perf.go +++ b/test/integration/scheduler_perf/scheduler_perf.go @@ -98,6 +98,7 @@ const ( extensionPointsLabelName = "extension_point" resultLabelName = "result" pluginLabelName = "plugin" + eventLabelName = "event" ) // Run with -v=2, this is the default log level in production. @@ -149,6 +150,22 @@ var ( values: metrics.ExtentionPoints, }, }, + "scheduler_queueing_hint_execution_duration_seconds": { + { + label: pluginLabelName, + values: PluginNames, + }, + { + label: eventLabelName, + values: clusterEventsToLabels(schedframework.AllEvents), + }, + }, + "scheduler_event_handling_duration_seconds": { + { + label: eventLabelName, + values: clusterEventsToLabels(schedframework.AllEvents), + }, + }, }, } @@ -177,6 +194,14 @@ var ( } ) +func clusterEventsToLabels(events []schedframework.ClusterEvent) []string { + labels := make([]string, 0, len(events)) + for _, event := range events { + labels = append(labels, event.Label) + } + return labels +} + // testCase defines a set of test cases that intends to test the performance of // similar workloads of varying sizes with shared overall settings such as // feature gates and metrics collected. @@ -1038,10 +1063,7 @@ func compareMetricWithThreshold(items []DataItem, threshold float64, metricSelec } func checkEmptyInFlightEvents() error { - labels := []string{metrics.PodPoppedInFlightEvent} - for _, event := range schedframework.AllEvents { - labels = append(labels, event.Label) - } + labels := append(clusterEventsToLabels(schedframework.AllEvents), metrics.PodPoppedInFlightEvent) for _, label := range labels { value, err := testutil.GetGaugeMetricValue(metrics.InFlightEvents.WithLabelValues(label)) if err != nil {