25 lines
		
	
	
		
			683 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			683 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package debug
 | 
						|
 | 
						|
import (
 | 
						|
	"net/http"
 | 
						|
	"net/http/pprof"
 | 
						|
	"os"
 | 
						|
	"strings"
 | 
						|
 | 
						|
	log "github.com/sirupsen/logrus"
 | 
						|
)
 | 
						|
 | 
						|
func EnableDebugServer() {
 | 
						|
	l := log.WithField("logger", "authentik.go_debugger")
 | 
						|
	if deb := os.Getenv("AUTHENTIK_DEBUG"); strings.ToLower(deb) != "true" {
 | 
						|
		l.Info("not enabling debug server, set `AUTHENTIK_DEBUG` to `true` to enable it.")
 | 
						|
	}
 | 
						|
	h := http.NewServeMux()
 | 
						|
	h.HandleFunc("/debug/pprof/", pprof.Index)
 | 
						|
	h.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline)
 | 
						|
	h.HandleFunc("/debug/pprof/profile", pprof.Profile)
 | 
						|
	h.HandleFunc("/debug/pprof/symbol", pprof.Symbol)
 | 
						|
	h.HandleFunc("/debug/pprof/trace", pprof.Trace)
 | 
						|
	l.Println(http.ListenAndServe("0.0.0.0:9900", nil))
 | 
						|
}
 |