Skip to content

Commit 5704bff

Browse files
authored
Merge pull request kubernetes#84913 from serathius/metrics-scheduler
Add show-hidden-metrics-for-version to scheduler
2 parents fd5f5cc + 8b825d1 commit 5704bff

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

cmd/kube-scheduler/app/options/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ go_library(
4242
"//staging/src/k8s.io/component-base/cli/flag:go_default_library",
4343
"//staging/src/k8s.io/component-base/codec:go_default_library",
4444
"//staging/src/k8s.io/component-base/config:go_default_library",
45+
"//staging/src/k8s.io/component-base/metrics:go_default_library",
4546
"//staging/src/k8s.io/kube-scheduler/config/v1alpha2:go_default_library",
4647
"//vendor/github.com/spf13/pflag:go_default_library",
4748
"//vendor/k8s.io/klog:go_default_library",

cmd/kube-scheduler/app/options/options.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import (
3939
"k8s.io/client-go/tools/record"
4040
cliflag "k8s.io/component-base/cli/flag"
4141
componentbaseconfig "k8s.io/component-base/config"
42+
"k8s.io/component-base/metrics"
4243
"k8s.io/klog"
4344
kubeschedulerconfigv1alpha2 "k8s.io/kube-scheduler/config/v1alpha2"
4445
schedulerappconfig "k8s.io/kubernetes/cmd/kube-scheduler/app/config"
@@ -69,6 +70,8 @@ type Options struct {
6970
WriteConfigTo string
7071

7172
Master string
73+
74+
ShowHiddenMetricsForVersion string
7275
}
7376

7477
// NewOptions returns default scheduler app options.
@@ -157,6 +160,15 @@ func (o *Options) Flags() (nfs cliflag.NamedFlagSets) {
157160
leaderelectionconfig.BindFlags(&o.ComponentConfig.LeaderElection.LeaderElectionConfiguration, nfs.FlagSet("leader election"))
158161
utilfeature.DefaultMutableFeatureGate.AddFlag(nfs.FlagSet("feature gate"))
159162

163+
// TODO(RainbowMango): move it to genericoptions before next flag comes.
164+
mfs := nfs.FlagSet("metrics")
165+
mfs.StringVar(&o.ShowHiddenMetricsForVersion, "show-hidden-metrics-for-version", o.ShowHiddenMetricsForVersion,
166+
"The previous version for which you want to show hidden metrics. "+
167+
"Only the previous minor version is meaningful, other values will not be allowed. "+
168+
"Accepted format of version is <major>.<minor>, e.g.: '1.16'. "+
169+
"The purpose of this format is make sure you have the opportunity to notice if the next release hides additional metrics, "+
170+
"rather than being surprised when they are permanently removed in the release after that.")
171+
160172
return nfs
161173
}
162174

@@ -202,6 +214,9 @@ func (o *Options) ApplyTo(c *schedulerappconfig.Config) error {
202214
return err
203215
}
204216
}
217+
if len(o.ShowHiddenMetricsForVersion) > 0 {
218+
metrics.SetShowHidden()
219+
}
205220

206221
return nil
207222
}
@@ -218,6 +233,7 @@ func (o *Options) Validate() []error {
218233
errs = append(errs, o.Authentication.Validate()...)
219234
errs = append(errs, o.Authorization.Validate()...)
220235
errs = append(errs, o.Deprecated.Validate()...)
236+
errs = append(errs, metrics.ValidateShowHiddenMetricsVersion(o.ShowHiddenMetricsForVersion)...)
221237

222238
return errs
223239
}

0 commit comments

Comments
 (0)