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  }