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") return nil, fmt.Errorf("No metrics provided in config")
} }
minPollFrequency := configInJSON.MetricsConfig[0].PollingFrequency minPollFrequency := time.Duration(0)
//set minPollFrequency to housekeepingInterval if config returns minpollFrequency=0
if minPollFrequency == 0 {
minPollFrequency = 1 * time.Second
}
regexprs := make([]*regexp.Regexp, len(configInJSON.MetricsConfig)) regexprs := make([]*regexp.Regexp, len(configInJSON.MetricsConfig))
for ind, metricConfig := range configInJSON.MetricsConfig { for ind, metricConfig := range configInJSON.MetricsConfig {
if metricConfig.PollingFrequency < minPollFrequency && metricConfig.PollingFrequency != 0 { // Find the minimum specified polling frequency in metric config.
minPollFrequency = metricConfig.PollingFrequency if metricConfig.PollingFrequency != 0 {
if minPollFrequency == 0 || metricConfig.PollingFrequency < minPollFrequency {
minPollFrequency = metricConfig.PollingFrequency
}
} }
regexprs[ind], err = regexp.Compile(metricConfig.Regex) 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{ return &GenericCollector{
name: collectorName, name: collectorName,
configFile: configInJSON, configFile: configInJSON,