diff --git a/web/api/v1/api.go b/web/api/v1/api.go index 907aae549..9a2e2361b 100644 --- a/web/api/v1/api.go +++ b/web/api/v1/api.go @@ -351,16 +351,20 @@ type Target struct { // Any labels that are added to this target and its metrics. Labels model.LabelSet `json:"labels"` - ScrapeUrl string `json:"scrapeUrl"` + ScrapeURL string `json:"scrapeUrl"` LastError string `json:"lastError"` LastScrape time.Time `json:"lastScrape"` Health retrieval.TargetHealth `json:"health"` } +type TargetDiscovery struct { + ActiveTargets []*Target `json:"activeTargets"` +} + func (api *API) targets(r *http.Request) (interface{}, *apiError) { targets := api.targetRetriever.Targets() - res := make([]*Target, len(targets)) + res := &TargetDiscovery{ActiveTargets: make([]*Target, len(targets))} for i, t := range targets { lastErrStr := "" @@ -369,10 +373,10 @@ func (api *API) targets(r *http.Request) (interface{}, *apiError) { lastErrStr = lastErr.Error() } - res[i] = &Target{ + res.ActiveTargets[i] = &Target{ DiscoveredLabels: t.DiscoveredLabels(), Labels: t.Labels(), - ScrapeUrl: t.URL().String(), + ScrapeURL: t.URL().String(), LastError: lastErrStr, LastScrape: t.LastScrape(), Health: t.Health(), diff --git a/web/api/v1/api_test.go b/web/api/v1/api_test.go index f7d46895b..07f371069 100644 --- a/web/api/v1/api_test.go +++ b/web/api/v1/api_test.go @@ -440,12 +440,14 @@ func TestEndpoints(t *testing.T) { }{2}, }, { endpoint: api.targets, - response: []*Target{ - &Target{ - DiscoveredLabels: model.LabelSet{}, - Labels: model.LabelSet{}, - ScrapeUrl: "http://example.com:8080/metrics", - Health: "unknown", + response: &TargetDiscovery{ + ActiveTargets: []*Target{ + &Target{ + DiscoveredLabels: model.LabelSet{}, + Labels: model.LabelSet{}, + ScrapeURL: "http://example.com:8080/metrics", + Health: "unknown", + }, }, }, }, {