diff options
| author | Josef Gustafsson <josef.gson@gmail.com> | 2015-09-18 16:21:46 +0200 |
|---|---|---|
| committer | Josef Gustafsson <josef.gson@gmail.com> | 2015-09-18 16:21:46 +0200 |
| commit | 59f065ab412f5777017854ef9b6d41d3d3449e52 (patch) | |
| tree | 0b7f2b1652c161da667a04b378bae8b196e561f1 /monitor/josef_logreader.py | |
| parent | d8835ce4ac4a55ac2b03320bcc118d7d79b580bf (diff) | |
bugfix
Diffstat (limited to 'monitor/josef_logreader.py')
| -rwxr-xr-x | monitor/josef_logreader.py | 63 |
1 files changed, 58 insertions, 5 deletions
diff --git a/monitor/josef_logreader.py b/monitor/josef_logreader.py index 62edfff..8be4dd5 100755 --- a/monitor/josef_logreader.py +++ b/monitor/josef_logreader.py @@ -30,7 +30,6 @@ def read_loglog(filename): return content def print_log_stats(l): - print l log = read_loglog(l) rev_log = list(reversed(log)) last = rev_log[0] @@ -48,12 +47,66 @@ def print_log_stats(l): print "STH age: " + str(age)[:-7] print "Size: " + size break - # else: - # print "No STH update found in log." + else: + print "No STH update found in log." + + +def print_average_age(l): + log = read_loglog(l) + rev_log = list(reversed(log)) + # last = rev_log[0] + + prev_timestamp = None + ages = [] + for item in rev_log: + line = item[TIME_LEN:] + if line[:len(START_STR)] == START_STR: + # break + prev_timestamp = None # Don't count over restarts + if line[:len(NEW_STH_STR)] == NEW_STH_STR: + timestamp = datetime.datetime.strptime(line[-20:-1], '%Y-%m-%d %H:%M:%S') + if prev_timestamp is not None: + ages.append(prev_timestamp - timestamp) + prev_timestamp = timestamp + + if len(ages) == 0: + print "No timedeltas found.." + else: + average_timedelta = sum(ages, datetime.timedelta(0)) / len(ages) + print "Average update time: " + str(average_timedelta) + " (" + str(len(ages)) + " values)" + +def print_errors(l): + # print errors since last restart + log = read_loglog(l) + rev_log = list(reversed(log)) + + prev_timestamp = None + ages = [] + for item in rev_log: + line = item[TIME_LEN:] + if "ERROR" in line: + print item[:-1] + if line[:len(START_STR)] == START_STR: + # break # comment this line to print all errors ever + pass - print "" if __name__ == "__main__": logs = get_logs() for log in logs: - print_log_stats(log)
\ No newline at end of file + if log == "monitor.log": + pass + else: + print log + print_log_stats(log) + print_average_age(log) + print_errors(log) + print "" + + + + + + + + |
