Browse Source

web/api: make target and alertmanager api responses consistent

pull/2338/head
Frederic Branczyk 8 years ago
parent
commit
bd92571bdd
No known key found for this signature in database
GPG Key ID: CA14788B1E48B256
  1. 12
      web/api/v1/api.go
  2. 14
      web/api/v1/api_test.go

12
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(),

14
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",
},
},
},
}, {

Loading…
Cancel
Save