From 72b948d5d4f1bfb7bb835040a4cc41f75fb2fb89 Mon Sep 17 00:00:00 2001 From: draven <282864784@qq.com> Date: Wed, 6 Apr 2022 15:59:32 +0800 Subject: [PATCH] feature: add XXX:8081/jobmanager/metrics?get=XXXXX method to JobManagerMetrics function --- job.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/job.go b/job.go index a59d2a4..c31450a 100644 --- a/job.go +++ b/job.go @@ -33,14 +33,15 @@ func (c *Client) JobManagerConfig() ([]kv, error) { return r, err } -type metric struct { - ID string `json:"id"` +type metricValue struct { + ID string `json:"id"` + Value string `json:"value,omitempty"` } // JobManagerMetrics provides access to job manager // metrics. -func (c *Client) JobManagerMetrics() ([]metric, error) { - var r []metric +func (c *Client) JobManagerMetrics(ids []string) ([]metricValue, error) { + var r []metricValue req, err := http.NewRequest( "GET", c.url("/jobmanager/metrics"), @@ -49,6 +50,12 @@ func (c *Client) JobManagerMetrics() ([]metric, error) { if err != nil { return r, err } + q := req.URL.Query() + if len(ids) > 0 { + q.Add("get", strings.Join(ids, ",")) + } + req.URL.RawQuery = q.Encode() + b, err := c.client.Do(req) if err != nil { return r, err