Node/p2p: add sub too slow metric (#2361)

This commit is contained in:
bruce-riley 2023-02-13 10:11:17 -05:00 committed by GitHub
parent 9412845e1b
commit c84e37e403
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 27 additions and 6 deletions

View File

@ -54,6 +54,11 @@ var (
Name: "wormhole_p2p_broadcast_messages_received_total", Name: "wormhole_p2p_broadcast_messages_received_total",
Help: "Total number of p2p pubsub broadcast messages received", Help: "Total number of p2p pubsub broadcast messages received",
}, []string{"type"}) }, []string{"type"})
p2pReceiveChannelOverflow = promauto.NewCounterVec(
prometheus.CounterOpts{
Name: "wormhole_p2p_receive_channel_overflow",
Help: "Total number of p2p received messages dropped due to channel overflow",
}, []string{"type"})
) )
var heartbeatMessagePrefix = []byte("heartbeat|") var heartbeatMessagePrefix = []byte("heartbeat|")
@ -89,6 +94,10 @@ func Run(
signedGovSt chan *gossipv1.SignedChainGovernorStatus, signedGovSt chan *gossipv1.SignedChainGovernorStatus,
) func(ctx context.Context) error { ) func(ctx context.Context) error {
return func(ctx context.Context) (re error) { return func(ctx context.Context) (re error) {
p2pReceiveChannelOverflow.WithLabelValues("observation").Add(0)
p2pReceiveChannelOverflow.WithLabelValues("signed_vaa_with_quorum").Add(0)
p2pReceiveChannelOverflow.WithLabelValues("signed_observation_request").Add(0)
logger := supervisor.Logger(ctx) logger := supervisor.Logger(ctx)
mgr, err := connmgr.NewConnManager( mgr, err := connmgr.NewConnManager(
@ -399,11 +408,19 @@ func Run(
zap.String("from", envelope.GetFrom().String())) zap.String("from", envelope.GetFrom().String()))
} }
case *gossipv1.GossipMessage_SignedObservation: case *gossipv1.GossipMessage_SignedObservation:
obsvC <- m.SignedObservation select {
p2pMessagesReceived.WithLabelValues("observation").Inc() case obsvC <- m.SignedObservation:
p2pMessagesReceived.WithLabelValues("observation").Inc()
default:
p2pReceiveChannelOverflow.WithLabelValues("observation").Inc()
}
case *gossipv1.GossipMessage_SignedVaaWithQuorum: case *gossipv1.GossipMessage_SignedVaaWithQuorum:
signedInC <- m.SignedVaaWithQuorum select {
p2pMessagesReceived.WithLabelValues("signed_vaa_with_quorum").Inc() case signedInC <- m.SignedVaaWithQuorum:
p2pMessagesReceived.WithLabelValues("signed_vaa_with_quorum").Inc()
default:
p2pReceiveChannelOverflow.WithLabelValues("signed_vaa_with_quorum").Inc()
}
case *gossipv1.GossipMessage_SignedObservationRequest: case *gossipv1.GossipMessage_SignedObservationRequest:
s := m.SignedObservationRequest s := m.SignedObservationRequest
gs := gst.Get() gs := gst.Get()
@ -423,12 +440,16 @@ func Run(
zap.Binary("raw", envelope.Data), zap.Binary("raw", envelope.Data),
zap.String("from", envelope.GetFrom().String())) zap.String("from", envelope.GetFrom().String()))
} else { } else {
p2pMessagesReceived.WithLabelValues("signed_observation_request").Inc()
logger.Info("valid signed observation request received", logger.Info("valid signed observation request received",
zap.Any("value", r), zap.Any("value", r),
zap.String("from", envelope.GetFrom().String())) zap.String("from", envelope.GetFrom().String()))
obsvReqC <- r select {
case obsvReqC <- r:
p2pMessagesReceived.WithLabelValues("signed_observation_request").Inc()
default:
p2pReceiveChannelOverflow.WithLabelValues("signed_observation_request").Inc()
}
} }
case *gossipv1.GossipMessage_SignedChainGovernorConfig: case *gossipv1.GossipMessage_SignedChainGovernorConfig:
logger.Debug("cgov: received config message") logger.Debug("cgov: received config message")