gitee.com/woood2/luca@v1.0.4/internal/status/ginpprof.go (about) 1 package status 2 3 import ( 4 "gitee.com/woood2/luca/internal/conf" 5 "github.com/gin-contrib/pprof" 6 "github.com/gin-gonic/gin" 7 "log" 8 "net/http" 9 "time" 10 ) 11 12 func Pprof(cnf *conf.Pprof, env string, addr string) { 13 time.Sleep(100 * time.Millisecond) //启动日志错开打印 14 if conf.IsPro(env) { 15 gin.SetMode(gin.ReleaseMode) 16 } 17 r := gin.New() 18 r.Use(gin.Logger()) 19 admin := r.Group("/admin", gin.BasicAuth(gin.Accounts{ 20 cnf.User: cnf.Pwd, 21 })) 22 pprof.RouteRegister(admin, "pprof") 23 srv := &http.Server{ 24 Addr: addr, 25 Handler: r, 26 } 27 if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed { 28 log.Panicf("listen: %s\n", err) 29 } 30 }