aboutsummaryrefslogtreecommitdiff
path: root/forged/internal/unsorted/server.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-05-02 17:57:56 +0800
committerRunxi Yu <me@runxiyu.org>2025-05-02 17:57:56 +0800
commit1344fc974d77d890d5b1c9721538e0911854fc0c (patch)
treeab0ad47e77a01c9234ed3048703553c4b075c441 /forged/internal/unsorted/server.go
parentgit2c: Some perror (diff)
downloadforge-1344fc974d77d890d5b1c9721538e0911854fc0c.tar.gz
forge-1344fc974d77d890d5b1c9721538e0911854fc0c.tar.zst
forge-1344fc974d77d890d5b1c9721538e0911854fc0c.zip
Add pprof endpointHEADmaster
Diffstat (limited to 'forged/internal/unsorted/server.go')
-rw-r--r--forged/internal/unsorted/server.go18
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()