1package utils 2 3import ( 4 "github.com/sirupsen/logrus" 5 "net" 6 "net/http" 7 _ "net/http/pprof" 8 "strconv" 9) 10 11func EnablePprof() { 12 var cfg struct { 13 Enable string `key:"enable" default:"true"` 14 Port string `key:"port" default:"80"` 15 } 16 ParseFromConfigFile("pprof", &cfg) 17 if enable, _ := strconv.ParseBool(cfg.Enable); !enable { 18 return 19 } 20 server := &http.Server{Addr: net.JoinHostPort("localhost", cfg.Port)} 21 go func() { 22 if err := server.ListenAndServe(); err != nil { 23 logrus.Errorf("server.ListenAndServe returns error: %v", err) 24 } 25 }() 26} 27