logging more data
This commit is contained in:
parent
9a1988fece
commit
1df9edbd78
1 changed files with 11 additions and 4 deletions
|
@ -21,8 +21,10 @@ This can be used to tune the build times.
|
||||||
import argparse
|
import argparse
|
||||||
import csv
|
import csv
|
||||||
import datetime
|
import datetime
|
||||||
|
import multiprocessing
|
||||||
import os
|
import os
|
||||||
import platform
|
import platform
|
||||||
|
import psutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
from typing import Optional, Dict, List
|
from typing import Optional, Dict, List
|
||||||
|
@ -41,7 +43,7 @@ class Cmd:
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def has_title(self):
|
def has_title(self):
|
||||||
return self.title is None
|
return self.title is not None
|
||||||
|
|
||||||
|
|
||||||
class Remove(Cmd):
|
class Remove(Cmd):
|
||||||
|
@ -90,7 +92,7 @@ def run_benchmark(commit: str, name: str, result_file_path: str, workdir: str, p
|
||||||
|
|
||||||
|
|
||||||
def write_results(commands: List[Cmd], result_file_path : str, name: str):
|
def write_results(commands: List[Cmd], result_file_path : str, name: str):
|
||||||
fieldnames = ['name']
|
fieldnames = ['name', 'cores', 'CPU', 'RAM', 'timestamp', 'OS']
|
||||||
fieldnames.extend(cmd.title for cmd in COMMANDS if cmd.has_title)
|
fieldnames.extend(cmd.title for cmd in COMMANDS if cmd.has_title)
|
||||||
exists = os.path.exists(result_file_path)
|
exists = os.path.exists(result_file_path)
|
||||||
with open(result_file_path, 'a') as csv_file:
|
with open(result_file_path, 'a') as csv_file:
|
||||||
|
@ -98,7 +100,12 @@ def write_results(commands: List[Cmd], result_file_path : str, name: str):
|
||||||
if not exists:
|
if not exists:
|
||||||
writer.writeheader()
|
writer.writeheader()
|
||||||
row = {
|
row = {
|
||||||
'name': name
|
'name': name,
|
||||||
|
'cores': multiprocessing.cpu_count(),
|
||||||
|
'CPU' : platform.processor(),
|
||||||
|
'RAM' : psutil.virtual_memory().total,
|
||||||
|
'timestamp' : datetime.datetime.now().timestamp(),
|
||||||
|
'OS' : platform.platform()
|
||||||
}
|
}
|
||||||
for command in (cmd for cmd in commands if cmd.has_title):
|
for command in (cmd for cmd in commands if cmd.has_title):
|
||||||
row[command.title] = command.execution_time.total_seconds()
|
row[command.title] = command.execution_time.total_seconds()
|
||||||
|
@ -132,6 +139,6 @@ if __name__ == '__main__':
|
||||||
help="path to CSV file where to store the benchmark results")
|
help="path to CSV file where to store the benchmark results")
|
||||||
parser.add_argument('--workdir', type=str, default=os.path.join(os.getcwd(), 'benchmark'),
|
parser.add_argument('--workdir', type=str, default=os.path.join(os.getcwd(), 'benchmark'),
|
||||||
help='Folder to store the LLVM checkout.')
|
help='Folder to store the LLVM checkout.')
|
||||||
parser.add_argument('name', type=str, nargs='?', help="name for the benchmark")
|
parser.add_argument('--name', type=str, default=None, help="name for the benchmark")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
run_benchmark(args.commit, args.name, args.result_file, args.workdir, pmt_root)
|
run_benchmark(args.commit, args.name, args.result_file, args.workdir, pmt_root)
|
||||||
|
|
Loading…
Reference in a new issue