logos-delivery/simulations/mixnet/check_cover_traffic.sh
Prem Chaitanya Prathi fc6af2fdf1
feat(mix): cover traffic with constant rate
- Integrate ConstantRateCoverTraffic from libp2p mix module with default
  totalSlots = userMessageLimit (or 2) and 10s epoch
- Add --mix-user-message-limit and --mix-disable-spam-protection CLI flags
  with corresponding MixConfBuilder accessors and MixConf fields
- Wrap mixRlnSpamProtection construction so it is skipped when spam
  protection is disabled, with a nil guard in setupSpamProtectionCallbacks
- Add waku/common/option_shims.nim restoring valueOr/withValue templates
  for std/options (removed upstream by results), and import it across
  modules that relied on the old behavior
- Sink chat2mix logs to textlines (stdout) instead of textlines[file] to
  work around a chronicles compile-time macro-eval bug under Nim 2.2.4
- Rename ExtendedKademliaDiscoveryParams -> ExtendedServiceDiscoveryParams
  to match the kad_disco -> service_discovery rename in nim-libp2p
- Bump nim-libp2p to e1bbda4f6 (PR #2243 "cover traffic with constant
  rate") and mix-rln-spam-protection-plugin to 153d0c0 (PR #5 cover
  traffic epoch change support); both pre-libp2p_mix-extraction
- Add simulations/mixnet/check_cover_traffic.sh for monitoring
  mix_cover_* / mix_slot_* metrics, plus per-node cover-traffic configs
2026-06-05 12:32:57 +05:30

19 lines
489 B
Bash
Executable File

#!/bin/bash
# Check cover traffic metrics from all mix nodes.
# Ports: 8008 + ports-shift (1-5) = 8009-8013
echo "=== Cover Traffic Metrics ==="
echo ""
for i in 1 2 3 4 5; do
port=$((8008 + i))
echo "--- Node $i (port $port) ---"
metrics=$(curl -s "http://127.0.0.1:$port/metrics" 2>/dev/null)
if [ -z "$metrics" ]; then
echo " (unreachable)"
else
echo "$metrics" | grep -E "mix_cover_|mix_slot_" | grep -v "^#" || echo " (no cover metrics yet)"
fi
echo ""
done