From 15037876e66f288ed60e740a26dca476e6f75ae1 Mon Sep 17 00:00:00 2001 From: "Richard T. Carback III" <rick.carback@gmail.com> Date: Fri, 27 Aug 2021 17:29:19 +0000 Subject: [PATCH] Add reports to sendCmix --- network/manager.go | 1 + network/message/sendCmix.go | 17 +++++++++++++---- network/message/sendCmix_test.go | 8 +++++++- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/network/manager.go b/network/manager.go index cbf06f088..a77e4f511 100644 --- a/network/manager.go +++ b/network/manager.go @@ -97,6 +97,7 @@ func NewManager(session *storage.Session, switchboard *switchboard.Switchboard, Instance: instance, TransmissionID: session.User().GetCryptographicIdentity().GetTransmissionID(), ReceptionID: session.User().GetCryptographicIdentity().GetReceptionID(), + Events: events, } // Set up gateway.Sender diff --git a/network/message/sendCmix.go b/network/message/sendCmix.go index 1c1e7c1f3..879b7757c 100644 --- a/network/message/sendCmix.go +++ b/network/message/sendCmix.go @@ -8,9 +8,11 @@ package message import ( + "fmt" "github.com/golang-collections/collections/set" "github.com/pkg/errors" jww "github.com/spf13/jwalterweatherman" + "gitlab.com/elixxir/client/interfaces" "gitlab.com/elixxir/client/interfaces/params" "gitlab.com/elixxir/client/network/gateway" "gitlab.com/elixxir/client/stoppable" @@ -32,7 +34,8 @@ func (m *Manager) SendCMIX(sender *gateway.Sender, msg format.Message, recipient *id.ID, param params.CMIX, stop *stoppable.Single) (id.Round, ephemeral.Id, error) { msgCopy := msg.Copy() return sendCmixHelper(sender, msgCopy, recipient, param, m.Instance, - m.Session, m.nodeRegistration, m.Rng, m.TransmissionID, m.Comms, stop) + m.Session, m.nodeRegistration, m.Rng, m.Internal.Events, + m.TransmissionID, m.Comms, stop) } // Helper function for sendCmix @@ -47,7 +50,8 @@ func (m *Manager) SendCMIX(sender *gateway.Sender, msg format.Message, func sendCmixHelper(sender *gateway.Sender, msg format.Message, recipient *id.ID, cmixParams params.CMIX, instance *network.Instance, session *storage.Session, nodeRegistration chan network.NodeGateway, - rng *fastRNG.StreamGenerator, senderId *id.ID, comms sendCmixCommsInterface, + rng *fastRNG.StreamGenerator, events interfaces.EventManager, + senderId *id.ID, comms sendCmixCommsInterface, stop *stoppable.Single) (id.Round, ephemeral.Id, error) { timeStart := netTime.Now() @@ -144,8 +148,13 @@ func sendCmixHelper(sender *gateway.Sender, msg format.Message, // Return if it sends properly gwSlotResp := result.(*pb.GatewaySlotResponse) if gwSlotResp.Accepted { - jww.INFO.Printf("Successfully sent to EphID %v (source: %s) "+ - "in round %d (msgDigest: %s)", ephID.Int64(), recipient, bestRound.ID, msg.Digest()) + m := fmt.Sprintf("Successfully sent to EphID %v "+ + "(source: %s) in round %d (msgDigest: %s), "+ + "elapsed: %s numRoundTries: %d", ephID.Int64(), + recipient, bestRound.ID, msg.Digest(), + elapsed, numRoundTries) + jww.INFO.Print(m) + events.Report(1, "MessageSend", "Metric", m) return id.Round(bestRound.ID), ephID, nil } else { jww.FATAL.Panicf("Gateway %s returned no error, but failed "+ diff --git a/network/message/sendCmix_test.go b/network/message/sendCmix_test.go index 28acd5652..29180767d 100644 --- a/network/message/sendCmix_test.go +++ b/network/message/sendCmix_test.go @@ -26,12 +26,18 @@ import ( "time" ) +type dummyEvent struct{} + +func (e *dummyEvent) Report(priority int, category, evtType, details string) {} + // Unit test func Test_attemptSendCmix(t *testing.T) { sess1 := storage.InitTestingSession(t) sess2 := storage.InitTestingSession(t) + events := &dummyEvent{} + sw := switchboard.New() l := TestListener{ ch: make(chan bool), @@ -113,7 +119,7 @@ func Test_attemptSendCmix(t *testing.T) { e2e.SetUnencrypted(msgCmix, m.Session.User().GetCryptographicIdentity().GetTransmissionID()) _, _, err = sendCmixHelper(sender, msgCmix, sess2.GetUser().ReceptionID, params.GetDefaultCMIX(), m.Instance, m.Session, m.nodeRegistration, - m.Rng, m.TransmissionID, &MockSendCMIXComms{t: t}, nil) + m.Rng, events, m.TransmissionID, &MockSendCMIXComms{t: t}, nil) if err != nil { t.Errorf("Failed to sendcmix: %+v", err) panic("t") -- GitLab