fixed disappeared target groups in http_sd #9019

Signed-off-by: servak <fservak@gmail.com>
pull/9020/head
servak 3 years ago
parent 6f37d2b398
commit 3ab5fe9d7c

@ -104,6 +104,7 @@ type Discovery struct {
url string
client *http.Client
refreshInterval time.Duration
tgLastLength int
}
// NewDiscovery returns a new HTTP discovery for the given config.
@ -183,6 +184,15 @@ func (d *Discovery) refresh(ctx context.Context) ([]*targetgroup.Group, error) {
tg.Labels[httpSDURLLabel] = model.LabelValue(d.url)
}
// Generate empty updates for sources that disappeared.
l := len(targetGroups)
if d.tgLastLength > l {
for i := l; i < d.tgLastLength; i++ {
targetGroups = append(targetGroups, &targetgroup.Group{Source: urlSource(d.url, i)})
}
}
d.tgLastLength = l
return targetGroups, nil
}

Loading…
Cancel
Save