diff options
Diffstat (limited to 'retiolum')
| -rw-r--r-- | retiolum/scripts/adv_graphgen/find_super.py | 8 | ||||
| -rwxr-xr-x | retiolum/scripts/adv_graphgen/parse_tinc_stats.py | 8 | 
2 files changed, 10 insertions, 6 deletions
| diff --git a/retiolum/scripts/adv_graphgen/find_super.py b/retiolum/scripts/adv_graphgen/find_super.py index 99548f1c..ae0fae8f 100644 --- a/retiolum/scripts/adv_graphgen/find_super.py +++ b/retiolum/scripts/adv_graphgen/find_super.py @@ -1,6 +1,6 @@  #!/usr/bin/python -def find_super(path="/etc/tinc/retiolum/hosts"): +def find_potential_super(path="/etc/tinc/retiolum/hosts"):    import os    import re @@ -44,10 +44,10 @@ def check_one_super(ha):        if ret: valid_addrs.append(ret)      if valid_addrs: return (host,valid_addrs) -def check_super(path="/etc/tinc/retiolum/hosts"): +def check_all_the_super(path="/etc/tinc/retiolum/hosts"):    from multiprocessing import Pool    p = Pool(20) -  return filter(None,p.map(check_one_super,find_super(path))) +  return filter(None,p.map(check_one_super,find_potential_super(path))) @@ -55,5 +55,5 @@ if __name__ == "__main__":    """    usage    """ -  for host,addrs in check_super(): +  for host,addrs in check_all_the_super():      print host,addrs diff --git a/retiolum/scripts/adv_graphgen/parse_tinc_stats.py b/retiolum/scripts/adv_graphgen/parse_tinc_stats.py index 76a3ffcd..e5bd96a8 100755 --- a/retiolum/scripts/adv_graphgen/parse_tinc_stats.py +++ b/retiolum/scripts/adv_graphgen/parse_tinc_stats.py @@ -2,7 +2,7 @@  # -*- coding: utf8 -*-  from BackwardsReader import BackwardsReader  import sys,json -from find_super import check_super +from find_super import check_all_the_super  try:    from time import time    import socket @@ -18,7 +18,7 @@ except Exception as e:    sys.stderr.write("Cannot connect to graphite: %s\n" % str(e))  supernodes= [ ] -for supernode,addr in check_super(): +for supernode,addr in check_all_the_super():    supernodes.append(supernode)  """ TODO: Refactoring needed to pull the edges out of the node structures again,  it should be easier to handle both structures""" @@ -39,6 +39,7 @@ def write_digraph(nodes):    for k,v in nodes.iteritems():      write_node(k,v)    print ('}') +  def dump_graph(nodes):    from time import time    graph = {} @@ -48,6 +49,7 @@ def dump_graph(nodes):    json.dump(graph,f)    f.write('\n')    f.close() +  def write_stat_node(nodes):    ''' Write a `stats` node in the corner        This node contains infos about the current number of active nodes and connections inside the network @@ -95,6 +97,7 @@ def generate_stats(nodes):      v['avg_weight'] = get_node_avg_weight(conns)      v['availability'] = get_node_availability(k,jlines)      sys.stderr.write( "%s -> %f\n" %(k ,v['availability'])) +  def get_node_avg_weight(conns):    """ calculates the average weight for the given connections """    if not conns: @@ -143,6 +146,7 @@ def delete_unused_nodes(nodes):        #del(new_nodes[k])        del(k)    return new_nodes +  def merge_edges(nodes):    """ merge back and forth edges into one    DESTRUCTS the current structure by deleting "connections" in the nodes | 
