def metrics()

in mutornadomon/monitor.py [0:0]


    def metrics(self):
        """Return the current metrics. Resets max gauges."""
        me = psutil.Process(os.getpid())

        # Starting with 2.0.0, get_* methods are deprecated.
        # At 3.1.1 they are dropped.
        if psutil.version_info < (2, 0, 0):
            meminfo = me.get_memory_info()
            cpuinfo = me.get_cpu_times()
            create_time = me.create_time
            num_threads = me.get_num_threads()
            num_fds = me.get_num_fds()
        else:
            meminfo = me.memory_info()
            cpuinfo = me.cpu_times()
            create_time = me.create_time()
            num_threads = me.num_threads()
            num_fds = me.num_fds()
        rv = {
            'process': {
                'uptime': time.time() - create_time,
                'meminfo': {
                    'rss_bytes': meminfo.rss,
                    'vsz_bytes': meminfo.vms,
                },
                'cpu': {
                    'user_time': cpuinfo.user,
                    'system_time': cpuinfo.system,
                    'num_threads': num_threads,
                },
                'num_fds': num_fds
            },
            'counters': dict(self._COUNTERS),
            'gauges': self._GAUGES,
            'max_gauges': self._MAX_GAUGES,
            'min_gauges': self._MIN_GAUGES,
        }
        self._reset_ephemeral()
        return rv