package plugin_pprof import ( "github.com/v2fly/v2ray-core/v5/main/plugins" "net/http" "net/http/pprof" "github.com/v2fly/v2ray-core/v5/main/commands/base" ) var pprofPlugin plugins.Plugin = func(cmd *base.Command) func() error { addr := cmd.Flag.String("pprof", "", "") return func() error { if *addr != "" { h := http.NewServeMux() h.HandleFunc("/debug/pprof/", pprof.Index) h.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline) h.HandleFunc("/debug/pprof/profile", pprof.Profile) h.HandleFunc("/debug/pprof/symbol", pprof.Symbol) h.HandleFunc("/debug/pprof/trace", pprof.Trace) return (&http.Server{Addr: *addr, Handler: h}).ListenAndServe() } return nil } } func init() { plugins.RegisterPlugin(pprofPlugin) }