diff --git a/atune/server/go.mod b/atune/server/go.mod index d2b859c9611d3d65e689c89aac08ca7086fa7daf..f14ac3807f5486c594c6196a1b6ae601511512d2 100644 --- a/atune/server/go.mod +++ b/atune/server/go.mod @@ -3,7 +3,7 @@ module openeuler.org/PilotGo/atune-plugin go 1.18 require ( - gitee.com/openeuler/PilotGo/sdk v0.0.0-20231130033012-9175e9682d48 + gitee.com/openeuler/PilotGo/sdk v0.0.0-20231218035738-e5355d2a2d29 github.com/gin-gonic/gin v1.9.1 gopkg.in/yaml.v2 v2.4.0 gorm.io/driver/mysql v1.5.1 diff --git a/atune/server/go.sum b/atune/server/go.sum index 9bc5d54c43cb153584e2dc919511489c2406c934..4356f6d90db42f3ce9c2a26ca3b877983dfa4c60 100644 --- a/atune/server/go.sum +++ b/atune/server/go.sum @@ -1,7 +1,5 @@ -gitee.com/openeuler/PilotGo/sdk v0.0.0-20231024072151-019ddee0ae4b h1:OfObzXpfq6qAEcH9tlzqIYUjfZe4mKR37DgCMpmzYO0= -gitee.com/openeuler/PilotGo/sdk v0.0.0-20231024072151-019ddee0ae4b/go.mod h1:zEVmY3l48/CvR2kIM3DJpD/jWTG1qkOxRoHJii/D0us= -gitee.com/openeuler/PilotGo/sdk v0.0.0-20231130033012-9175e9682d48 h1:I8Sko0e1yoimn3A2G8r1mfTVxMxaOYmkpbSVndnx2Rg= -gitee.com/openeuler/PilotGo/sdk v0.0.0-20231130033012-9175e9682d48/go.mod h1:zEVmY3l48/CvR2kIM3DJpD/jWTG1qkOxRoHJii/D0us= +gitee.com/openeuler/PilotGo/sdk v0.0.0-20231218035738-e5355d2a2d29 h1:8BkdZwuBvt8u+iFClylVWahrDox6n+q1+pf27jd5JNA= +gitee.com/openeuler/PilotGo/sdk v0.0.0-20231218035738-e5355d2a2d29/go.mod h1:zEVmY3l48/CvR2kIM3DJpD/jWTG1qkOxRoHJii/D0us= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= diff --git a/atune/server/vendor/gitee.com/openeuler/PilotGo/sdk/logger/logger.go b/atune/server/vendor/gitee.com/openeuler/PilotGo/sdk/logger/logger.go index e9cb79690eeeb00f77ee41a067d1609001485c55..5423ed3237eea3f560a9bab17abb5a055713cc4b 100644 --- a/atune/server/vendor/gitee.com/openeuler/PilotGo/sdk/logger/logger.go +++ b/atune/server/vendor/gitee.com/openeuler/PilotGo/sdk/logger/logger.go @@ -16,6 +16,7 @@ package logger import ( "errors" + "io" "os" "time" @@ -92,6 +93,11 @@ func Init(conf *LogOpts) error { return nil } +// 不输出日志 +func Discard() { + logrus.SetOutput(io.Discard) +} + func Trace(format string, args ...interface{}) { logrus.Tracef(format, args...) } diff --git a/atune/server/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/client.go b/atune/server/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/client.go index c35c46054a03d0853a519bd3ed67893c24133717..850f0d5c0b4bdd48857bcd15127a45c3d2994398 100644 --- a/atune/server/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/client.go +++ b/atune/server/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/client.go @@ -95,6 +95,7 @@ func (client *Client) RegisterHandlers(router *gin.Engine) { // TODO: start command result process service client.startEventProcessor() client.startCommandResultProcessor() + client.SendHeartbeat() } func (client *Client) OnGetTags(callback GetTagsCallback) { diff --git a/atune/server/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/heartbeat.go b/atune/server/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/heartbeat.go new file mode 100644 index 0000000000000000000000000000000000000000..43aacc4a0f7bb9df812b5f67d4b9c7cb447c4fe4 --- /dev/null +++ b/atune/server/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/heartbeat.go @@ -0,0 +1,53 @@ +package client + +import ( + "encoding/json" + "fmt" + "net/http" + "time" + + "gitee.com/openeuler/PilotGo/sdk/logger" + "gitee.com/openeuler/PilotGo/sdk/utils/httputils" +) + +var HeartbeatInterval = 30 * time.Second + +func (client *Client) SendHeartbeat() { + clientID := client.PluginInfo.Url + "+" + client.PluginInfo.Name + go func() { + for { + err := client.sendHeartbeat(clientID) + if err != nil { + logger.Error("Heartbeat failed:%v", err) + } + time.Sleep(HeartbeatInterval) + } + }() +} + +func (client *Client) sendHeartbeat(clientID string) error { + p := &struct { + ClientID string `json:"clientID"` + }{ + ClientID: clientID, + } + + ServerUrl := "http://" + client.Server() + "/api/v1/pluginapi/heartbeat" + resp, err := httputils.Post(ServerUrl, &httputils.Params{ + Body: p, + }) + if err != nil { + return err + } + res := &struct { + Code int `json:"code"` + Message string `json:"msg"` + }{} + if err := json.Unmarshal(resp.Body, res); err != nil { + return err + } + if res.Code != http.StatusOK { + return fmt.Errorf("heartbeat failed with status: %v", res.Code) + } + return nil +} diff --git a/atune/server/vendor/modules.txt b/atune/server/vendor/modules.txt index 5d4beaed2c90fe1b236c31bd92a659f985de6ad7..4f693b8039d405469268e2163b7e807780ae9bbe 100644 --- a/atune/server/vendor/modules.txt +++ b/atune/server/vendor/modules.txt @@ -1,4 +1,4 @@ -# gitee.com/openeuler/PilotGo/sdk v0.0.0-20231130033012-9175e9682d48 +# gitee.com/openeuler/PilotGo/sdk v0.0.0-20231218035738-e5355d2a2d29 ## explicit; go 1.17 gitee.com/openeuler/PilotGo/sdk/common gitee.com/openeuler/PilotGo/sdk/logger