Skip to content

Commit

Permalink
Try #4707:
Browse files Browse the repository at this point in the history
  • Loading branch information
bors[bot] committed Jul 14, 2023
2 parents 4fe8f6f + acae383 commit 5256231
Showing 1 changed file with 22 additions and 17 deletions.
39 changes: 22 additions & 17 deletions p2p/host.go
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ func New(_ context.Context, logger log.Log, cfg Config, prologue []byte, opts ..
libp2p.BandwidthReporter(p2pmetrics.NewBandwidthCollector()),
}
if cfg.Metrics {
lopts = append(lopts, setupResourcesManager)
lopts = append(lopts, setupResourcesManager(cfg.HighPeers))
}
if !cfg.DisableNatPort {
lopts = append(lopts, libp2p.NATPortMap())
Expand All @@ -130,22 +130,27 @@ func New(_ context.Context, logger log.Log, cfg Config, prologue []byte, opts ..
return Upgrade(h, opts...)
}

func setupResourcesManager(cfg *libp2p.Config) error {
rcmgrObs.MustRegisterWith(prometheus.DefaultRegisterer)
str, err := rcmgrObs.NewStatsTraceReporter()
if err != nil {
return err
}
limits := rcmgr.DefaultLimits
libp2p.SetDefaultServiceLimits(&limits)
func setupResourcesManager(highPeers int) func(cfg *libp2p.Config) error {
return func(cfg *libp2p.Config) error {
rcmgrObs.MustRegisterWith(prometheus.DefaultRegisterer)
str, err := rcmgrObs.NewStatsTraceReporter()
if err != nil {
return err
}
limits := rcmgr.DefaultLimits
limits.SystemBaseLimit.ConnsInbound = highPeers
limits.SystemBaseLimit.ConnsOutbound = highPeers
limits.SystemBaseLimit.Conns = 2 * highPeers
libp2p.SetDefaultServiceLimits(&limits)

mgr, err := rcmgr.NewResourceManager(
rcmgr.NewFixedLimiter(limits.AutoScale()),
rcmgr.WithTraceReporter(str),
)
if err != nil {
return err
mgr, err := rcmgr.NewResourceManager(
rcmgr.NewFixedLimiter(limits.AutoScale()),
rcmgr.WithTraceReporter(str),
)
if err != nil {
return err
}
cfg.Apply(libp2p.ResourceManager(mgr))
return nil
}
cfg.Apply(libp2p.ResourceManager(mgr))
return nil
}

0 comments on commit 5256231

Please sign in to comment.