34 lines
939 B
Bash
Executable File
34 lines
939 B
Bash
Executable File
#!/bin/sh
|
|
|
|
if [ $# -ne 2 ]; then
|
|
echo "Usage: $0 <runs> <nodes>"
|
|
exit 1
|
|
fi
|
|
|
|
runs="$1" #number of simulation runs
|
|
nodes="$2" #number of nodes to simulate
|
|
shadow_file="shadow.yaml"
|
|
sed -i '/environment:/q' "$shadow_file"
|
|
sed -E -i "s/\"PEERS\": \"[0-9]+\"/\"PEERS\": \"$nodes\"/" "$shadow_file"
|
|
|
|
counter=2
|
|
while [ $counter -le $nodes ]; do
|
|
echo " peer$counter: *client_host" >> "$shadow_file"
|
|
counter=$((counter + 1))
|
|
done
|
|
|
|
rm -f shadowlog* latencies* main && rm -rf shadow.data/
|
|
nim c -d:chronicles_colors=None --threads:on -d:metrics -d:libp2p_network_protocols_metrics -d:release main
|
|
|
|
for i in $(seq $runs); do
|
|
echo "Running for turn "$i
|
|
shadow shadow.yaml > shadowlog$i && grep -rne 'milliseconds\|BW' shadow.data/ > latencies$i
|
|
rm -rf shadow.data/
|
|
done
|
|
|
|
for i in $(seq $runs); do
|
|
echo "Summary for turn "$i
|
|
awk -f summary_latency.awk latencies$i
|
|
awk -f summary_shadowlog.awk shadowlog$i
|
|
done
|