mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
make targets active parallel (#5740)
Signed-off-by: yeya24 <yb532204897@gmail.com>
This commit is contained in:
parent
7d36178731
commit
b7bb278e95
|
@ -213,7 +213,6 @@ func (m *Manager) TargetsAll() map[string][]*Target {
|
||||||
targets := make(map[string][]*Target, len(m.scrapePools))
|
targets := make(map[string][]*Target, len(m.scrapePools))
|
||||||
for tset, sp := range m.scrapePools {
|
for tset, sp := range m.scrapePools {
|
||||||
targets[tset] = append(sp.ActiveTargets(), sp.DroppedTargets()...)
|
targets[tset] = append(sp.ActiveTargets(), sp.DroppedTargets()...)
|
||||||
|
|
||||||
}
|
}
|
||||||
return targets
|
return targets
|
||||||
}
|
}
|
||||||
|
@ -223,10 +222,24 @@ func (m *Manager) TargetsActive() map[string][]*Target {
|
||||||
m.mtxScrape.Lock()
|
m.mtxScrape.Lock()
|
||||||
defer m.mtxScrape.Unlock()
|
defer m.mtxScrape.Unlock()
|
||||||
|
|
||||||
|
var (
|
||||||
|
wg sync.WaitGroup
|
||||||
|
mtx sync.Mutex
|
||||||
|
)
|
||||||
|
|
||||||
targets := make(map[string][]*Target, len(m.scrapePools))
|
targets := make(map[string][]*Target, len(m.scrapePools))
|
||||||
|
wg.Add(len(m.scrapePools))
|
||||||
for tset, sp := range m.scrapePools {
|
for tset, sp := range m.scrapePools {
|
||||||
targets[tset] = sp.ActiveTargets()
|
// Running in parallel limits the blocking time of scrapePool to scrape
|
||||||
|
// interval when there's an update from SD.
|
||||||
|
go func(tset string, sp *scrapePool) {
|
||||||
|
mtx.Lock()
|
||||||
|
targets[tset] = sp.ActiveTargets()
|
||||||
|
mtx.Unlock()
|
||||||
|
wg.Done()
|
||||||
|
}(tset, sp)
|
||||||
}
|
}
|
||||||
|
wg.Wait()
|
||||||
return targets
|
return targets
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ var (
|
||||||
targetScrapePools = prometheus.NewCounter(
|
targetScrapePools = prometheus.NewCounter(
|
||||||
prometheus.CounterOpts{
|
prometheus.CounterOpts{
|
||||||
Name: "prometheus_target_scrape_pools_total",
|
Name: "prometheus_target_scrape_pools_total",
|
||||||
Help: "Total number of scrape pool creation atttempts.",
|
Help: "Total number of scrape pool creation attempts.",
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
targetScrapePoolsFailed = prometheus.NewCounter(
|
targetScrapePoolsFailed = prometheus.NewCounter(
|
||||||
|
|
Loading…
Reference in a new issue