metrics: break loop as soon as flags have been set

This commit is contained in:
Hao Duan 2020-05-13 20:23:08 +08:00
parent 46698d7931
commit d532b7f237

View file

@ -39,18 +39,34 @@ func init() {
for _, arg := range os.Args { for _, arg := range os.Args {
flag := strings.TrimLeft(arg, "-") flag := strings.TrimLeft(arg, "-")
for _, enabler := range enablerFlags { if !Enabled {
if !Enabled && flag == enabler { // only compare enablerFlags when Enable is not set.
log.Info("Enabling metrics collection") for _, enabler := range enablerFlags {
Enabled = true if flag == enabler {
log.Info("Enabling metrics collection")
Enabled = true
// break loop if Enabled flag is already set.
break
}
} }
} }
for _, enabler := range expensiveEnablerFlags {
if !EnabledExpensive && flag == enabler { if !EnabledExpensive {
log.Info("Enabling expensive metrics collection") // only compare expensiveEnablerFlags when EnabledExpensive is not set.
EnabledExpensive = true for _, enabler := range expensiveEnablerFlags {
if flag == enabler {
log.Info("Enabling expensive metrics collection")
EnabledExpensive = true
// break loop if EnabledExpensive flag is already set.
break
}
} }
} }
// break loop as all flags have been set.
if Enabled && EnabledExpensive {
break
}
} }
} }