Merge pull request #16084 from prometheus/targets-api-cleanup

Targets API: Remove superfluous if() and make variable names more intuitive
This commit is contained in:
Julius Volz 2025-02-27 15:08:30 +01:00 committed by GitHub
commit 29d8372a04
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1105,15 +1105,15 @@ func (api *API) scrapePools(r *http.Request) apiFuncResult {
}
func (api *API) targets(r *http.Request) apiFuncResult {
sortKeys := func(targets map[string][]*scrape.Target) ([]string, int) {
getSortedPools := func(targets map[string][]*scrape.Target) ([]string, int) {
var n int
keys := make([]string, 0, len(targets))
for k := range targets {
keys = append(keys, k)
n += len(targets[k])
pools := make([]string, 0, len(targets))
for p, t := range targets {
pools = append(pools, p)
n += len(t)
}
slices.Sort(keys)
return keys, n
slices.Sort(pools)
return pools, n
}
scrapePool := r.URL.Query().Get("scrapePool")
@ -1125,14 +1125,14 @@ func (api *API) targets(r *http.Request) apiFuncResult {
if showActive {
targetsActive := api.targetRetriever(r.Context()).TargetsActive()
activeKeys, numTargets := sortKeys(targetsActive)
activePools, numTargets := getSortedPools(targetsActive)
res.ActiveTargets = make([]*Target, 0, numTargets)
for _, key := range activeKeys {
if scrapePool != "" && key != scrapePool {
for _, pool := range activePools {
if scrapePool != "" && pool != scrapePool {
continue
}
for _, target := range targetsActive[key] {
for _, target := range targetsActive[pool] {
lastErrStr := ""
lastErr := target.LastError()
if lastErr != nil {
@ -1144,7 +1144,7 @@ func (api *API) targets(r *http.Request) apiFuncResult {
res.ActiveTargets = append(res.ActiveTargets, &Target{
DiscoveredLabels: target.DiscoveredLabels(builder),
Labels: target.Labels(builder),
ScrapePool: key,
ScrapePool: pool,
ScrapeURL: target.URL().String(),
GlobalURL: globalURL.String(),
LastError: func() string {
@ -1170,16 +1170,15 @@ func (api *API) targets(r *http.Request) apiFuncResult {
}
if showDropped {
res.DroppedTargetCounts = api.targetRetriever(r.Context()).TargetsDroppedCounts()
}
if showDropped {
targetsDropped := api.targetRetriever(r.Context()).TargetsDropped()
droppedKeys, numTargets := sortKeys(targetsDropped)
droppedPools, numTargets := getSortedPools(targetsDropped)
res.DroppedTargets = make([]*DroppedTarget, 0, numTargets)
for _, key := range droppedKeys {
if scrapePool != "" && key != scrapePool {
for _, pool := range droppedPools {
if scrapePool != "" && pool != scrapePool {
continue
}
for _, target := range targetsDropped[key] {
for _, target := range targetsDropped[pool] {
res.DroppedTargets = append(res.DroppedTargets, &DroppedTarget{
DiscoveredLabels: target.DiscoveredLabels(builder),
})