summaryrefslogtreecommitdiffstats
path: root/retiolum/scripts/adv_graphgen/scripts/build-graphs
diff options
context:
space:
mode:
Diffstat (limited to 'retiolum/scripts/adv_graphgen/scripts/build-graphs')
-rwxr-xr-xretiolum/scripts/adv_graphgen/scripts/build-graphs27
1 files changed, 27 insertions, 0 deletions
diff --git a/retiolum/scripts/adv_graphgen/scripts/build-graphs b/retiolum/scripts/adv_graphgen/scripts/build-graphs
new file mode 100755
index 00000000..3eb675ec
--- /dev/null
+++ b/retiolum/scripts/adv_graphgen/scripts/build-graphs
@@ -0,0 +1,27 @@
+#!/bin/sh
+set -euf
+mode=${1?arg1 must be either 'anonymous' or 'complete'}
+out=${2?arg2 must be set to an outdir}
+# for creating all the graphs
+TYPE=svg
+# for creating real pictures
+TYPE2=png
+
+DOTFILE=`mktemp`
+trap 'rm "$DOTFILE"' INT TERM KILL EXIT
+
+tinc-stats2json | tinc-build-graph "$mode" > "$DOTFILE"
+
+i=1
+for setter in dot circo 'neato -Goverlap=prism ' sfdp
+do
+ tmpgraph=`mktemp --tmpdir=$1`
+ # first build, then move to avoid half-built graphs
+ "$setter" -T$TYPE -o "$tmpgraph" "$DOTFILE" ||:
+ chmod go+rx "$tmpgraph"
+ mv "$tmpgraph" "$1/retiolum_$i.$TYPE"
+ i=`expr $i + 1`
+done
+
+convert -limit memory 32Mib -limit map 64Mib "$out/retiolum_1.$TYPE" "$out/retiolum_1.$TYPE2"
+rm "$DOTFILE"