mirror of
https://github.com/fluencelabs/tendermint
synced 2025-04-25 06:42:16 +00:00
do not overwrite metrics provider in node#NewNode
also, make running Prometheus server optional. Closes #2019
This commit is contained in:
parent
b92860b6c4
commit
75a26ebd6d
35
node/node.go
35
node/node.go
@ -85,7 +85,7 @@ func DefaultNewNode(config *cfg.Config, logger log.Logger) (*Node, error) {
|
|||||||
proxy.DefaultClientCreator(config.ProxyApp, config.ABCI, config.DBDir()),
|
proxy.DefaultClientCreator(config.ProxyApp, config.ABCI, config.DBDir()),
|
||||||
DefaultGenesisDocProviderFunc(config),
|
DefaultGenesisDocProviderFunc(config),
|
||||||
DefaultDBProvider,
|
DefaultDBProvider,
|
||||||
DefaultMetricsProvider,
|
DefaultMetricsProvider(config.Instrumentation),
|
||||||
logger,
|
logger,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -93,15 +93,15 @@ func DefaultNewNode(config *cfg.Config, logger log.Logger) (*Node, error) {
|
|||||||
// MetricsProvider returns a consensus, p2p and mempool Metrics.
|
// MetricsProvider returns a consensus, p2p and mempool Metrics.
|
||||||
type MetricsProvider func() (*cs.Metrics, *p2p.Metrics, *mempl.Metrics)
|
type MetricsProvider func() (*cs.Metrics, *p2p.Metrics, *mempl.Metrics)
|
||||||
|
|
||||||
// DefaultMetricsProvider returns consensus, p2p and mempool Metrics build
|
// DefaultMetricsProvider returns Metrics build using Prometheus client library
|
||||||
// using Prometheus client library.
|
// if Prometheus is enabled. Otherwise, it returns no-op Metrics.
|
||||||
func DefaultMetricsProvider() (*cs.Metrics, *p2p.Metrics, *mempl.Metrics) {
|
func DefaultMetricsProvider(config *cfg.InstrumentationConfig) MetricsProvider {
|
||||||
return cs.PrometheusMetrics(), p2p.PrometheusMetrics(), mempl.PrometheusMetrics()
|
return func() (*cs.Metrics, *p2p.Metrics, *mempl.Metrics) {
|
||||||
}
|
if config.Prometheus {
|
||||||
|
return cs.PrometheusMetrics(), p2p.PrometheusMetrics(), mempl.PrometheusMetrics()
|
||||||
// NopMetricsProvider returns consensus, p2p and mempool Metrics as no-op.
|
}
|
||||||
func NopMetricsProvider() (*cs.Metrics, *p2p.Metrics, *mempl.Metrics) {
|
return cs.NopMetrics(), p2p.NopMetrics(), mempl.NopMetrics()
|
||||||
return cs.NopMetrics(), p2p.NopMetrics(), mempl.NopMetrics()
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
@ -229,17 +229,7 @@ func NewNode(config *cfg.Config,
|
|||||||
consensusLogger.Info("This node is not a validator", "addr", privValidator.GetAddress(), "pubKey", privValidator.GetPubKey())
|
consensusLogger.Info("This node is not a validator", "addr", privValidator.GetAddress(), "pubKey", privValidator.GetPubKey())
|
||||||
}
|
}
|
||||||
|
|
||||||
// metrics
|
csMetrics, p2pMetrics, memplMetrics := metricsProvider()
|
||||||
var (
|
|
||||||
csMetrics *cs.Metrics
|
|
||||||
p2pMetrics *p2p.Metrics
|
|
||||||
memplMetrics *mempl.Metrics
|
|
||||||
)
|
|
||||||
if config.Instrumentation.Prometheus {
|
|
||||||
csMetrics, p2pMetrics, memplMetrics = metricsProvider()
|
|
||||||
} else {
|
|
||||||
csMetrics, p2pMetrics, memplMetrics = NopMetricsProvider()
|
|
||||||
}
|
|
||||||
|
|
||||||
// Make MempoolReactor
|
// Make MempoolReactor
|
||||||
mempoolLogger := logger.With("module", "mempool")
|
mempoolLogger := logger.With("module", "mempool")
|
||||||
@ -462,7 +452,8 @@ func (n *Node) OnStart() error {
|
|||||||
n.rpcListeners = listeners
|
n.rpcListeners = listeners
|
||||||
}
|
}
|
||||||
|
|
||||||
if n.config.Instrumentation.Prometheus {
|
if n.config.Instrumentation.Prometheus &&
|
||||||
|
n.config.Instrumentation.PrometheusListenAddr != "" {
|
||||||
n.prometheusSrv = n.startPrometheusServer(n.config.Instrumentation.PrometheusListenAddr)
|
n.prometheusSrv = n.startPrometheusServer(n.config.Instrumentation.PrometheusListenAddr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ func NewTendermint(app abci.Application) *nm.Node {
|
|||||||
node, err := nm.NewNode(config, pv, papp,
|
node, err := nm.NewNode(config, pv, papp,
|
||||||
nm.DefaultGenesisDocProviderFunc(config),
|
nm.DefaultGenesisDocProviderFunc(config),
|
||||||
nm.DefaultDBProvider,
|
nm.DefaultDBProvider,
|
||||||
nm.DefaultMetricsProvider,
|
nm.DefaultMetricsProvider(config.Instrumentation),
|
||||||
logger)
|
logger)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user