A wrapper for gin to mount net/http/pprof routes quickly.
ginpprof was created before gin-contrib/pprof, and many existing services still rely on it.
This repository is maintained to keep those users on a stable and lightweight API.
go get github.com/DeanThompson/ginpprof@latestpackage main
import (
"github.com/gin-gonic/gin"
"github.com/DeanThompson/ginpprof"
)
func main() {
router := gin.Default()
router.GET("/ping", func(c *gin.Context) {
c.String(200, "pong")
})
// Mount default pprof routes under /debug/pprof
ginpprof.Wrap(router)
// Or mount via group:
// group := router.Group("/debug/pprof")
// ginpprof.WrapGroup(group)
router.Run(":8080")
}GET /debug/pprof/GET /debug/pprof/heapGET /debug/pprof/goroutineGET /debug/pprof/allocsGET /debug/pprof/blockGET /debug/pprof/threadcreateGET /debug/pprof/cmdlineGET /debug/pprof/profileGET /debug/pprof/symbolPOST /debug/pprof/symbolGET /debug/pprof/traceGET /debug/pprof/mutex
pprof endpoints expose runtime internals. For production:
- protect routes with auth middleware,
- restrict by network/IP,
- or expose only in internal environments.
go test ./...