Skip to content
Snippets Groups Projects
Unverified Commit 33746391 authored by capossele's avatar capossele
Browse files

:recycle: Refactor FPC metric events

parent 563ef0c1
No related branches found
No related tags found
No related merge requests found
......@@ -125,7 +125,8 @@ func runFPC() {
return vote.Like
}, config.Node.GetString(CfgFPCBindAddress),
metrics.Events().FPCInboundBytes,
metrics.Events().FPCOutboundBytes)
metrics.Events().FPCOutboundBytes,
metrics.Events().QueryReceived)
go func() {
if err := voterServer.Run(); err != nil {
......@@ -194,8 +195,9 @@ func (pog *PeerOpinionGiver) Query(ctx context.Context, ids []string) (vote.Opin
return nil, fmt.Errorf("unable to query opinions: %w", err)
}
metrics.Events().FPCInboundBytes.Trigger(proto.Size(reply))
metrics.Events().FPCOutboundBytes.Trigger(proto.Size(query))
metrics.Events().FPCInboundBytes.Trigger(uint64(proto.Size(reply)))
metrics.Events().FPCOutboundBytes.Trigger(uint64(proto.Size(query)))
// convert int32s in reply to opinions
opinions := make(vote.Opinions, len(reply.Opinion))
for i, intOpn := range reply.Opinion {
......
......@@ -16,30 +16,26 @@ import (
type OpinionRetriever func(id string) vote.Opinion
// New creates a new VoterServer.
func New(voter vote.Voter, opnRetriever OpinionRetriever, bindAddr string, netEvents ...*events.Event) *VoterServer {
vs := &VoterServer{
voter: voter,
opnRetriever: opnRetriever,
bindAddr: bindAddr,
func New(voter vote.Voter, opnRetriever OpinionRetriever, bindAddr string, netRxEvent, netTxEvent, queryReceivedEvent *events.Event) *VoterServer {
return &VoterServer{
voter: voter,
opnRetriever: opnRetriever,
bindAddr: bindAddr,
netRxEvent: netRxEvent,
netTxEvent: netTxEvent,
queryReceivedEvent: queryReceivedEvent,
}
if netEvents == nil && len(netEvents) < 2 {
return vs
}
vs.netEventRX = netEvents[0]
vs.netEventTX = netEvents[1]
return vs
}
// VoterServer is a server which responds to opinion queries.
type VoterServer struct {
voter vote.Voter
opnRetriever OpinionRetriever
bindAddr string
grpcServer *grpc.Server
netEventRX *events.Event
netEventTX *events.Event
voter vote.Voter
opnRetriever OpinionRetriever
bindAddr string
grpcServer *grpc.Server
netRxEvent *events.Event
netTxEvent *events.Event
queryReceivedEvent *events.Event
}
func (vs *VoterServer) Opinion(ctx context.Context, req *QueryRequest) (*QueryReply, error) {
......@@ -56,14 +52,16 @@ func (vs *VoterServer) Opinion(ctx context.Context, req *QueryRequest) (*QueryRe
reply.Opinion[i] = int32(vs.opnRetriever(id))
}
if vs.netEventRX != nil {
vs.netEventRX.Trigger(proto.Size(req))
if vs.netRxEvent != nil {
vs.netRxEvent.Trigger(uint64(proto.Size(req)))
}
if vs.netTxEvent != nil {
vs.netTxEvent.Trigger(uint64(proto.Size(reply)))
}
if vs.netEventTX != nil {
vs.netEventTX.Trigger(proto.Size(reply))
if vs.queryReceivedEvent != nil {
vs.queryReceivedEvent.Trigger(&metrics.QueryReceivedEvent{OpinionCount: len(req.Id)})
}
metrics.Events().QueryReceived.Trigger(&metrics.QueryReceivedEvent{OpinionCount: len(req.Id)})
return reply, nil
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment