routing: add logging for routes discarded due to low success probability

Create the ChanIDString function to return a string representation
of the route's channel IDs, formatting them in the order they appear
in the route (e.g., "chanID1 -> chanID2").

Discarded routes with a success probability lower than the minimum
threshold are now logged accordingly when finding a blinded path.
This commit is contained in:
MPins
2025-03-03 07:07:14 -03:00
parent c84804f81f
commit ec42b9acd0
2 changed files with 32 additions and 8 deletions

View File

@@ -773,3 +773,19 @@ func (r *Route) String() string {
b.String(), r.TotalTimeLock,
)
}
// ChanIDString returns the route's channel IDs as a formatted string.
func ChanIDString(r *Route) string {
var b strings.Builder
for i, hop := range r.Hops {
b.WriteString(fmt.Sprintf("%v",
strconv.FormatUint(hop.ChannelID, 10),
))
if i != len(r.Hops)-1 {
b.WriteString(" -> ")
}
}
return b.String()
}

View File

@@ -684,19 +684,27 @@ func (r *ChannelRouter) FindBlindedPaths(destination route.Vertex,
prevNode = path[j].vertex
}
// Don't bother adding a route if its success probability less
// minimum that can be assigned to any single pair.
if totalRouteProbability <= DefaultMinRouteProbability {
continue
}
routes = append(routes, &routeWithProbability{
routeWithProbability := &routeWithProbability{
route: &route.Route{
SourcePubKey: introNode,
Hops: hops,
},
probability: totalRouteProbability,
})
}
// Don't bother adding a route if its success probability less
// minimum that can be assigned to any single pair.
if totalRouteProbability <= DefaultMinRouteProbability {
log.Debugf("Not using route (%v) as a blinded "+
"path since it resulted in an low "+
"probability path(%.3f)",
route.ChanIDString(routeWithProbability.route),
routeWithProbability.probability,
)
continue
}
routes = append(routes, routeWithProbability)
}
// Sort the routes based on probability.