@@ -65,18 +65,15 @@ func NewCollector(collectorName string, configfile string) (*GenericCollector, e
65
65
return nil , fmt .Errorf ("No metrics provided in config" )
66
66
}
67
67
68
- minPollFrequency := configInJSON .MetricsConfig [0 ].PollingFrequency
69
-
70
- //set minPollFrequency to housekeepingInterval if config returns minpollFrequency=0
71
- if minPollFrequency == 0 {
72
- minPollFrequency = 1 * time .Second
73
- }
74
-
68
+ minPollFrequency := time .Duration (0 )
75
69
regexprs := make ([]* regexp.Regexp , len (configInJSON .MetricsConfig ))
76
70
77
71
for ind , metricConfig := range configInJSON .MetricsConfig {
78
- if metricConfig .PollingFrequency < minPollFrequency && metricConfig .PollingFrequency != 0 {
79
- minPollFrequency = metricConfig .PollingFrequency
72
+ // Find the minimum specified polling frequency in metric config.
73
+ if metricConfig .PollingFrequency != 0 {
74
+ if minPollFrequency == 0 || metricConfig .PollingFrequency < minPollFrequency {
75
+ minPollFrequency = metricConfig .PollingFrequency
76
+ }
80
77
}
81
78
82
79
regexprs [ind ], err = regexp .Compile (metricConfig .Regex )
@@ -85,6 +82,12 @@ func NewCollector(collectorName string, configfile string) (*GenericCollector, e
85
82
}
86
83
}
87
84
85
+ // Minimum supported polling frequency is 1s.
86
+ minSupportedFrequency := 1 * time .Second
87
+ if minPollFrequency < minSupportedFrequency {
88
+ minPollFrequency = minSupportedFrequency
89
+ }
90
+
88
91
return & GenericCollector {
89
92
name : collectorName ,
90
93
configFile : configInJSON ,
0 commit comments