From 733c2e56c16fa4a41b916f056a105353bebda454 Mon Sep 17 00:00:00 2001 From: Johannes Truschnigg Date: Fri, 18 Mar 2022 15:17:42 +0100 Subject: [PATCH] Import first draft of configuration suggestion script --- config_suggest | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 config_suggest diff --git a/config_suggest b/config_suggest new file mode 100755 index 0000000..25b019f --- /dev/null +++ b/config_suggest @@ -0,0 +1,45 @@ +#!/bin/sh + +fpo="/tmp/fping_${$}.out" +POTENTIAL_PING_PEERS='1.1.1.1 8.8.8.8 9.9.9.9 a.root-servers.net b.root-servers.net c.root-servers.net d.root-servers.net e.root-servers.net f.root-servers.net g.root-servers.net h.root-servers.net i.root-servers.net j.root-servers.net k.root-servers.net l.root-servers.net m.root-servers.net' + +set -u + +echo "Pinging potential peers... please stand by and keep your Internet-directed traffic at a minimum." + +fping --addr --count=48 --period=250 --retry=0 --size=1280 ${POTENTIAL_PING_PEERS} >"${fpo}" 2>&1 + +awk -v "outfile=${fpo}" ' +/^[^ ].* 0% loss/ { + peers_records[$1]++ + peers_totalms[$1] += $6 + peers_squarems[$1] += ($6 ^ 2) + peers_pinglist[$1]=peers_pinglist[$1] " " $6 + if($6 > peers_max[$1]) { peers_max[$1]=$6 } + if($6 < peers_min[$1] || peers_min[$1] == 0) { peers_min[$1]=$6 } +} +/^[^ ].*100% loss/ { + peers_loss[$1]++ +} + +END { + cmd_stats = "sort -nr > " outfile ".stats" + for (p in peers_loss) + { + print "TIMEOUT " p " miss=" peers_loss[p] + } + for (p in peers_totalms) + { + alat = peers_totalms[p] / peers_records[p] + stdev = sqrt((peers_squarems[p] - peers_totalms[p] ^ 2 / peers_records[p])/peers_records[p]) + if (peers_loss[$1] < 2) { + printf("%5.2f stdev avg %-5.1f min %-5.1f max %-5.1f %s\n", stdev, alat, peers_min[p], peers_max[p], p) | cmd_stats + } + } + for (p in peers_pinglist) + { + #print p " " peers_pinglist[p] + } +}' "${fpo}" + +cat "${fpo}".stats -- 2.39.5