diff options
author | Jimmy Hazevoet <jimhazevoet@gmail.com> | 2017-06-17 17:52:25 +0300 |
---|---|---|
committer | meta-androcto <meta.androcto1@gmail.com> | 2017-06-17 17:52:25 +0300 |
commit | e813b903c340fdc1edb2d51c4c5c492a55f367bf (patch) | |
tree | fe4df5a6cda6fb63b0ce2f08e2ad73023ca29060 /ant_landscape/stats.py | |
parent | 200a9bbbd480251d774424700a424f105022535a (diff) |
Ant Landscape: fix requested ui changes
Diffstat (limited to 'ant_landscape/stats.py')
-rw-r--r-- | ant_landscape/stats.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/ant_landscape/stats.py b/ant_landscape/stats.py new file mode 100644 index 00000000..a5053465 --- /dev/null +++ b/ant_landscape/stats.py @@ -0,0 +1,55 @@ +from time import time + +try: + import psutil + print('psutil available') + psutil_available=True +except ImportError: + psutil_available=False + +class Stats: + def __init__(self): + self.memstats_available = False + if psutil_available: + self.process=psutil.Process() + self.memstats_available = True + self.reset() + + def reset(self): + self.lasttime=self._gettime() + self.lastmem=self._getmem() + self.basemem = self.lastmem + self.maxmem=0 + self.elapsedtime=0 + + def _gettime(self): + """return the time in seconds used by the current process.""" + if psutil_available: + m=self.process.get_cpu_times() + return m.user+m.system + return time() + + def _getmem(self): + """return the resident set size in bytes used by the current process.""" + if psutil_available: + m=self.process.get_memory_info() + return m.rss + return 0 + + def time(self): + """return the time since the last call in seconds used by the current process.""" + old = self.lasttime + self.lasttime = self._gettime() + self.elapsedtime = self.lasttime-old + return self.elapsedtime + + def memory(self): + """return the maximum resident set size since the first call in bytes used by the current process.""" + self.lastmem = self._getmem() + d = self.lastmem - self.basemem + if d>self.maxmem: + self.maxmem = d + return self.maxmem + + +
\ No newline at end of file |