diff options
author | Nick Johnson <arachnid@notdot.net> | 2016-10-14 15:22:31 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2016-10-15 00:46:30 +0800 |
commit | facfe4052889c9d18c7813442c03e65e4041398e (patch) | |
tree | 8a2c547b4741017ea6ebb9b8f9ce402ee7bccb67 | |
parent | abaa56fea59f38fcea4fb6a7537074dbe845cf51 (diff) | |
download | go-tangerine-facfe4052889c9d18c7813442c03e65e4041398e.tar go-tangerine-facfe4052889c9d18c7813442c03e65e4041398e.tar.gz go-tangerine-facfe4052889c9d18c7813442c03e65e4041398e.tar.bz2 go-tangerine-facfe4052889c9d18c7813442c03e65e4041398e.tar.lz go-tangerine-facfe4052889c9d18c7813442c03e65e4041398e.tar.xz go-tangerine-facfe4052889c9d18c7813442c03e65e4041398e.tar.zst go-tangerine-facfe4052889c9d18c7813442c03e65e4041398e.zip |
[release/1.4.18] metrics, internal/debug: Add --pprofaddr flag, expose metrics via gexp
(cherry picked from commit 9e9bfc4e264b0bc16bdfe893e9cb3cfad096c48c)
-rw-r--r-- | internal/debug/flags.go | 9 | ||||
-rw-r--r-- | metrics/metrics.go | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/internal/debug/flags.go b/internal/debug/flags.go index 9fc5fc4fe..ed17f87c4 100644 --- a/internal/debug/flags.go +++ b/internal/debug/flags.go @@ -52,6 +52,11 @@ var ( Usage: "pprof HTTP server listening port", Value: 6060, } + pprofAddrFlag = cli.StringFlag{ + Name: "pprofaddr", + Usage: "pprof HTTP server listening interface", + Value: "127.0.0.1", + } memprofilerateFlag = cli.IntFlag{ Name: "memprofilerate", Usage: "Turn on memory profiling with the given rate", @@ -74,7 +79,7 @@ var ( // Flags holds all command-line flags required for debugging. var Flags = []cli.Flag{ verbosityFlag, vmoduleFlag, backtraceAtFlag, - pprofFlag, pprofPortFlag, + pprofFlag, pprofAddrFlag, pprofPortFlag, memprofilerateFlag, blockprofilerateFlag, cpuprofileFlag, traceFlag, } @@ -101,7 +106,7 @@ func Setup(ctx *cli.Context) error { // pprof server if ctx.GlobalBool(pprofFlag.Name) { - address := fmt.Sprintf("127.0.0.1:%d", ctx.GlobalInt(pprofPortFlag.Name)) + address := fmt.Sprintf("%s:%d", ctx.GlobalString(pprofAddrFlag.Name), ctx.GlobalInt(pprofPortFlag.Name)) go func() { glog.V(logger.Info).Infof("starting pprof server at http://%s/debug/pprof", address) glog.Errorln(http.ListenAndServe(address, nil)) diff --git a/metrics/metrics.go b/metrics/metrics.go index fcf8b5c32..7f647cd00 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -26,6 +26,7 @@ import ( "github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/logger/glog" "github.com/rcrowley/go-metrics" + "github.com/rcrowley/go-metrics/exp" ) // MetricsEnabledFlag is the CLI flag name to use to enable metrics collections. @@ -44,6 +45,7 @@ func init() { Enabled = true } } + exp.Exp(metrics.DefaultRegistry) } // NewMeter create a new metrics Meter, either a real one of a NOP stub depending |