Merge pull request #823 from rjnagal/docker

Change logic for determining minimum polling frequency.
This commit is contained in:
Rohit Jnagal 2015-07-20 11:14:27 -07:00
commit 7ec04b773e

View File

@ -65,18 +65,15 @@ func NewCollector(collectorName string, configfile string) (*GenericCollector, e
return nil, fmt.Errorf("No metrics provided in config")
}
minPollFrequency := configInJSON.MetricsConfig[0].PollingFrequency
//set minPollFrequency to housekeepingInterval if config returns minpollFrequency=0
if minPollFrequency == 0 {
minPollFrequency = 1 * time.Second
}
minPollFrequency := time.Duration(0)
regexprs := make([]*regexp.Regexp, len(configInJSON.MetricsConfig))
for ind, metricConfig := range configInJSON.MetricsConfig {
if metricConfig.PollingFrequency < minPollFrequency && metricConfig.PollingFrequency != 0 {
minPollFrequency = metricConfig.PollingFrequency
// Find the minimum specified polling frequency in metric config.
if metricConfig.PollingFrequency != 0 {
if minPollFrequency == 0 || metricConfig.PollingFrequency < minPollFrequency {
minPollFrequency = metricConfig.PollingFrequency
}
}
regexprs[ind], err = regexp.Compile(metricConfig.Regex)
@ -85,6 +82,12 @@ func NewCollector(collectorName string, configfile string) (*GenericCollector, e
}
}
// Minimum supported polling frequency is 1s.
minSupportedFrequency := 1 * time.Second
if minPollFrequency < minSupportedFrequency {
minPollFrequency = minSupportedFrequency
}
return &GenericCollector{
name: collectorName,
configFile: configInJSON,