Explorar el Código

Add 'pprof' tag for enabling debugging

Justin Nuß hace 10 años
padre
commit
a481672c5c
Se han modificado 4 ficheros con 31 adiciones y 1 borrados
  1. 3 0
      cmd/web.go
  2. 1 1
      models/repo.go
  3. 16 0
      routers/debug/debug.go
  4. 11 0
      routers/debug/ignored.go

+ 3 - 0
cmd/web.go

@@ -26,6 +26,7 @@ import (
 	"github.com/gogits/gogs/routers"
 	"github.com/gogits/gogs/routers/admin"
 	"github.com/gogits/gogs/routers/api/v1"
+	"github.com/gogits/gogs/routers/debug"
 	"github.com/gogits/gogs/routers/dev"
 	"github.com/gogits/gogs/routers/org"
 	"github.com/gogits/gogs/routers/repo"
@@ -205,6 +206,8 @@ func runWeb(*cli.Context) {
 		r.Post("/:org/settings/delete", org.DeletePost)
 	}, reqSignIn)
 
+	debug.RegisterRoutes(m)
+
 	m.Group("/:username/:reponame", func(r martini.Router) {
 		r.Get("/settings", repo.Setting)
 		r.Post("/settings", bindIgnErr(auth.RepoSettingForm{}), repo.SettingPost)

+ 1 - 1
models/repo.go

@@ -158,7 +158,7 @@ func IsRepositoryExist(u *User, repoName string) (bool, error) {
 }
 
 var (
-	illegalEquals  = []string{"raw", "install", "api", "avatar", "user", "org", "help", "stars", "issues", "pulls", "commits", "repo", "template", "admin", "new"}
+	illegalEquals  = []string{"debug", "raw", "install", "api", "avatar", "user", "org", "help", "stars", "issues", "pulls", "commits", "repo", "template", "admin", "new"}
 	illegalSuffixs = []string{".git"}
 )
 

+ 16 - 0
routers/debug/debug.go

@@ -0,0 +1,16 @@
+// +build pprof
+
+package debug
+
+import (
+	"net/http/pprof"
+
+	"github.com/go-martini/martini"
+)
+
+func RegisterRoutes(r martini.Router) {
+	r.Get("/debug/pprof/cmdline", pprof.Cmdline)
+	r.Get("/debug/pprof/profile", pprof.Profile)
+	r.Get("/debug/pprof/symbol", pprof.Symbol)
+	r.Get("/debug/pprof/**", pprof.Index)
+}

+ 11 - 0
routers/debug/ignored.go

@@ -0,0 +1,11 @@
+// +build !pprof
+
+package debug
+
+import (
+	"github.com/go-martini/martini"
+)
+
+func RegisterRoutes(r martini.Router) {
+	// do nothing
+}