diff options
author | Runxi Yu <me@runxiyu.org> | 2025-05-02 17:57:56 +0800 |
---|---|---|
committer | Runxi Yu <me@runxiyu.org> | 2025-05-02 17:57:56 +0800 |
commit | 1344fc974d77d890d5b1c9721538e0911854fc0c (patch) | |
tree | ab0ad47e77a01c9234ed3048703553c4b075c441 /forged/internal/unsorted/server.go | |
parent | git2c: Some perror (diff) | |
download | forge-1344fc974d77d890d5b1c9721538e0911854fc0c.tar.gz forge-1344fc974d77d890d5b1c9721538e0911854fc0c.tar.zst forge-1344fc974d77d890d5b1c9721538e0911854fc0c.zip |
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() |