Skip to content

Commit 00b6470

Browse files
authored
Merge pull request #501 from shutter-network/feat/libp2p_seed_node_metrics
Add libp2p seed node metrics
2 parents 9413847 + 63ce5b8 commit 00b6470

File tree

3 files changed

+33
-12
lines changed

3 files changed

+33
-12
lines changed

rolling-shutter/cmd/p2pnode/p2pnode.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package p2pnode
33
import (
44
"context"
55

6-
"github.com/pkg/errors"
76
"github.com/rs/zerolog/log"
87
"github.com/spf13/cobra"
98

@@ -31,9 +30,6 @@ func main(config *p2pnode.Config) error {
3130
log.Info().
3231
Str("version", shversion.Version()).
3332
Msg("starting p2pnode")
34-
p2pService, err := p2pnode.New(config)
35-
if err != nil {
36-
return errors.Wrapf(err, "failed to instantiate p2pnode")
37-
}
38-
return service.RunWithSighandler(context.Background(), p2pService)
33+
p2pNode := p2pnode.New(config)
34+
return service.RunWithSighandler(context.Background(), p2pNode)
3935
}

rolling-shutter/p2pnode/config.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"io"
55

66
"github.com/shutter-network/rolling-shutter/rolling-shutter/medley/configuration"
7+
"github.com/shutter-network/rolling-shutter/rolling-shutter/medley/metricsserver"
78
"github.com/shutter-network/rolling-shutter/rolling-shutter/p2p"
89
)
910

@@ -18,11 +19,13 @@ func NewConfig() *Config {
1819
type Config struct {
1920
ListenMessages bool `comment:"whether to register handlers on the messages and log them"`
2021

21-
P2P *p2p.Config
22+
P2P *p2p.Config
23+
Metrics *metricsserver.MetricsConfig
2224
}
2325

2426
func (c *Config) Init() {
2527
c.P2P = p2p.NewConfig()
28+
c.Metrics = metricsserver.NewConfig()
2629
}
2730

2831
func (c *Config) Name() string {

rolling-shutter/p2pnode/host.go

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ import (
44
"context"
55

66
pubsub "github.com/libp2p/go-libp2p-pubsub"
7+
"github.com/pkg/errors"
78
"github.com/rs/zerolog/log"
89

10+
"github.com/shutter-network/rolling-shutter/rolling-shutter/medley/metricsserver"
911
"github.com/shutter-network/rolling-shutter/rolling-shutter/medley/service"
1012
"github.com/shutter-network/rolling-shutter/rolling-shutter/p2p"
1113
"github.com/shutter-network/rolling-shutter/rolling-shutter/p2pmsg"
@@ -35,13 +37,33 @@ func (dummyMessageHandler) MessagePrototypes() []p2pmsg.Message {
3537
}
3638
}
3739

38-
func New(config *Config) (service.Service, error) {
39-
p2pHandler, err := p2p.New(config.P2P)
40+
type P2PNode struct {
41+
config *Config
42+
}
43+
44+
func New(config *Config) *P2PNode {
45+
return &P2PNode{
46+
config: config,
47+
}
48+
}
49+
50+
func (node *P2PNode) Start(ctx context.Context, runner service.Runner) error {
51+
services := []service.Service{}
52+
53+
p2pHandler, err := p2p.New(node.config.P2P)
4054
if err != nil {
41-
return nil, err
55+
if err != nil {
56+
return errors.Wrap(err, "failed to initialize p2p messaging")
57+
}
4258
}
43-
if config.ListenMessages {
59+
if node.config.ListenMessages {
4460
p2pHandler.AddMessageHandler(dummyMessageHandler{})
4561
}
46-
return p2pHandler, nil
62+
services = append(services, p2pHandler)
63+
64+
if node.config.Metrics.Enabled {
65+
metricsServer := metricsserver.New(node.config.Metrics)
66+
services = append(services, metricsServer)
67+
}
68+
return runner.StartService(services...)
4769
}

0 commit comments

Comments
 (0)