summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xpunani/bin/punani16
-rwxr-xr-xretiolum/scripts/adv_graphgen/all_the_graphs.sh19
-rwxr-xr-xretiolum/scripts/adv_graphgen/anonytize.sh2
-rwxr-xr-xretiolum/scripts/adv_graphgen/parse_tinc_anon.py17
-rwxr-xr-xretiolum/scripts/adv_graphgen/parse_tinc_stats.py26
-rwxr-xr-xretiolum/scripts/adv_graphgen/sanitize.sh2
-rwxr-xr-xutil/bin/statsc4
-rwxr-xr-xutil/bin/timer14
8 files changed, 86 insertions, 14 deletions
diff --git a/punani/bin/punani b/punani/bin/punani
index 97c7ac85..23ba5e00 100755
--- a/punani/bin/punani
+++ b/punani/bin/punani
@@ -8,26 +8,28 @@ PKGS="$*"
## find package manager
if ! :; then : # dummy case, so the rest has a common format
-elif for PACKER_CMD in yum
+elif for PACKER_CMD in aptitude apt-get
do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then
INSTALL_PARAM='-y install'
REMOVE_PARAM='-y remove'
-elif for PACKER_CMD in brew
- do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then
- INSTALL_PARAM='install'
- REMOVE_PARAM='remove'
-
elif for PACKER_CMD in bauerbill packer yaourt pacman
do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then
INSTALL_PARAM='--noconfirm -S --needed'
REMOVE_PARAM='-Rcs'
-elif for PACKER_CMD in aptitude apt-get
+elif for PACKER_CMD in yum
do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then
INSTALL_PARAM='-y install'
REMOVE_PARAM='-y remove'
+elif for PACKER_CMD in brew
+ do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then
+ INSTALL_PARAM='install'
+ REMOVE_PARAM='remove'
+
+
+
else
echo "Error 2: no known package manager found; no punani for you!" >&2
exit 23
diff --git a/retiolum/scripts/adv_graphgen/all_the_graphs.sh b/retiolum/scripts/adv_graphgen/all_the_graphs.sh
index 36b37f03..1640a446 100755
--- a/retiolum/scripts/adv_graphgen/all_the_graphs.sh
+++ b/retiolum/scripts/adv_graphgen/all_the_graphs.sh
@@ -1,5 +1,14 @@
-#!/bin/sh
-echo "`date` begin all graphs" >> /tmp/build_graph
-cd $(dirname $(readlink -f $0))
-(./anonytize.sh /srv/http/pub/graphs/retiolum/ && echo "`date` anonytize done" >> /tmp/build_graph)&
-(./sanitize.sh /srv/http/priv/graphs/retiolum/ && echo "`date` sanitize done" >> /tmp/build_graph)&
+#!/bin/bash
+
+(
+ echo "`date` begin all graphs" >> /tmp/build_graph
+ cd $(dirname $(readlink -f $0))
+ PATH=$PATH:../../../util/bin/
+ export LOG_FILE=/var/log/retiolum.log
+ begin=`timer`
+ (./anonytize.sh /srv/http/pub/graphs/retiolum/ && echo "`date` anonytize done" >> /tmp/build_graph)&
+ (./sanitize.sh /srv/http/priv/graphs/retiolum/ && echo "`date` sanitize done" >> /tmp/build_graph)&
+# wait
+# graphitec "retiolum.graph.buildtime" "$(timer $begin)" >> /tmp/build_graph
+ echo "`date` end all graphs" >> /tmp/build_graph
+)&
diff --git a/retiolum/scripts/adv_graphgen/anonytize.sh b/retiolum/scripts/adv_graphgen/anonytize.sh
index 1ebfe972..d49793cb 100755
--- a/retiolum/scripts/adv_graphgen/anonytize.sh
+++ b/retiolum/scripts/adv_graphgen/anonytize.sh
@@ -5,7 +5,7 @@ GRAPH_SETTER1=dot
GRAPH_SETTER2=circo
GRAPH_SETTER3='neato -Goverlap=prism '
GRAPH_SETTER4=sfdp
-LOG_FILE=/var/log/syslog
+LOG_FILE=${LOG_FILE:-/var/log/syslog}
TYPE=svg
TYPE2=png
OPENER=/bin/true
diff --git a/retiolum/scripts/adv_graphgen/parse_tinc_anon.py b/retiolum/scripts/adv_graphgen/parse_tinc_anon.py
index 3b0383da..c603d398 100755
--- a/retiolum/scripts/adv_graphgen/parse_tinc_anon.py
+++ b/retiolum/scripts/adv_graphgen/parse_tinc_anon.py
@@ -3,6 +3,17 @@
from BackwardsReader import BackwardsReader
import sys,json
#supernodes= [ "kaah","supernode","euer","pa_sharepoint","oxberg" ]
+try:
+ import socket
+ from time import time
+ host = "localhost"
+ port = 2003
+ g_path = "retiolum"
+ begin = time()
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ s.connect((host,port))
+except Exception as e:
+ print >>sys.stderr, "Cannot connect to graphite: " + str(e)
""" TODO: Refactoring needed to pull the edges out of the node structures again,
it should be easier to handle both structures"""
DUMP_FILE = "/krebs/db/availability"
@@ -133,3 +144,9 @@ def decode_input(FILE):
nodes = decode_input(sys.stdin)
nodes = delete_unused_nodes(nodes)
write_digraph(nodes)
+try:
+ end = time()
+ msg = '%s.graph.anon_build_time %d %d\n' % (g_path,((end-begin)*1000),end)
+ s.send(msg)
+ s.close()
+except Exception as e: print >>sys.stderr, e
diff --git a/retiolum/scripts/adv_graphgen/parse_tinc_stats.py b/retiolum/scripts/adv_graphgen/parse_tinc_stats.py
index 54dcc4ab..a255a918 100755
--- a/retiolum/scripts/adv_graphgen/parse_tinc_stats.py
+++ b/retiolum/scripts/adv_graphgen/parse_tinc_stats.py
@@ -2,6 +2,18 @@
# -*- coding: utf8 -*-
from BackwardsReader import BackwardsReader
import sys,json
+try:
+ from time import time
+ import socket
+ host = "localhost"
+ port = 2003
+ g_path = "retiolum"
+ begin = time()
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ s.connect((host,port))
+except Exception as e:
+ print >>sys.stderr, "Cannot connect to graphite: " + str(e)
+
supernodes= [ "kaah","supernode","euer","pa_sharepoint","oxberg" ]
""" TODO: Refactoring needed to pull the edges out of the node structures again,
it should be easier to handle both structures"""
@@ -36,6 +48,12 @@ def write_stat_node(nodes):
'''
num_conns = 0
num_nodes = len(nodes)
+ try:
+ msg = '%s.num_nodes %d %d\n' %(g_path,num_nodes,begin)
+ s.send(msg)
+ #print >>sys.stderr, msg
+ except Exception as e: print sys.stderr,e
+ #except: pass
for k,v in nodes.iteritems():
num_conns+= len(v['to'])
node_text = " stats_node [label=\"Statistics\\l"
@@ -183,3 +201,11 @@ try:
except Exception,e:
sys.stderr.write("Cannot dump graph: %s" % str(e))
write_digraph(nodes)
+
+try:
+ end = time()
+ msg = '%s.graph.detail_build_time %d %d\n' % (g_path,((end-begin)*1000),end)
+ s.send(msg)
+ print >>sys.stderr,msg
+ s.close()
+except Exception as e: print >>sys.stderr, e
diff --git a/retiolum/scripts/adv_graphgen/sanitize.sh b/retiolum/scripts/adv_graphgen/sanitize.sh
index 50f1659f..c46662f3 100755
--- a/retiolum/scripts/adv_graphgen/sanitize.sh
+++ b/retiolum/scripts/adv_graphgen/sanitize.sh
@@ -5,7 +5,7 @@ GRAPH_SETTER1=dot
GRAPH_SETTER2=circo
GRAPH_SETTER3='neato -Goverlap=prism '
GRAPH_SETTER4=sfdp
-LOG_FILE=/var/log/syslog
+LOG_FILE=${LOG_FILE:-/var/log/syslog}
TYPE=svg
TYPE2=png
OPENER=/bin/true
diff --git a/util/bin/statsc b/util/bin/statsc
new file mode 100755
index 00000000..ff86ccb8
--- /dev/null
+++ b/util/bin/statsc
@@ -0,0 +1,4 @@
+#!/bin/sh
+# see https://github.com/etsy/statsd for syntax
+[ $# -eq 0 ] && echo "usage: $0 MESSAGE"
+echo "$1" | nc -w 1 -u 127.0.0.1 8125
diff --git a/util/bin/timer b/util/bin/timer
new file mode 100755
index 00000000..0ccf514a
--- /dev/null
+++ b/util/bin/timer
@@ -0,0 +1,14 @@
+#!/bin/bash
+curr=$(date '+%s%N')
+etime=${curr:0:${#curr}-6}
+if [[ $# -eq 0 ]];then
+ echo $etime
+else
+ [ "$1" == "-h" -o "$1" == "--help" ] && \
+ echo "usage: $0 [start_ms]" && \
+ echo " if no start_ms is given, return the currentime" && \
+ echo " if start_ms is given, return the difference" && exit 0
+ stime=$1
+ [[ -z "$stime" ]] && stime=$etime
+ echo $((etime - stime))
+fi