Add pprof flag for debugging

This commit is contained in:
sunshineplan 2024-07-01 13:19:50 +08:00 committed by Xiaokang Wang (Shelikhoo)
parent 5961b2fd46
commit a57dfe2aad

View File

@ -3,6 +3,8 @@ package commands
import (
"fmt"
"log"
"net/http"
_ "net/http/pprof"
"os"
"os/signal"
"path/filepath"
@ -61,11 +63,14 @@ var (
configDirs cmdarg.Arg
configFormat *string
configDirRecursively *bool
configPprof *string
)
func setConfigFlags(cmd *base.Command) {
configFormat = cmd.Flag.String("format", core.FormatAuto, "")
configDirRecursively = cmd.Flag.Bool("r", false, "")
configPprof = cmd.Flag.String("pprof", "", "")
cmd.Flag.Var(&configFiles, "config", "")
cmd.Flag.Var(&configFiles, "c", "")
@ -83,6 +88,14 @@ func executeRun(cmd *base.Command, args []string) {
base.Fatalf("Failed to start: %s", err)
}
if addr := *configPprof; addr != "" {
go func() {
if err := http.ListenAndServe(addr, nil); err != nil {
log.Print(err)
}
}()
}
if err := server.Start(); err != nil {
base.Fatalf("Failed to start: %s", err)
}