From d8396c2b461e895e42df17aeafe8b82761880be7 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 20 Jun 2023 19:08:04 +0800 Subject: [PATCH] add ppoff --- cmd/api/main.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/cmd/api/main.go b/cmd/api/main.go index acfa03686..260642a48 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -5,11 +5,16 @@ import ( "context" "fmt" "net" + "os" + "runtime" "strconv" "time" "gopkg.in/yaml.v3" + "net/http" + _ "net/http/pprof" + "github.com/OpenIMSDK/Open-IM-Server/internal/api" "github.com/OpenIMSDK/Open-IM-Server/pkg/common/cmd" "github.com/OpenIMSDK/Open-IM-Server/pkg/common/config" @@ -29,6 +34,16 @@ func main() { } } +func startPprof() { + runtime.GOMAXPROCS(1) + runtime.SetMutexProfileFraction(1) + runtime.SetBlockProfileRate(1) + if err := http.ListenAndServe(":6060", nil); err != nil { + panic(err) + } + os.Exit(0) +} + func run(port int) error { if port == 0 { port = config.Config.Api.GinPort[0] @@ -66,6 +81,7 @@ func run(port int) error { } fmt.Println("start api server, address: ", address, ", OpenIM version: ", config.Version) log.ZInfo(context.Background(), "start server success", "address", address, "version", config.Version) + go startPprof() err = router.Run(address) if err != nil { log.ZError(context.Background(), "api run failed ", err, "address", address)