|
|
@ -351,16 +351,20 @@ type Target struct {
|
|
|
|
// Any labels that are added to this target and its metrics.
|
|
|
|
// Any labels that are added to this target and its metrics.
|
|
|
|
Labels model.LabelSet `json:"labels"`
|
|
|
|
Labels model.LabelSet `json:"labels"`
|
|
|
|
|
|
|
|
|
|
|
|
ScrapeUrl string `json:"scrapeUrl"`
|
|
|
|
ScrapeURL string `json:"scrapeUrl"`
|
|
|
|
|
|
|
|
|
|
|
|
LastError string `json:"lastError"`
|
|
|
|
LastError string `json:"lastError"`
|
|
|
|
LastScrape time.Time `json:"lastScrape"`
|
|
|
|
LastScrape time.Time `json:"lastScrape"`
|
|
|
|
Health retrieval.TargetHealth `json:"health"`
|
|
|
|
Health retrieval.TargetHealth `json:"health"`
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
type TargetDiscovery struct {
|
|
|
|
|
|
|
|
ActiveTargets []*Target `json:"activeTargets"`
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func (api *API) targets(r *http.Request) (interface{}, *apiError) {
|
|
|
|
func (api *API) targets(r *http.Request) (interface{}, *apiError) {
|
|
|
|
targets := api.targetRetriever.Targets()
|
|
|
|
targets := api.targetRetriever.Targets()
|
|
|
|
res := make([]*Target, len(targets))
|
|
|
|
res := &TargetDiscovery{ActiveTargets: make([]*Target, len(targets))}
|
|
|
|
|
|
|
|
|
|
|
|
for i, t := range targets {
|
|
|
|
for i, t := range targets {
|
|
|
|
lastErrStr := ""
|
|
|
|
lastErrStr := ""
|
|
|
@ -369,10 +373,10 @@ func (api *API) targets(r *http.Request) (interface{}, *apiError) {
|
|
|
|
lastErrStr = lastErr.Error()
|
|
|
|
lastErrStr = lastErr.Error()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
res[i] = &Target{
|
|
|
|
res.ActiveTargets[i] = &Target{
|
|
|
|
DiscoveredLabels: t.DiscoveredLabels(),
|
|
|
|
DiscoveredLabels: t.DiscoveredLabels(),
|
|
|
|
Labels: t.Labels(),
|
|
|
|
Labels: t.Labels(),
|
|
|
|
ScrapeUrl: t.URL().String(),
|
|
|
|
ScrapeURL: t.URL().String(),
|
|
|
|
LastError: lastErrStr,
|
|
|
|
LastError: lastErrStr,
|
|
|
|
LastScrape: t.LastScrape(),
|
|
|
|
LastScrape: t.LastScrape(),
|
|
|
|
Health: t.Health(),
|
|
|
|
Health: t.Health(),
|
|
|
|