diff --git a/cmix/follow.go b/cmix/follow.go index 9aea33b4c2ea23d3d67228ecabb61ff2c3f722a8..a0b5fe670d7518d84e090b266e9c6b52b1695c31 100644 --- a/cmix/follow.go +++ b/cmix/follow.go @@ -149,18 +149,18 @@ func (c *client) followNetwork(report ClientErrorReport, c.latencySum/c.numLatencies) c.latencySum, c.numLatencies = 0, 0 - infoMsg := fmt.Sprintf("Polled the network %d times in the "+ + infoMsg := fmt.Sprintf("[Follow] Polled the network %d times in the "+ "last %s, with an average newest packet latency of %s", numPolls, debugTrackPeriod, latencyAvg) - jww.INFO.Printf(infoMsg) + jww.INFO.Println(infoMsg) c.events.Report(1, "Polling", "MetricsWithLatency", infoMsg) } else { infoMsg := fmt.Sprintf( - "Polled the network %d times in the last %s", numPolls, + "[Follow] Polled the network %d times in the last %s", numPolls, debugTrackPeriod) - jww.INFO.Printf(infoMsg) + jww.INFO.Println(infoMsg) c.events.Report(1, "Polling", "Metrics", infoMsg) } } @@ -204,7 +204,7 @@ func (c *client) follow(identity receptionID.IdentityUse, var startTime time.Time result, err := c.SendToAny(func(host *connect.Host) (interface{}, error) { - jww.DEBUG.Printf("Executing poll for %v(%s) range: %s-%s(%s) from %s", + jww.DEBUG.Printf("[Follow] Executing poll for %v(%s) range: %s-%s(%s) from %s", identity.EphId.Int64(), identity.Source, identity.StartValid, identity.EndValid, identity.EndValid.Sub(identity.StartValid), host.GetId()) @@ -233,7 +233,7 @@ func (c *client) follow(identity receptionID.IdentityUse, } errMsg := fmt.Sprintf("Unable to poll gateway: %+v", err) c.events.Report(10, "Polling", "Error", errMsg) - jww.ERROR.Print(errMsg) + jww.ERROR.Print("[Follow] " + errMsg) return } @@ -248,7 +248,7 @@ func (c *client) follow(identity receptionID.IdentityUse, gwRoundsState := &knownRounds.KnownRounds{} err = gwRoundsState.Unmarshal(pollResp.KnownRounds) if err != nil { - jww.ERROR.Printf("Failed to unmarshal: %+v", err) + jww.ERROR.Printf("[Follow] Failed to unmarshal: %+v", err) return } @@ -258,7 +258,7 @@ func (c *client) follow(identity receptionID.IdentityUse, if pollResp.PartialNDF != nil { err = c.instance.UpdatePartialNdf(pollResp.PartialNDF) if err != nil { - jww.ERROR.Printf("Unable to update partial NDF: %+v", err) + jww.ERROR.Printf("[Follow] Unable to update partial NDF: %+v", err) return } @@ -302,7 +302,7 @@ func (c *client) follow(identity receptionID.IdentityUse, // Obtain relevant NodeGateway information nid, err := id.Unmarshal(clientErr.Source) if err != nil { - jww.ERROR.Printf("Unable to get NodeID: %+v", err) + jww.ERROR.Printf("[Follow] Unable to get NodeID: %+v", err) return } @@ -322,7 +322,7 @@ func (c *client) follow(identity receptionID.IdentityUse, // with ClientErrors err = c.instance.RoundUpdates(pollResp.Updates) if err != nil { - jww.ERROR.Printf("%+v", err) + jww.ERROR.Printf("[Follow] %+v", err) return } @@ -344,12 +344,12 @@ func (c *client) follow(identity receptionID.IdentityUse, // ---- Identity Specific Round Processing ----- if identity.Fake { - jww.DEBUG.Printf("Not processing result, identity.Fake == true") + jww.DEBUG.Printf("[Follow] Not processing result, identity.Fake == true") return } if len(pollResp.Filters.Filters) == 0 { - jww.TRACE.Printf("No filters found for the passed ID %d (%s), "+ + jww.TRACE.Printf("[Follow] No filters found for the passed ID %d (%s), "+ "skipping processing.", identity.EphId.Int64(), identity.Source) return } @@ -367,7 +367,6 @@ func (c *client) follow(identity receptionID.IdentityUse, // are messages waiting in rounds and then sends signals to the appropriate // handling threads roundChecker := func(rid id.Round) bool { - // IMPORTANT: DO NOT PUT LOGS HERE, IT RUNS TOO OFTEN AND WILL BREAK hasMessage := Checker(rid, filterList, identity.CR) if !hasMessage && c.verboseRounds != nil { c.verboseRounds.denote(rid, RoundState(NoMessageAvailable)) @@ -389,8 +388,7 @@ func (c *client) follow(identity receptionID.IdentityUse, // received on this ID by using an estimate of how many rounds the // network runs per second timeSinceStartValid := netTime.Now().Sub(identity.StartValid) - roundsDelta := - uint(timeSinceStartValid / time.Second * estimatedRoundsPerSecond) + roundsDelta := uint((timeSinceStartValid / time.Second).Seconds() * estimatedRoundsPerSecond) if roundsDelta < c.param.KnownRoundsThreshold { roundsDelta = c.param.KnownRoundsThreshold } @@ -398,9 +396,13 @@ func (c *client) follow(identity receptionID.IdentityUse, if id.Round(roundsDelta) > lastCheckedRound { // Handles edge case for new networks to prevent starting at // negative rounds + jww.WARN.Printf("[Follow] roundsDelta(%d) > lastCheckedRound(%d)", + roundsDelta, lastCheckedRound) updatedEarliestRound = 1 } else { updatedEarliestRound = lastCheckedRound - id.Round(roundsDelta) + jww.TRACE.Printf("[Follow] UpdatedEarliestRound (%d) set to %d - %d", + updatedEarliestRound, lastCheckedRound, id.Round(roundsDelta)) earliestFilterRound := filterList[0].FirstRound() // Length of filterList always > 0 // If the network appears to be moving faster than our estimate, @@ -409,6 +411,7 @@ func (c *client) follow(identity receptionID.IdentityUse, // as long as contacted gateway has all data if updatedEarliestRound > earliestFilterRound { updatedEarliestRound = earliestFilterRound + jww.TRACE.Printf("[Follow] updatedEarliestRound set to earliestFilterRound (%d)", earliestFilterRound) } } identity.ER.Set(updatedEarliestRound) @@ -423,7 +426,7 @@ func (c *client) follow(identity receptionID.IdentityUse, gwRoundsState.RangeUnchecked( updatedEarliestRound, c.param.KnownRoundsThreshold, roundChecker, 100) - jww.DEBUG.Printf("Processed RangeUnchecked for %d, Oldest: %d, "+ + jww.DEBUG.Printf("[Follow] Processed RangeUnchecked for %d, Oldest: %d, "+ "firstUnchecked: %d, last Checked: %d, threshold: %d, "+ "NewEarliestRemaining: %d, NumWithMessages: %d, NumUnknown: %d", identity.EphId.Int64(), updatedEarliestRound, gwRoundsState.GetFirstUnchecked(), @@ -432,9 +435,9 @@ func (c *client) follow(identity receptionID.IdentityUse, _, _, changed := identity.ER.Set(earliestRemaining) if changed { - jww.TRACE.Printf("External returns of RangeUnchecked: %d, %v, %v", + jww.DEBUG.Printf("[Follow] External returns of RangeUnchecked: %d, %v, %v", earliestRemaining, roundsWithMessages, roundsUnknown) - jww.DEBUG.Printf("New Earliest Remaining: %d, Gateways last checked: %d", + jww.DEBUG.Printf("[Follow] New Earliest Remaining: %d, Gateways last checked: %d", earliestRemaining, gwRoundsState.GetLastChecked()) } @@ -458,7 +461,7 @@ func (c *client) follow(identity receptionID.IdentityUse, identity.CR.Prune() err = identity.CR.SaveCheckedRounds() if err != nil { - jww.ERROR.Printf("Could not save rounds for identity %d (%s): %+v", + jww.ERROR.Printf("[Follow] Could not save rounds for identity %d (%s): %+v", identity.EphId.Int64(), identity.Source, err) } @@ -473,7 +476,7 @@ func (c *client) follow(identity receptionID.IdentityUse, trackingStart = earliestRemaining - id.Round(c.param.KnownRoundsThreshold) } - jww.DEBUG.Printf("Rounds tracked: %v to %v", trackingStart, earliestRemaining) + jww.DEBUG.Printf("[Follow] Rounds tracked: %v to %v", trackingStart, earliestRemaining) for i := trackingStart; i <= earliestRemaining; i++ { state := Unchecked