43 lines
1.0 KiB
Python
43 lines
1.0 KiB
Python
import os
|
|
import time
|
|
import psutil
|
|
import argparse
|
|
|
|
from numpy import mean
|
|
|
|
from pypot.robot import from_json
|
|
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('-l', '--log-file',
|
|
type=str, required=True)
|
|
parser.add_argument('-t', '--running-time',
|
|
type=int, required=True)
|
|
parser.add_argument('-c', '--config',
|
|
type=str, required=True)
|
|
args = parser.parse_args()
|
|
|
|
bp = args.log_file
|
|
if os.path.exists(bp):
|
|
raise IOError('File already exists: {}'.format(bp))
|
|
|
|
p = psutil.Process()
|
|
p.cpu_percent()
|
|
|
|
robot = from_json(args.config)
|
|
robot.start_sync()
|
|
time.sleep(60)
|
|
|
|
loads = []
|
|
start = time.time()
|
|
while time.time() - start < args.running_time:
|
|
loads.append(p.cpu_percent())
|
|
time.sleep(1)
|
|
load = mean(loads)
|
|
print('After loading about {}%'.format(load))
|
|
|
|
# We'll use raw file instead of numpy because of pypy
|
|
with open(bp, 'w') as f:
|
|
f.write(str(loads))
|