• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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