NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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