diff --git a/klippy/extras/statistics.py b/klippy/extras/statistics.py index 84186ed1..f79c7add 100644 --- a/klippy/extras/statistics.py +++ b/klippy/extras/statistics.py @@ -1,9 +1,24 @@ # Support for logging periodic statistics # -# Copyright (C) 2018 Kevin O'Connor +# Copyright (C) 2018-2020 Kevin O'Connor # # This file may be distributed under the terms of the GNU GPLv3 license. -import logging +import os, time, logging + +def get_os_stats(eventtime): + # Get core usage stats + msg = "sysload=%.2f cputime=%.3f" % (os.getloadavg()[0], time.clock()) + # Get available system memory + try: + f = open("/proc/meminfo", "rb") + data = f.read() + f.close() + for line in data.split('\n'): + if line.startswith("MemAvailable:"): + msg = "%s memavail=%s" % (msg, line.split()[1]) + except: + pass + return (False, msg) class PrinterStats: def __init__(self, config): @@ -21,6 +36,7 @@ class PrinterStats: def generate_stats(self, eventtime): stats = [cb(eventtime) for cb in self.stats_cb] if max([s[0] for s in stats]): + stats.append(get_os_stats(eventtime)) logging.info("Stats %.1f: %s", eventtime, ' '.join([s[1] for s in stats])) return eventtime + 1.