diff --git a/exp/exp.go b/exp/exp.go deleted file mode 100644 index 7f052178ea..0000000000 --- a/exp/exp.go +++ /dev/null @@ -1,10 +0,0 @@ -package exp - -import ( - "github.com/ethereum/go-ethereum/metrics" - e "github.com/ethereum/go-ethereum/metrics/exp" -) - -func init() { - e.Exp(metrics.DefaultRegistry) -} diff --git a/internal/debug/flags.go b/internal/debug/flags.go index 6247cc7dc0..b9fc2a9f81 100644 --- a/internal/debug/flags.go +++ b/internal/debug/flags.go @@ -26,6 +26,8 @@ import ( "github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/log/term" + "github.com/ethereum/go-ethereum/metrics" + "github.com/ethereum/go-ethereum/metrics/exp" colorable "github.com/mattn/go-colorable" "gopkg.in/urfave/cli.v1" ) @@ -127,6 +129,10 @@ func Setup(ctx *cli.Context) error { // pprof server if ctx.GlobalBool(pprofFlag.Name) { + // Hook go-metrics into expvar + // on any /debug/metrics request, load all vars from the registry into expvar, and execute regular expvar handler + exp.Exp(metrics.DefaultRegistry) + address := fmt.Sprintf("%s:%d", ctx.GlobalString(pprofAddrFlag.Name), ctx.GlobalInt(pprofPortFlag.Name)) go func() { log.Info("Starting pprof server", "addr", fmt.Sprintf("http://%s/debug/pprof", address))