From 33746391a4779268bcebf692183bb68ec1c7b6e7 Mon Sep 17 00:00:00 2001 From: capossele <angelocapossele@gmail.com> Date: Wed, 17 Jun 2020 19:00:01 +0100 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Refactor=20FPC=20metric=20?= =?UTF-8?q?events?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dapps/valuetransfers/fpc.go | 8 ++++--- packages/vote/net/server.go | 46 ++++++++++++++++++------------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/dapps/valuetransfers/fpc.go b/dapps/valuetransfers/fpc.go index d48bcd71..850202eb 100644 --- a/dapps/valuetransfers/fpc.go +++ b/dapps/valuetransfers/fpc.go @@ -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 { diff --git a/packages/vote/net/server.go b/packages/vote/net/server.go index 3b8672d6..d6207a73 100644 --- a/packages/vote/net/server.go +++ b/packages/vote/net/server.go @@ -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 } -- GitLab