Skip to content
Snippets Groups Projects
Commit cea80688 authored by Richard T. Carback III's avatar Richard T. Carback III
Browse files

Add event reports for user discovery

parent 60fd10e3
No related branches found
No related tags found
3 merge requests!23Release,!13Hotfix/no host cooldown + return sende2e TS,!11Client Event Reporting API
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
package single package single
import ( import (
"fmt"
"github.com/pkg/errors" "github.com/pkg/errors"
jww "github.com/spf13/jwalterweatherman" jww "github.com/spf13/jwalterweatherman"
"gitlab.com/elixxir/client/interfaces/message" "gitlab.com/elixxir/client/interfaces/message"
...@@ -37,8 +38,13 @@ func (m *Manager) receiveResponseHandler(rawMessages chan message.Receive, ...@@ -37,8 +38,13 @@ func (m *Manager) receiveResponseHandler(rawMessages chan message.Receive,
// Process CMIX message // Process CMIX message
err := m.processesResponse(msg.RecipientID, msg.EphemeralID, msg.Payload) err := m.processesResponse(msg.RecipientID, msg.EphemeralID, msg.Payload)
if err != nil { if err != nil {
jww.WARN.Printf("Failed to read single-use CMIX message "+ em := fmt.Sprintf("Failed to read single-use "+
"response: %+v", err) "CMIX message response: %+v", err)
jww.WARN.Print(em)
if m.client != nil {
m.client.ReportEvent(9, "SingleUse",
"Error", em)
}
} }
} }
} }
...@@ -89,6 +95,11 @@ func (m *Manager) processesResponse(rid *id.ID, ephID ephemeral.Id, ...@@ -89,6 +95,11 @@ func (m *Manager) processesResponse(rid *id.ID, ephID ephemeral.Id,
// Once all message parts have been received delete and close everything // Once all message parts have been received delete and close everything
if collated { if collated {
if m.client != nil {
m.client.ReportEvent(1, "SingleUse", "MessageReceived",
fmt.Sprintf("Single use response received "+
"from %s", rid))
}
jww.DEBUG.Print("Received all parts of single-use response message.") jww.DEBUG.Print("Received all parts of single-use response message.")
// Exit the timeout handler // Exit the timeout handler
state.quitChan <- struct{}{} state.quitChan <- struct{}{}
......
...@@ -113,7 +113,8 @@ func (m *Manager) transmitSingleUse(partner contact2.Contact, payload []byte, ...@@ -113,7 +113,8 @@ func (m *Manager) transmitSingleUse(partner contact2.Contact, payload []byte,
go func() { go func() {
// Send Message // Send Message
jww.DEBUG.Printf("Sending single-use transmission CMIX message to %s.", partner.ID) jww.DEBUG.Printf("Sending single-use transmission CMIX "+
"message to %s.", partner.ID)
round, _, err := m.net.SendCMIX(cmixMsg, partner.ID, params.GetDefaultCMIX()) round, _, err := m.net.SendCMIX(cmixMsg, partner.ID, params.GetDefaultCMIX())
if err != nil { if err != nil {
errorString := fmt.Sprintf("failed to send single-use transmission "+ errorString := fmt.Sprintf("failed to send single-use transmission "+
...@@ -144,8 +145,13 @@ func (m *Manager) transmitSingleUse(partner contact2.Contact, payload []byte, ...@@ -144,8 +145,13 @@ func (m *Manager) transmitSingleUse(partner contact2.Contact, payload []byte,
roundEvents.AddRoundEventChan(round, sendResults, roundEventTimeout, roundEvents.AddRoundEventChan(round, sendResults, roundEventTimeout,
states.COMPLETED, states.FAILED) states.COMPLETED, states.FAILED)
jww.DEBUG.Printf("Sent single-use transmission CMIX message to %s and "+ im := fmt.Sprintf("Sent single-use transmission CMIX "+
"ephemeral ID %d on round %d.", partner.ID, ephID.Int64(), round) "message to %s and ephemeral ID %d on round %d.",
partner.ID, ephID.Int64(), round)
jww.DEBUG.Print(im)
if m.client != nil {
m.client.ReportEvent(1, "SingleUse", "MessageSend", im)
}
// Wait until the result tracking responds // Wait until the result tracking responds
success, numRoundFail, numTimeOut := utility.TrackResults(sendResults, 1) success, numRoundFail, numTimeOut := utility.TrackResults(sendResults, 1)
......
package ud package ud
import ( import (
"fmt"
"github.com/pkg/errors" "github.com/pkg/errors"
jww "github.com/spf13/jwalterweatherman" jww "github.com/spf13/jwalterweatherman"
pb "gitlab.com/elixxir/comms/mixmessages" pb "gitlab.com/elixxir/comms/mixmessages"
...@@ -85,6 +86,10 @@ func (m *Manager) register(username string, comm registerUserComms) error { ...@@ -85,6 +86,10 @@ func (m *Manager) register(username string, comm registerUserComms) error {
if err == nil { if err == nil {
err = m.setRegistered() err = m.setRegistered()
if m.client != nil {
m.client.ReportEvent(1, "UserDiscovery", "Registration",
fmt.Sprintf("User Registered with UD: %s", user))
}
} }
return err return err
......
package ud package ud
import ( import (
"fmt"
"github.com/golang/protobuf/proto" "github.com/golang/protobuf/proto"
"github.com/pkg/errors" "github.com/pkg/errors"
jww "github.com/spf13/jwalterweatherman" jww "github.com/spf13/jwalterweatherman"
...@@ -50,11 +51,17 @@ func (m *Manager) Search(list fact.FactList, callback searchCallback, timeout ti ...@@ -50,11 +51,17 @@ func (m *Manager) Search(list fact.FactList, callback searchCallback, timeout ti
return errors.WithMessage(err, "Failed to transmit search request.") return errors.WithMessage(err, "Failed to transmit search request.")
} }
if m.client != nil {
m.client.ReportEvent(1, "UserDiscovery", "SearchRequest",
fmt.Sprintf("Sent: %+v", request))
}
return nil return nil
} }
func (m *Manager) searchResponseHandler(factMap map[string]fact.Fact, func (m *Manager) searchResponseHandler(factMap map[string]fact.Fact,
callback searchCallback, payload []byte, err error) { callback searchCallback, payload []byte, err error) {
if err != nil { if err != nil {
go callback(nil, errors.WithMessage(err, "Failed to search.")) go callback(nil, errors.WithMessage(err, "Failed to search."))
return return
...@@ -66,6 +73,12 @@ func (m *Manager) searchResponseHandler(factMap map[string]fact.Fact, ...@@ -66,6 +73,12 @@ func (m *Manager) searchResponseHandler(factMap map[string]fact.Fact,
jww.WARN.Printf("Dropped a search response from user discovery due to "+ jww.WARN.Printf("Dropped a search response from user discovery due to "+
"failed unmarshal: %s", err) "failed unmarshal: %s", err)
} }
if m.client != nil {
m.client.ReportEvent(1, "UserDiscovery", "SearchResponse",
fmt.Sprintf("Received: %+v", searchResponse))
}
if searchResponse.Error != "" { if searchResponse.Error != "" {
err = errors.Errorf("User Discovery returned an error on search: %s", err = errors.Errorf("User Discovery returned an error on search: %s",
searchResponse.Error) searchResponse.Error)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment