diff --git a/config/config.go b/config/config.go index 25f70a5f6..fb082fbad 100644 --- a/config/config.go +++ b/config/config.go @@ -26,6 +26,7 @@ import ( blankhost "github.com/libp2p/go-libp2p/p2p/host/blank" "github.com/libp2p/go-libp2p/p2p/host/eventbus" "github.com/libp2p/go-libp2p/p2p/host/peerstore/pstoremem" + rcmgrObs "github.com/libp2p/go-libp2p/p2p/host/resource-manager/obs" routed "github.com/libp2p/go-libp2p/p2p/host/routed" "github.com/libp2p/go-libp2p/p2p/net/swarm" tptu "github.com/libp2p/go-libp2p/p2p/net/upgrader" @@ -299,6 +300,10 @@ func (cfg *Config) NewNode() (host.Host, error) { return nil, err } + if !cfg.DisableMetrics { + rcmgrObs.MustRegisterWith(cfg.PrometheusRegisterer) + } + h, err := bhost.NewHost(swrm, &bhost.HostOpts{ EventBus: eventBus, ConnManager: cfg.ConnManager, diff --git a/dashboards/resource-manager/README.md b/dashboards/resource-manager/README.md index 6915c0e6d..cfcc6d3fd 100644 --- a/dashboards/resource-manager/README.md +++ b/dashboards/resource-manager/README.md @@ -5,8 +5,10 @@ import follow the Grafana docs [here](https://grafana.com/docs/grafana/latest/da ## Setup -To make sure you're emitting the correct metrics you'll have to register the -metrics with a Prometheus Registerer. For example: +To make sure you're emitting the metrics you'll have to create the Resource +Manager with a StatsTraceReporter. By default metrics will be sent to +prometheus.DefaultRegisterer. To use a different Registerer use the libp2p +option libp2p.PrometheusRegisterer. For example: ``` go import ( @@ -18,8 +20,6 @@ import ( ) func SetupResourceManager() (network.ResourceManager, error) { - rcmgrObs.MustRegisterWith(prometheus.DefaultRegisterer) - str, err := rcmgrObs.NewStatsTraceReporter() if err != nil { return nil, err diff --git a/p2p/host/resource-manager/obs/stats.go b/p2p/host/resource-manager/obs/stats.go index bae3f0998..3362d70e3 100644 --- a/p2p/host/resource-manager/obs/stats.go +++ b/p2p/host/resource-manager/obs/stats.go @@ -142,7 +142,7 @@ var ( ) func MustRegisterWith(reg prometheus.Registerer) { - reg.MustRegister( + metricshelper.RegisterCollectors(reg, conns, peerConns, previousPeerConns,