From a53b3183287d13419e66098910dbf2c582d590b8 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Sat, 18 May 2024 17:20:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=80=A7=E8=83=BD=E5=88=86=E6=9E=90?= =?UTF-8?q?=E7=9B=91=E6=8E=A7prometheus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- restagent/restagent.go | 21 ++++++++------------- src/app.go | 9 +++++++++ 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/restagent/restagent.go b/restagent/restagent.go index c1498b0b..ec8afd3c 100644 --- a/restagent/restagent.go +++ b/restagent/restagent.go @@ -24,9 +24,7 @@ import ( "be.ems/restagent/config" "be.ems/src" "be.ems/src/framework/middleware" - "github.com/chenjiandongx/ginprom" "github.com/gin-gonic/gin" - "github.com/prometheus/client_golang/prometheus/promhttp" "golang.org/x/net/http2" "golang.org/x/net/http2/h2c" ) @@ -195,6 +193,14 @@ func main() { app := src.AppEngine() conf := config.GetYamlConfig() + + if conf.Pprof.Enabled { + // 启用pprof HTTP服务 + go func() { + fmt.Println(http.ListenAndServe(conf.Pprof.Addr, nil)) + }() + } + log.InitLogger(conf.Logger.File, conf.Logger.Duration, conf.Logger.Count, "omc:restagent", config.GetLogLevel()) fmt.Printf("OMC restagent version: %s\n", global.Version) log.Infof("========================= OMC restagent startup =========================") @@ -245,17 +251,6 @@ func main() { // AMF上报的UE事件, 无前缀,暂时特殊处理 app.POST(event.UriUEEvent, event.PostUEEventFromAMF) - // 性能分析监控 - if conf.Pprof.Enabled { - app.Use(ginprom.PromMiddleware(nil)) - app.GET("/metrics", ginprom.PromHandler(promhttp.Handler())) - - // 启用pprof HTTP服务 - go func() { - fmt.Println(http.ListenAndServe(conf.Pprof.Addr, nil)) - }() - } - var listenLocalhost bool = false for _, rest := range conf.Rest { // ipv4 goroutines diff --git a/src/app.go b/src/app.go index b6b73297..ff2abb3f 100644 --- a/src/app.go +++ b/src/app.go @@ -18,7 +18,9 @@ import ( "be.ems/src/modules/trace" "be.ems/src/modules/ws" + "github.com/chenjiandongx/ginprom" "github.com/gin-gonic/gin" + "github.com/prometheus/client_golang/prometheus/promhttp" ) //go:embed assets/* @@ -28,6 +30,13 @@ var assetsDir embed.FS func AppEngine() *gin.Engine { app := initAppEngine() + // TODO 不建议在主分支中加入 + // 性能分析监控 + if promEnabled := config.Get("pprof.enabled"); promEnabled != nil && promEnabled.(bool) { + app.Use(ginprom.PromMiddleware(nil)) + app.GET("/metrics", ginprom.PromHandler(promhttp.Handler())) + } + // 初始全局默认 initDefeat(app)