diff options
author | root <root@pigstarter.retiolum> | 2013-06-24 17:24:49 +0200 |
---|---|---|
committer | root <root@pigstarter.retiolum> | 2013-06-24 17:24:49 +0200 |
commit | fe1f4dec340c121e43d0fca6d1139db694b2c48b (patch) | |
tree | f8c91b480fef621ef960ee11d2fd9cafb59cfb41 /retiolum/scripts/adv_graphgen/find_legacy_hosts.py | |
parent | d5751b4a5132522b38c611e6bfd79537e927db50 (diff) |
refactor tinc_stats into a single python module
Diffstat (limited to 'retiolum/scripts/adv_graphgen/find_legacy_hosts.py')
-rwxr-xr-x | retiolum/scripts/adv_graphgen/find_legacy_hosts.py | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/retiolum/scripts/adv_graphgen/find_legacy_hosts.py b/retiolum/scripts/adv_graphgen/find_legacy_hosts.py deleted file mode 100755 index 52388b6d..00000000 --- a/retiolum/scripts/adv_graphgen/find_legacy_hosts.py +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf8 -*- - -import sys,json -""" 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" - -def get_all_nodes(): - import os - return os.listdir("/etc/tinc/retiolum/hosts") -def generate_stats(): - """ Generates some statistics of the network and nodes - """ - import json - jlines = [] - try: - f = open(DUMP_FILE,'r') - for line in f: - jlines.append(json.loads(line)) - f.close() - except Exception,e: - pass - all_nodes = {} - for k in get_all_nodes(): - all_nodes[k] = get_node_availability(k,jlines) - print ( json.dumps(all_nodes)) - -def get_node_availability(name,jlines): - """ calculates the node availability by reading the generated dump file - adding together the uptime of the node and returning the time - parms: - name - node name - jlines - list of already parsed dictionaries node archive - """ - begin = last = current = 0 - uptime = 0 - #sys.stderr.write ( "Getting Node availability of %s\n" % name) - for stat in jlines: - if not stat['nodes']: - continue - ts = stat['timestamp'] - if not begin: - begin = last = ts - current = ts - if stat['nodes'].get(name,{}).get('to',[]): - uptime += current - last - else: - pass - #sys.stderr.write("%s offline at timestamp %f\n" %(name,current)) - last = ts - all_the_time = last - begin - try: - return uptime/ all_the_time - except: - return 1 - - -generate_stats() |