diff options
Diffstat (limited to 'forged/internal/unsorted/server.go')
-rw-r--r-- | forged/internal/unsorted/server.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/forged/internal/unsorted/server.go b/forged/internal/unsorted/server.go index 2eb77d3..84379b0 100644 --- a/forged/internal/unsorted/server.go +++ b/forged/internal/unsorted/server.go @@ -11,6 +11,7 @@ import ( "log/slog" "net" "net/http" + _ "net/http/pprof" "os" "os/exec" "path/filepath" @@ -210,6 +211,23 @@ func (s *Server) Run() error { }() } + // Pprof listener + { + pprofListener, err := net.Listen(s.config.Pprof.Net, s.config.Pprof.Addr) + if err != nil { + slog.Error("listening pprof", "error", err) + os.Exit(1) + } + + slog.Info("listening pprof on", "net", s.config.Pprof.Net, "addr", s.config.Pprof.Addr) + go func() { + if err := http.Serve(pprofListener, nil); err != nil { + slog.Error("serving pprof", "error", err) + os.Exit(1) + } + }() + } + s.ircBot = irc.NewBot(&s.config.IRC) // IRC bot go s.ircBot.ConnectLoop() |