in benchmark/benchmark/config.py [0:0]
def __init__(self, json):
try:
self.faults = int(json['faults'])
nodes = json['nodes']
nodes = nodes if isinstance(nodes, list) else [nodes]
if not nodes or any(x <= 1 for x in nodes):
raise ConfigError('Missing or invalid number of nodes')
self.nodes = [int(x) for x in nodes]
rate = json['rate']
rate = rate if isinstance(rate, list) else [rate]
if not rate:
raise ConfigError('Missing input rate')
self.rate = [int(x) for x in rate]
self.workers = int(json['workers'])
if 'collocate' in json:
self.collocate = bool(json['collocate'])
else:
self.collocate = True
self.tx_size = int(json['tx_size'])
self.duration = int(json['duration'])
self.runs = int(json['runs']) if 'runs' in json else 1
except KeyError as e:
raise ConfigError(f'Malformed bench parameters: missing key {e}')
except ValueError:
raise ConfigError('Invalid parameters type')
if min(self.nodes) <= self.faults:
raise ConfigError('There should be more nodes than faults')