From 57f23d303f35768aa6a4de2797991d18d679644a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Carvalho?= Date: Fri, 31 Mar 2017 21:29:30 -0300 Subject: [PATCH] api: returns specific type for label values --- api/prometheus/api.go | 10 +++++----- api/prometheus/api_test.go | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/api/prometheus/api.go b/api/prometheus/api.go index 9a5cc88..01d857d 100644 --- a/api/prometheus/api.go +++ b/api/prometheus/api.go @@ -283,7 +283,7 @@ type QueryAPI interface { // QueryRange performs a query for the given range. QueryRange(ctx context.Context, query string, r Range) (model.Value, error) // QueryLabelValues performs a query for the values of the given label. - LabelValues(ctx context.Context, label string) ([]string, error) + LabelValues(ctx context.Context, label string) (model.LabelValues, error) } // NewQueryAPI returns a new QueryAPI for the client. @@ -355,7 +355,7 @@ func (h *httpQueryAPI) QueryRange(ctx context.Context, query string, r Range) (m return model.Value(qres.v), err } -func (h *httpQueryAPI) LabelValues(ctx context.Context, label string) ([]string, error) { +func (h *httpQueryAPI) LabelValues(ctx context.Context, label string) (model.LabelValues, error) { u := h.client.url(epLabelValues, map[string]string{"name": label}) req, err := http.NewRequest(http.MethodGet, u.String(), nil) if err != nil { @@ -365,7 +365,7 @@ func (h *httpQueryAPI) LabelValues(ctx context.Context, label string) ([]string, if err != nil { return nil, err } - var values []string - err = json.Unmarshal(body, &values) - return values, err + var labelValues model.LabelValues + err = json.Unmarshal(body, &labelValues) + return labelValues, err } diff --git a/api/prometheus/api_test.go b/api/prometheus/api_test.go index 2d6c40b..f7ffc7c 100644 --- a/api/prometheus/api_test.go +++ b/api/prometheus/api_test.go @@ -438,7 +438,7 @@ func TestAPIs(t *testing.T) { inRes: []string{"val1", "val2"}, reqMethod: "GET", reqPath: "/api/v1/label/mylabel/values", - res: []string{"val1", "val2"}, + res: model.LabelValues{"val1", "val2"}, }, {