31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
import sys
|
|
import csv
|
|
|
|
def main(locust_csv_base_name, suffix, output_folder):
|
|
with open(f"{locust_csv_base_name}_stats.csv", 'r') as file:
|
|
reader = csv.DictReader(file)
|
|
for row in reader:
|
|
name = row['Name']
|
|
if name == 'Aggregated': continue
|
|
|
|
statistics = f'''
|
|
requests: {row['Request Count']}
|
|
failures: {row['Failure Count']}
|
|
req/s: {float(row['Requests/s']):.3f}req/s
|
|
avg: {float(row['Average Response Time']):.3f}ms
|
|
50%: {row['50%']}ms
|
|
75%: {row['75%']}ms
|
|
95%: {row['95%']}ms
|
|
98%: {row['98%']}ms
|
|
99%: {row['99%']}ms
|
|
min: {float(row['Min Response Time']):.3f}ms
|
|
max: {float(row['Max Response Time']):.3f}ms
|
|
'''
|
|
with open(f"{output_folder}/e2e_{name}_{suffix}.bench", 'w') as f:
|
|
f.write(statistics)
|
|
|
|
if __name__ == '__main__':
|
|
if len(sys.argv) != 4:
|
|
print(f"Usage: {sys.argv[0]} <locust csv base name> <suffix> <output folder>")
|
|
sys.exit(1)
|
|
main(sys.argv[1], sys.argv[2], sys.argv[3]) |