2024-08-21 14:54:18 +02:00
|
|
|
when (NimMajor, NimMinor) < (1, 4):
|
|
|
|
|
{.push raises: [Defect].}
|
|
|
|
|
else:
|
|
|
|
|
{.push raises: [].}
|
|
|
|
|
|
|
|
|
|
import
|
2024-10-25 22:59:02 +02:00
|
|
|
std/[options, net, strformat],
|
2024-08-21 14:54:18 +02:00
|
|
|
chronicles,
|
|
|
|
|
chronos,
|
|
|
|
|
metrics,
|
|
|
|
|
libbacktrace,
|
|
|
|
|
libp2p/crypto/crypto,
|
|
|
|
|
confutils,
|
|
|
|
|
libp2p/wire
|
|
|
|
|
|
|
|
|
|
import
|
2025-11-15 23:31:09 +01:00
|
|
|
tools/confutils/cli_args,
|
2024-10-25 22:59:02 +02:00
|
|
|
waku/[
|
|
|
|
|
node/peer_manager,
|
|
|
|
|
waku_lightpush/common,
|
|
|
|
|
waku_relay,
|
|
|
|
|
waku_filter_v2,
|
|
|
|
|
waku_peer_exchange/protocol,
|
|
|
|
|
waku_core/multiaddrstr,
|
|
|
|
|
waku_enr/capabilities,
|
|
|
|
|
]
|
2024-08-21 14:54:18 +02:00
|
|
|
logScope:
|
|
|
|
|
topics = "diagnose connections"
|
|
|
|
|
|
2024-10-25 22:59:02 +02:00
|
|
|
proc allPeers(pm: PeerManager): string =
|
|
|
|
|
var allStr: string = ""
|
2025-04-07 12:24:03 +02:00
|
|
|
for idx, peer in pm.switch.peerStore.peers():
|
2024-10-25 22:59:02 +02:00
|
|
|
allStr.add(
|
2024-12-07 01:22:50 +01:00
|
|
|
" " & $idx & ". | " & constructMultiaddrStr(peer) & " | agent: " &
|
|
|
|
|
peer.getAgent() & " | protos: " & $peer.protocols & " | caps: " &
|
|
|
|
|
$peer.enr.map(getCapabilities) & "\n"
|
2024-10-25 22:59:02 +02:00
|
|
|
)
|
|
|
|
|
return allStr
|
2024-08-21 14:54:18 +02:00
|
|
|
|
2024-10-25 22:59:02 +02:00
|
|
|
proc logSelfPeers*(pm: PeerManager) =
|
2025-04-07 12:24:03 +02:00
|
|
|
let selfLighpushPeers = pm.switch.peerStore.getPeersByProtocol(WakuLightPushCodec)
|
|
|
|
|
let selfRelayPeers = pm.switch.peerStore.getPeersByProtocol(WakuRelayCodec)
|
|
|
|
|
let selfFilterPeers = pm.switch.peerStore.getPeersByProtocol(WakuFilterSubscribeCodec)
|
|
|
|
|
let selfPxPeers = pm.switch.peerStore.getPeersByProtocol(WakuPeerExchangeCodec)
|
2024-10-25 22:59:02 +02:00
|
|
|
|
|
|
|
|
let printable = catch:
|
|
|
|
|
"""*------------------------------------------------------------------------------------------*
|
|
|
|
|
| Self ({constructMultiaddrStr(pm.switch.peerInfo)}) peers:
|
2024-08-21 14:54:18 +02:00
|
|
|
*------------------------------------------------------------------------------------------*
|
|
|
|
|
| Lightpush peers({selfLighpushPeers.len()}): ${selfLighpushPeers}
|
|
|
|
|
*------------------------------------------------------------------------------------------*
|
|
|
|
|
| Filter peers({selfFilterPeers.len()}): ${selfFilterPeers}
|
|
|
|
|
*------------------------------------------------------------------------------------------*
|
|
|
|
|
| Relay peers({selfRelayPeers.len()}): ${selfRelayPeers}
|
2024-10-25 22:59:02 +02:00
|
|
|
*------------------------------------------------------------------------------------------*
|
|
|
|
|
| PX peers({selfPxPeers.len()}): ${selfPxPeers}
|
|
|
|
|
*------------------------------------------------------------------------------------------*
|
|
|
|
|
| All peers with protocol support:
|
|
|
|
|
{allPeers(pm)}
|
2024-08-21 14:54:18 +02:00
|
|
|
*------------------------------------------------------------------------------------------*""".fmt()
|
|
|
|
|
|
2025-10-27 14:07:06 -03:00
|
|
|
echo printable.valueOr("Error while printing statistics: " & error.msg)
|