Merge pull request #115082 from sanposhiho/filter-metrics

feature(scheduler): implement plugin_evaluation_total metric
This commit is contained in:
Kubernetes Prow Robot 2023-03-06 12:58:17 -08:00 committed by GitHub
commit 283c26f91a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 0 deletions

View File

@ -617,6 +617,7 @@ func (f *frameworkImpl) RunPreFilterPlugins(ctx context.Context, state *framewor
skipPlugins.Insert(pl.Name())
continue
}
metrics.PluginEvaluationTotal.WithLabelValues(pl.Name(), preFilter, f.profileName).Inc()
if !s.IsSuccess() {
s.SetFailedPlugin(pl.Name())
if s.IsUnschedulable() {
@ -734,6 +735,7 @@ func (f *frameworkImpl) RunFilterPlugins(
if state.SkipFilterPlugins.Has(pl.Name()) {
continue
}
metrics.PluginEvaluationTotal.WithLabelValues(pl.Name(), Filter, f.profileName).Inc()
if status := f.runFilterPlugin(ctx, pl, state, pod, nodeInfo); !status.IsSuccess() {
if !status.IsUnschedulable() {
// Filter plugins are not supposed to return any status other than

View File

@ -189,6 +189,14 @@ var (
StabilityLevel: metrics.ALPHA,
}, []string{"plugin", "profile"})
PluginEvaluationTotal = metrics.NewCounterVec(
&metrics.CounterOpts{
Subsystem: SchedulerSubsystem,
Name: "plugin_evaluation_total",
Help: "Number of attempts to schedule pods by each plugin and the extension point (available only in PreFilter and Filter.).",
StabilityLevel: metrics.ALPHA,
}, []string{"plugin", "extension_point", "profile"})
metricsList = []metrics.Registerable{
scheduleAttempts,
e2eSchedulingLatency,
@ -207,6 +215,7 @@ var (
PermitWaitDuration,
CacheSize,
unschedulableReasons,
PluginEvaluationTotal,
}
)