Skip to content

Commit e58b3e0

Browse files
authored
Add p2p SDK Router metrics (#2000)
1 parent afa2b7a commit e58b3e0

File tree

5 files changed

+192
-36
lines changed

5 files changed

+192
-36
lines changed

network/p2p/client.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ type CrossChainAppResponseCallback func(
4040
)
4141

4242
type Client struct {
43+
handlerID uint64
4344
handlerPrefix []byte
4445
router *Router
4546
sender common.AppSender
@@ -95,7 +96,10 @@ func (c *Client) AppRequest(
9596
return err
9697
}
9798

98-
c.router.pendingAppRequests[requestID] = onResponse
99+
c.router.pendingAppRequests[requestID] = pendingAppRequest{
100+
AppResponseCallback: onResponse,
101+
metrics: c.router.handlers[c.handlerID].metrics,
102+
}
99103
c.router.requestID += 2
100104
}
101105

@@ -155,7 +159,10 @@ func (c *Client) CrossChainAppRequest(
155159
return err
156160
}
157161

158-
c.router.pendingCrossChainAppRequests[requestID] = onResponse
162+
c.router.pendingCrossChainAppRequests[requestID] = pendingCrossChainAppRequest{
163+
CrossChainAppResponseCallback: onResponse,
164+
metrics: c.router.handlers[c.handlerID].metrics,
165+
}
159166
c.router.requestID += 2
160167

161168
return nil

network/p2p/gossip/gossip_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ func TestGossiperGossip(t *testing.T) {
116116
ctrl := gomock.NewController(t)
117117

118118
responseSender := common.NewMockSender(ctrl)
119-
responseRouter := p2p.NewRouter(logging.NoLog{}, responseSender)
119+
responseRouter := p2p.NewRouter(logging.NoLog{}, responseSender, prometheus.NewRegistry(), "")
120120
responseBloom, err := NewBloomFilter(1000, 0.01)
121121
require.NoError(err)
122122
responseSet := testSet{
@@ -135,7 +135,7 @@ func TestGossiperGossip(t *testing.T) {
135135
require.NoError(err)
136136

137137
requestSender := common.NewMockSender(ctrl)
138-
requestRouter := p2p.NewRouter(logging.NoLog{}, requestSender)
138+
requestRouter := p2p.NewRouter(logging.NoLog{}, requestSender, prometheus.NewRegistry(), "")
139139

140140
gossiped := make(chan struct{})
141141
requestSender.EXPECT().SendAppRequest(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).

network/p2p/peers_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import (
77
"context"
88
"testing"
99

10+
"github.com/prometheus/client_golang/prometheus"
11+
1012
"github.com/stretchr/testify/require"
1113

1214
"go.uber.org/mock/gomock"
@@ -132,7 +134,7 @@ func TestAppRequestAnyNodeSelection(t *testing.T) {
132134
}
133135
mockAppSender.EXPECT().SendAppRequest(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Times(expectedCalls)
134136

135-
r := NewRouter(logging.NoLog{}, mockAppSender)
137+
r := NewRouter(logging.NoLog{}, mockAppSender, prometheus.NewRegistry(), "")
136138
peers := &Peers{}
137139
for _, peer := range tt.peers {
138140
require.NoError(peers.Connected(context.Background(), peer, nil))

0 commit comments

Comments
 (0)