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