in benchmark/data/paper-data/plot-script.py [0:0]
def plot_tps(self, system, faults, nodes, workers, tx_size, max_latencies):
assert isinstance(system, str)
assert isinstance(faults, list)
assert all(isinstance(x, int) for x in faults)
assert isinstance(max_latencies, list)
assert all(isinstance(x, int) for x in max_latencies)
assert isinstance(tx_size, int)
scalability = len(workers) > 1
collocate = not scalability
self.reset_markers()
self.reset_linestyles()
self.results = []
for f in faults:
for l in max_latencies:
filename = (
f'{system}.'
f'tps-'
f'{f}-'
f'{"x" if not scalability else nodes[0]}-'
f'{"x" if scalability else workers[0]}-'
f'{collocate}-'
f'any-'
f'{tx_size}-'
f'{l}.txt'
)
if os.path.isfile(filename):
with open(filename, 'r') as file:
self.results += [file.read().replace(',', '')]
self.system = system
z_axis = self._max_latency
x_label = 'Workers per validator' if scalability else 'Committee size'
y_label = ['Throughput (tx/s)', 'Throughput (MB/s)']
marker = next(self.markers)
color = next(self.colors)
self._plot(x_label, y_label, self._tps, z_axis, 'tps', marker, color)