metrics_calculator.py (908B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\performancemetrics\common\metrics_calculator.py 2 from __future__ import division, print_function 3 import blue 4 _AVERAGED_SAMPLE_ATTRIBUTES = (('fps', 'fps'), 5 ('cpu_usage', 'userProcessCpuUsage'), 6 ('memory_python', 'pythonMemoryUsage'), 7 ('memory_virtual', 'virtualMemory'), 8 ('memory_workingset', 'workingSetSize')) 9 10 def _mean(values): 11 if len(values) > 0: 12 return sum(values) / len(values) 13 else: 14 return 0 15 16 17 def calculate_average_stats(duration): 18 samples = blue.pyos.cpuUsage[-int(duration):] 19 results = {stat_name:_mean([ getattr(sample, attribute) for sample in samples ]) for stat_name, attribute in _AVERAGED_SAMPLE_ATTRIBUTES} 20 results['cpu_usage'] = results['cpu_usage'] / 100000000.0 21 return results 22 23 24 def current_cpu_user_time(): 25 return blue.sysinfo.GetProcessTimes().userTime