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))
 |