summaryrefslogtreecommitdiffstats
path: root/retiolum/scripts/adv_graphgen/scripts/build-graphs
diff options
context:
space:
mode:
authormakefu <root@pigstarter.de>2015-09-09 14:41:38 +0200
committermakefu <root@pigstarter.de>2015-09-09 14:41:38 +0200
commit05bf2c8be209e619f8c9e727fd1353198b042642 (patch)
tree4f7a9439137fe78f979b235666a3533f9e249eca /retiolum/scripts/adv_graphgen/scripts/build-graphs
parente9e7d6baf986488c43d418887f6cf95f5d896189 (diff)
begin packaging of tinc_stats
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"