From 9487e2d128915cfeeb2e1e3383a02262c311f31d Mon Sep 17 00:00:00 2001 From: weilaaa <35529370+weilaaa@users.noreply.github.com> Date: Wed, 6 Sep 2023 14:17:17 +0800 Subject: [PATCH] add switch for pprof (#46) * add switch for pprof * add changelog v1.3.1 --- CHANGELOG.md | 7 +++++++ main.go | 20 +++++++++++--------- utils/env.go | 8 ++++++++ 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4b3a4c..92484da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# v1.3.1 +2023-09-05 +## Feature +- add switch for pprof [#46](https://github.com/kubecube-io/kubecube-webconsole/pull/39) +## Dependency: +- kubecube 1.4.0+ + # v1.3.0 2023-03-16 ## Feature diff --git a/main.go b/main.go index d965db2..e5cbd1b 100644 --- a/main.go +++ b/main.go @@ -20,7 +20,6 @@ import ( "context" "flag" "fmt" - consolelog "kubecube-webconsole/clog" "net/http" "os" "time" @@ -30,10 +29,11 @@ import ( "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/leaderelection" "k8s.io/client-go/tools/leaderelection/resourcelock" + consolelog "kubecube-webconsole/clog" + "kubecube-webconsole/handler" + "kubecube-webconsole/utils" _ "net/http/pprof" ctrl "sigs.k8s.io/controller-runtime" - - "kubecube-webconsole/handler" ) // leader flag @@ -109,10 +109,12 @@ func runAPIServer() { response.WriteHeader(statusCode) }) - go func() { - err := http.ListenAndServe(fmt.Sprintf(":%d", *handler.ServerPort), nil) - if err != nil { - clog.Fatal("ListenAndServe failed,error msg: %s", err.Error()) - } - }() + if utils.EnablePprof() { + go func() { + err := http.ListenAndServe(fmt.Sprintf(":%d", *handler.ServerPort), nil) + if err != nil { + clog.Fatal("ListenAndServe failed,error msg: %s", err.Error()) + } + }() + } } diff --git a/utils/env.go b/utils/env.go index e5ee81c..5d59cdb 100644 --- a/utils/env.go +++ b/utils/env.go @@ -29,3 +29,11 @@ func GetKubeCubeSvc() string { func getJwtSecret() string { return os.Getenv("JWT_SECRET") } + +func EnablePprof() bool { + v := os.Getenv("ENABLE_PPROF") + if v == "" { + return false + } + return v == "true" +}