Restrict scrape timeout to interval length

This commit is contained in:
Fabian Reinartz 2016-02-12 12:51:55 +01:00
parent abeeebeed4
commit e26e4b6e89
3 changed files with 10 additions and 0 deletions

View file

@ -266,6 +266,9 @@ func (c *Config) UnmarshalYAML(unmarshal func(interface{}) error) error {
if scfg.ScrapeTimeout == 0 {
scfg.ScrapeTimeout = c.GlobalConfig.ScrapeTimeout
}
if scfg.ScrapeTimeout > scfg.ScrapeInterval {
return fmt.Errorf("scrape timeout greater than scrape interval for scrape config with job name %q", scfg.JobName)
}
if _, ok := jobNames[scfg.JobName]; ok {
return fmt.Errorf("found multiple scrape configs with job name %q", scfg.JobName)

View file

@ -335,6 +335,9 @@ var expectedErrors = []struct {
}, {
filename: "jobname_dup.bad.yml",
errMsg: `found multiple scrape configs with job name "prometheus"`,
}, {
filename: "scrape_interval.bad.yml",
errMsg: `scrape timeout greater than scrape interval`,
}, {
filename: "labelname.bad.yml",
errMsg: `"not$allowed" is not a valid label name`,

View file

@ -0,0 +1,4 @@
scrape_configs:
- job_name: prometheus
scrape_interval: 5s
scrape_timeout: 6s