mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-23 20:37:12 +01:00
lib/promscrape: add vm_promscrape_service_discovery_duration_seconds metric
This commit is contained in:
parent
bd11fd8f1d
commit
4068f8d590
@ -17,6 +17,7 @@ in front of VictoriaMetrics. [Contact us](mailto:sales@victoriametrics.com) if y
|
|||||||
- `vm_promscrape_discovery_requests_total`
|
- `vm_promscrape_discovery_requests_total`
|
||||||
- `vm_promscrape_discovery_retries_total`
|
- `vm_promscrape_discovery_retries_total`
|
||||||
- `vm_promscrape_scrape_retries_total`
|
- `vm_promscrape_scrape_retries_total`
|
||||||
|
- `vm_promscrape_service_discovery_duration_seconds`
|
||||||
* BUGFIX: vmagent: reduce HTTP reconnection rate for scrape targets. Previously vmagent could errorneusly close HTTP keep-alive connections more frequently than needed.
|
* BUGFIX: vmagent: reduce HTTP reconnection rate for scrape targets. Previously vmagent could errorneusly close HTTP keep-alive connections more frequently than needed.
|
||||||
* BUGFIX: vmagent: retry scrape and service discovery requests when the remote server closes HTTP keep-alive connection. Previously `disable_keepalive: true` option could be used under `scrape_configs` section when working with such servers.
|
* BUGFIX: vmagent: retry scrape and service discovery requests when the remote server closes HTTP keep-alive connection. Previously `disable_keepalive: true` option could be used under `scrape_configs` section when working with such servers.
|
||||||
|
|
||||||
|
@ -180,6 +180,8 @@ func (scs *scrapeConfigs) add(name string, checkInterval time.Duration, getScrap
|
|||||||
checkInterval: checkInterval,
|
checkInterval: checkInterval,
|
||||||
cfgCh: make(chan *Config, 1),
|
cfgCh: make(chan *Config, 1),
|
||||||
stopCh: scs.stopCh,
|
stopCh: scs.stopCh,
|
||||||
|
|
||||||
|
discoveryDuration: metrics.GetOrCreateHistogram(fmt.Sprintf("vm_promscrape_service_discovery_duration_seconds{type=%q}", name)),
|
||||||
}
|
}
|
||||||
scs.wg.Add(1)
|
scs.wg.Add(1)
|
||||||
go func() {
|
go func() {
|
||||||
@ -208,6 +210,8 @@ type scrapeConfig struct {
|
|||||||
checkInterval time.Duration
|
checkInterval time.Duration
|
||||||
cfgCh chan *Config
|
cfgCh chan *Config
|
||||||
stopCh <-chan struct{}
|
stopCh <-chan struct{}
|
||||||
|
|
||||||
|
discoveryDuration *metrics.Histogram
|
||||||
}
|
}
|
||||||
|
|
||||||
func (scfg *scrapeConfig) run() {
|
func (scfg *scrapeConfig) run() {
|
||||||
@ -224,9 +228,11 @@ func (scfg *scrapeConfig) run() {
|
|||||||
cfg := <-scfg.cfgCh
|
cfg := <-scfg.cfgCh
|
||||||
var swsPrev []*ScrapeWork
|
var swsPrev []*ScrapeWork
|
||||||
updateScrapeWork := func(cfg *Config) {
|
updateScrapeWork := func(cfg *Config) {
|
||||||
|
startTime := time.Now()
|
||||||
sws := scfg.getScrapeWork(cfg, swsPrev)
|
sws := scfg.getScrapeWork(cfg, swsPrev)
|
||||||
sg.update(sws)
|
sg.update(sws)
|
||||||
swsPrev = sws
|
swsPrev = sws
|
||||||
|
scfg.discoveryDuration.UpdateDuration(startTime)
|
||||||
}
|
}
|
||||||
updateScrapeWork(cfg)
|
updateScrapeWork(cfg)
|
||||||
atomic.AddInt32(&PendingScrapeConfigs, -1)
|
atomic.AddInt32(&PendingScrapeConfigs, -1)
|
||||||
|
Loading…
Reference in New Issue
Block a user