From 4edfc53d7b442e738249ab67386672adfad51e9d Mon Sep 17 00:00:00 2001 From: Wangjunqi123 Date: Tue, 13 Jun 2023 15:10:19 +0800 Subject: [PATCH] add (o *opsclient) querymetric() in gala-ops plugin --- gala-ops/server/httphandler/component.go | 33 ++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gala-ops/server/httphandler/component.go b/gala-ops/server/httphandler/component.go index 504c0441..6d022f96 100644 --- a/gala-ops/server/httphandler/component.go +++ b/gala-ops/server/httphandler/component.go @@ -1,8 +1,13 @@ package httphandler import ( + "encoding/json" + "io" + "net/http" + "net/url" "time" + "gitee.com/openeuler/PilotGo-plugins/sdk/logger" "gitee.com/openeuler/PilotGo-plugins/sdk/plugin/client" ) @@ -22,3 +27,31 @@ func (o *Opsclient) UnixTimeStartandEnd(timerange time.Duration) (int64, int64) return timestamp, now.Unix() } +func (o *Opsclient) QueryMetric(endpoint string, querymethod string, param string) (interface{}, error) { + ustr := endpoint + "/api/v1/" + querymethod + param + u, err := url.Parse(ustr) + if err != nil { + return nil, err + } + u.RawQuery = u.Query().Encode() + + httpClient := &http.Client{Timeout: 10 * time.Second} + resp, err := httpClient.Get(u.String()) + if err != nil { + return nil, err + } + bs, err := io.ReadAll(resp.Body) + if err != nil { + return nil, err + } + + defer resp.Body.Close() + + var data interface{} + + err = json.Unmarshal(bs, &data) + if err != nil { + logger.Error("unmarshal cpu usage rate error:%s", err.Error()) + } + return data, nil +} -- Gitee