xref: /developtools/integration_verification/tools/fotff/utils/pprof.go (revision ba991379)
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /developtools/integration_verification/tools/fotff/utils/
1ba991379Sopenharmony_cipackage utils
2ba991379Sopenharmony_ci
3ba991379Sopenharmony_ciimport (
4ba991379Sopenharmony_ci	"github.com/sirupsen/logrus"
5ba991379Sopenharmony_ci	"net"
6ba991379Sopenharmony_ci	"net/http"
7ba991379Sopenharmony_ci	_ "net/http/pprof"
8ba991379Sopenharmony_ci	"strconv"
9ba991379Sopenharmony_ci)
10ba991379Sopenharmony_ci
11ba991379Sopenharmony_cifunc EnablePprof() {
12ba991379Sopenharmony_ci	var cfg struct {
13ba991379Sopenharmony_ci		Enable string `key:"enable" default:"true"`
14ba991379Sopenharmony_ci		Port   string `key:"port" default:"80"`
15ba991379Sopenharmony_ci	}
16ba991379Sopenharmony_ci	ParseFromConfigFile("pprof", &cfg)
17ba991379Sopenharmony_ci	if enable, _ := strconv.ParseBool(cfg.Enable); !enable {
18ba991379Sopenharmony_ci		return
19ba991379Sopenharmony_ci	}
20ba991379Sopenharmony_ci	server := &http.Server{Addr: net.JoinHostPort("localhost", cfg.Port)}
21ba991379Sopenharmony_ci	go func() {
22ba991379Sopenharmony_ci		if err := server.ListenAndServe(); err != nil {
23ba991379Sopenharmony_ci			logrus.Errorf("server.ListenAndServe returns error: %v", err)
24ba991379Sopenharmony_ci		}
25ba991379Sopenharmony_ci	}()
26ba991379Sopenharmony_ci}
27

Indexes created Thu Nov 07 10:32:03 CST 2024