Mercurial > hg > orthanc-tests
comparison PerfsDb/Run.py @ 164:ff939d07989f
saving results
author | am@osimis.io |
---|---|
date | Mon, 20 Aug 2018 15:50:47 +0200 |
parents | dbc42a03ee75 |
children | 1ff0d830bb87 |
comparison
equal
deleted
inserted
replaced
163:53575aa2614b | 164:ff939d07989f |
---|---|
1 import argparse | 1 import argparse |
2 import fnmatch | 2 import fnmatch |
3 import csv | |
4 import datetime | |
5 import os | |
3 | 6 |
4 from ConfigFileBuilder import ConfigFileBuilder | 7 from ConfigFileBuilder import ConfigFileBuilder |
5 from TestConfig import TestConfig | 8 from TestConfig import TestConfig |
6 from Tests import * | 9 from Tests import * |
7 from DbServer import DbServer | 10 from DbServer import DbServer |
147 testNames.add(result.name) | 150 testNames.add(result.name) |
148 if not result.name in resultsByTestName: | 151 if not result.name in resultsByTestName: |
149 resultsByTestName[result.name] = {} | 152 resultsByTestName[result.name] = {} |
150 resultsByTestName[result.name][configName] = result | 153 resultsByTestName[result.name][configName] = result |
151 | 154 |
152 headerLine = "{empty:<40}|".format(empty="") | 155 resultFileName = os.path.join(os.path.dirname(os.path.abspath(__file__)), "Results/run-" + datetime.datetime.now().strftime("%Y.%m.%d.%H.%M.%S")) |
153 for testConfig in selectedTestConfigs: | |
154 headerLine += "{configName:^15}|".format(configName=testConfig.label) | |
155 | 156 |
156 print(headerLine) | 157 with open(resultFileName, 'w', newline='') as resultFile: |
158 resultWriter = csv.writer(resultFile) | |
159 resultHeaderRow = [""] | |
157 | 160 |
158 for testName in sorted(testNames): | 161 headerLine = "{empty:<40}|".format(empty="") |
159 resultLine = "{name:<40}|".format(name=testName) | 162 |
160 for testConfig in selectedTestConfigs: | 163 for testConfig in selectedTestConfigs: |
161 resultLine += "{avg:>11.2f} ms |".format(avg = resultsByTestName[testName][testConfig.label].averageTimeInMs) | 164 headerLine += "{configName:^15}|".format(configName=testConfig.label) |
162 print(resultLine) | 165 resultHeaderRow.append(configName) |
163 | 166 |
164 print("** Done") | 167 print(headerLine) |
168 resultWriter.writerow(resultHeaderRow) | |
169 | |
170 for testName in sorted(testNames): | |
171 resultLine = "{name:<40}|".format(name=testName) | |
172 resultRow=[testName] | |
173 | |
174 for testConfig in selectedTestConfigs: | |
175 resultLine += "{avg:>11.2f} ms |".format(avg = resultsByTestName[testName][testConfig.label].averageTimeInMs) | |
176 resultRow.append(resultsByTestName[testName][testConfig.label].averageTimeInMs) | |
177 | |
178 print(resultLine) | |
179 resultWriter.writerow(resultRow) | |
180 | |
181 print("** Done; results saved in " + resultFileName) |