Skip to content

Commit

Permalink
minor improvements to load generator script --no-deploy
Browse files Browse the repository at this point in the history
  • Loading branch information
OriHoch committed May 30, 2022
1 parent c9e045f commit b190a03
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion tests/load_generator.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import sys
import datetime
import subprocess
from pprint import pprint
from collections import defaultdict


def main(num_processes):
Expand All @@ -10,10 +13,24 @@ def main(num_processes):
processes[process_num] = subprocess.Popen([
'nslookup', '-port=10053', 'foobar.com', '-', '127.0.0.1'
], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
start_time = datetime.datetime.now()
print('waiting for processes to terminate')
stats = defaultdict(int)
for process_num, process in processes.items():
returncode = process.wait()
print(f'{process_num}: returncode {returncode} output {process.stdout.read()}')
output = process.stdout.read().decode()
if returncode == 0:
if 'Address: 127.0.0.1' in output:
stats['success'] += 1
else:
raise Exception(f'Success with unknown output: {output}')
elif 'connection timed out; no servers could be reached' in output:
stats['timed out'] += 1
if not stats['seconds to first timeout']:
stats['seconds to first timeout'] = (datetime.datetime.now() - start_time).total_seconds()
else:
raise Exception(f'Failed with unknown output: {output}')
pprint(dict(stats))


main(*sys.argv[1:])

0 comments on commit b190a03

Please sign in to comment.