diff --git a/latency.py b/latency.py index b4c50d1539a750267c30a23d16d6d79a01844eed..f526923f0c7dca808a11ac6332dc333d5a4472e2 100644 --- a/latency.py +++ b/latency.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 import time +import datetime import argparse import requests @@ -8,6 +9,7 @@ def current_microsec(): return time.time_ns()/1000 def latency_measurement(hostname, filename): + time_of_measure = datetime.datetime.now() latency = 0 current_time = current_microsec() # print('requesting') @@ -16,11 +18,11 @@ def latency_measurement(hostname, filename): if request.status_code == 200: latency = current_microsec() - current_time # print(str(request.status_code) + 'happiness') - except request.ConnectionError: + except requests.ConnectionError: latency = -1 - with open(str(filename), 'a') as result_file: - result_file.write(str(latency) + '\n') - return latency + content = request.text + title = content[45:50] + return time_of_measure, latency, title if __name__ == "__main__": parser = argparse.ArgumentParser(description="Latency Tool") @@ -29,16 +31,14 @@ if __name__ == "__main__": parser.add_argument('--number', type=int) parser.add_argument('--delay', type=int) args = parser.parse_args() - latency_list = [] - print('Expected runtime: ' + str((args.delay / 1000) * number) + ' sec') + hostname = args.host + filename = args.file + print('Measuring') for i in range(0,args.number): - latency_list.append(latency_measurement(args.host, args.file)) - time.sleep(args.delay/1000) - - average = 0 - number = 0 - for i in latency_list: - average = average + i - number = number + 1 - print('Done! Average: ' + str((average / number) / 1000) + ' ms') + time_of, latency, title = latency_measurement(hostname, filename) + with open(str(filename), 'a') as result_file: + result_file.write(str(time_of) + '\t' + str(latency) + '\t' + str(title) + '\n') + time.sleep(args.delay / 1000) + + print('Done!')