From f7174934c031e6aa547fbc565b4898fc58c8d5df Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 12 Aug 2014 16:48:43 +0200 Subject: tinc_stats: add Services description to graph --- retiolum/scripts/adv_graphgen/tinc_stats/Graph.py | 43 +++++++++++++++++++---- 1 file changed, 36 insertions(+), 7 deletions(-) (limited to 'retiolum/scripts/adv_graphgen/tinc_stats/Graph.py') diff --git a/retiolum/scripts/adv_graphgen/tinc_stats/Graph.py b/retiolum/scripts/adv_graphgen/tinc_stats/Graph.py index 9d80e62d..2fb09a58 100755 --- a/retiolum/scripts/adv_graphgen/tinc_stats/Graph.py +++ b/retiolum/scripts/adv_graphgen/tinc_stats/Graph.py @@ -2,6 +2,7 @@ from BackwardsReader import BackwardsReader import sys,json,os from Supernodes import check_all_the_super +from Services import add_services from Availability import get_node_availability import sys,json from time import time @@ -128,21 +129,46 @@ def print_node(k,v): tinc """ - node = " "+k+"[label=\"" - node += k+"\\l" - node += "availability: %f\\l" % v['availability'] + node = " "+k+"[label=<" %k + node += ""%k + if 'availability' in v: + node += "" % v['availability'] + if 'num_conns' in v: - node += "Num Connects:"+str(v['num_conns'])+"\\l" - node += "external:"+v['external-ip']+":"+v['external-port']+"\\l" + node += ""%str(v['num_conns']) + + node += "" for addr in v.get('internal-ip',['dunno lol']): - node += "internal:%s\\l"%addr - node +="\"" + node += ""%addr + + if 'services' in v: + node +="" + for service in v['services']: + try:uri,comment = service.split(" ",1) + except: + uri = service + comment ="" + node +="" + uri_proto=uri.split(":")[0] + uri_rest = uri.split(":")[1] + if not uri_rest: + node +="" + # end label + node +="
%s
availability:%f
Num Connects:%s
external:"+v['external-ip']+":"+v['external-port']+"
internal:%s
Services:
{0}".format(uri) + else: + node +="{0}".format(uri) + if comment: + node += "
{0}".format(comment) + node +="
>" if v['num_conns'] == 1: node += ",fillcolor=red" elif k in supernodes: node += ",fillcolor=steelblue1" node += "]" + print(node) def print_anonymous_node(k,v): @@ -206,7 +232,9 @@ if __name__ == "__main__": elif sys.argv[1] == "complete": for supernode,addr in check_all_the_super(): supernodes.append(supernode) + generate_availability_stats(nodes) + add_services(nodes) for k,v in nodes.items(): print_node(k,v) print_edge(k,v) @@ -219,3 +247,4 @@ if __name__ == "__main__": print_stat_node(nodes) print ('}') +# vim: set sw=2:ts=2 -- cgit v1.2.3