mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
Send empty targetgroup if nothing discovered
Signed-off-by: Nick Triller <nicktriller@gmail.com>
This commit is contained in:
parent
f3b2d2a998
commit
fddf4918c0
|
@ -426,6 +426,15 @@ func (d *Discovery) watchServices(ctx context.Context, ch chan<- []*targetgroup.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Send targetgroup with no targets if nothing was discovered.
|
||||||
|
if len(services) == 0 {
|
||||||
|
select {
|
||||||
|
case <-ctx.Done():
|
||||||
|
return
|
||||||
|
case ch <- []*targetgroup.Group{{}}:
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// consulService contains data belonging to the same service.
|
// consulService contains data belonging to the same service.
|
||||||
|
|
|
@ -298,6 +298,23 @@ func TestAllServices(t *testing.T) {
|
||||||
<-ch
|
<-ch
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// targetgroup with no targets is emitted if no services were discovered.
|
||||||
|
func TestNoTargets(t *testing.T) {
|
||||||
|
stub, config := newServer(t)
|
||||||
|
defer stub.Close()
|
||||||
|
config.ServiceTags = []string{"missing"}
|
||||||
|
|
||||||
|
d := newDiscovery(t, config)
|
||||||
|
|
||||||
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
|
ch := make(chan []*targetgroup.Group)
|
||||||
|
go d.Run(ctx, ch)
|
||||||
|
|
||||||
|
targets := (<-ch)[0].Targets
|
||||||
|
require.Equal(t, 0, len(targets))
|
||||||
|
cancel()
|
||||||
|
}
|
||||||
|
|
||||||
// Watch only the test service.
|
// Watch only the test service.
|
||||||
func TestOneService(t *testing.T) {
|
func TestOneService(t *testing.T) {
|
||||||
stub, config := newServer(t)
|
stub, config := newServer(t)
|
||||||
|
|
Loading…
Reference in a new issue