From 051131f03d46515307c2c19bf20ccdac36bd5fb6 Mon Sep 17 00:00:00 2001 From: Terin Stock Date: Sun, 8 Sep 2024 20:59:13 +0200 Subject: feat: add pprof endpoints --- main.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'main.go') diff --git a/main.go b/main.go index e47d311..6923554 100644 --- a/main.go +++ b/main.go @@ -7,6 +7,7 @@ import ( "flag" "net" "net/http" + "net/http/pprof" "os" "strconv" "time" @@ -68,6 +69,24 @@ func main() { }, }) + if cfg.Pprof.Port != 0 { + mux := http.NewServeMux() + + mux.HandleFunc("/debug/pprof/", pprof.Index) + mux.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline) + mux.HandleFunc("/debug/pprof/profile", pprof.Profile) + mux.HandleFunc("/debug/pprof/symbol", pprof.Symbol) + mux.HandleFunc("/debug/pprof/trace", pprof.Trace) + + m.Add(&server.Server{ + Name: "pprof", + Server: &http.Server{ + Addr: net.JoinHostPort(cfg.Pprof.Host, strconv.Itoa(cfg.Pprof.Port)), + Handler: mux, + }, + }) + } + if err := m.Start(signals.SetupSignalHandler()); err != nil { logger.Info().Err(err).Msg("manager stopped") } -- cgit v1.2.3