diff --git a/monitorplugins/cpu.py b/monitorplugins/cpu.py index 5668cd0..1780295 100644 --- a/monitorplugins/cpu.py +++ b/monitorplugins/cpu.py @@ -17,6 +17,9 @@ # import os +import logging, tuned_logging + +log = logging.getLogger("tuned.cpumonitor") class CPUMonitor: def __init__(self): @@ -25,15 +28,17 @@ class CPUMonitor: def __update__(self): self.loadavg = float(open("/proc/loadavg").read().split()[0]) + log.debug("Load is %s" % self.loadavg) def init(self, config): + log.debug("Init") self.config = config + log.info("Module is %s" % ("enabled" if self.enabled else "disabled")) if self.config.has_option("CPUMonitor", "enabled"): self.enabled = (self.config.get("CPUMonitor", "enabled") == "True") - interval = self.config.getint("main", "interval") def cleanup(self): - pass + log.debug("Cleanup") def getLoad(self): if not self.enabled: diff --git a/monitorplugins/disk.py b/monitorplugins/disk.py index 1064809..5e9495c 100644 --- a/monitorplugins/disk.py +++ b/monitorplugins/disk.py @@ -17,12 +17,14 @@ # import os +import logging, tuned_logging + +log = logging.getLogger("tuned.diskmonitor") class DiskMonitor: def __init__(self): self.devices = {} self.enabled = True - self.verbose = False def __calcdiff__(self, dev): l = [] @@ -44,16 +46,16 @@ class DiskMonitor: self.__updateStat__(dev) self.devices[dev]["diff"] = self.__calcdiff__(dev) + log.debug("%s diff: %s" % (dev, self.devices[dev]["diff"])) + def init(self, config): + log.debug("Init") + self.config = config if self.config.has_option("DiskMonitor", "enabled"): self.enabled = (self.config.get("DiskMonitor", "enabled") == "True") - try: - self.verbose = (self.config.get("main","verbose") == "True") - self.verbose = (self.config.get("DiskMonitor", "verbose") == "True") - print self.verbose - except: - pass + + log.info("Module is %s" % ("enabled" if self.enabled else "disabled")) dnames = os.listdir("/sys/block/") for d in dnames: @@ -68,11 +70,11 @@ class DiskMonitor: self.devices[d]["max"] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] self.__updateStat__(d) self.devices[d]["max"] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] - if self.verbose: - print self.devices + + log.info("Available hard drives: %s" % ", ".join(self.devices.keys())) def cleanup(self): - pass + log.debug("Cleanup") def getLoad(self): if not self.enabled: diff --git a/monitorplugins/net.py b/monitorplugins/net.py index 3c68e3d..8d62043 100644 --- a/monitorplugins/net.py +++ b/monitorplugins/net.py @@ -17,13 +17,15 @@ # import os +import logging, tuned_logging from tuned_nettool import ethcard +log = logging.getLogger("tuned.netmonitor") + class NetMonitor: def __init__(self): self.devices = {} self.enabled = True - self.verbose = False devs = open("/proc/net/dev").readlines() for l in devs: l = l.replace(":", " ") @@ -71,25 +73,26 @@ class NetMonitor: self.__updateStat__(dev) self.devices[dev]["diff"] = self.__calcdiff__(dev) + log.debug("%s diff: %s" % (dev, self.devices[dev]["diff"])) + def init(self, config): + log.debug("Init") + self.config = config if self.config.has_option("NetMonitor", "enabled"): self.enabled = (self.config.get("NetMonitor", "enabled") == "True") interval = self.config.getint("main", "interval") - try: - self.verbose = (self.config.get("main", "verbose") == "True") - self.verbose = (self.config.get("NetMonitor", "verbose") == "True") - except: - pass + + log.info("Module is %s" % ("enabled" if self.enabled else "disabled")) + for d in self.devices.keys(): max_data = self.__calcspeed__(ethcard(d).get_max_speed()) * interval; self.devices[d]["max"] = [max_data, 1, max_data, 1] - if self.verbose: - print self.devices + log.info("Available ethernet cards: %s" % ", ".join(self.devices.keys())) def cleanup(self): - pass + log.debug("Cleanup") def getLoad(self): if not self.enabled: @@ -101,8 +104,7 @@ class NetMonitor: ret["NET"][dev] = {} ret["NET"][dev]["READ"] = float(self.devices[dev]["diff"][0]) / float(self.devices[dev]["max"][0]) ret["NET"][dev]["WRITE"] = float(self.devices[dev]["diff"][2]) / float(self.devices[dev]["max"][2]) - if self.verbose: - print self.devices + return ret _plugin = NetMonitor() diff --git a/tuningplugins/cpu.py b/tuningplugins/cpu.py index de6d8b5..10392cd 100644 --- a/tuningplugins/cpu.py +++ b/tuningplugins/cpu.py @@ -17,6 +17,9 @@ # import os +import logging, tuned_logging + +log = logging.getLogger("tuned.cputuning") class CPUTuning: def __init__(self): @@ -24,6 +27,8 @@ class CPUTuning: self.enabled = True def init(self, config): + log.debug("Init") + self.config = config if self.config.has_option("CPUTuning", "enabled"): self.enabled = (self.config.get("CPUTuning", "enabled") == "True") @@ -32,7 +37,10 @@ class CPUTuning: except: self.enabled = False + log.info("Module is %s" % ("enabled" if self.enabled else "disabled")) + def cleanup(self): + log.debug("Cleanup") if not self.enabled: return open("/dev/cpu_dma_latency", "w").write("100\n") @@ -42,9 +50,11 @@ class CPUTuning: return loadavg = load.setdefault("CPU", 0.0) if self.latency == 100 and loadavg < 0.2: + log.debug("Setting latency to 999") self.latency = 999 open("/dev/cpu_dma_latency", "w").write("999\n") if self.latency == 999 and loadavg > 0.2: + log.debug("Setting latency to 100") self.latency = 100 open("/dev/cpu_dma_latency", "w").write("100\n") diff --git a/tuningplugins/disk.py b/tuningplugins/disk.py index 05a93be..dbcdf12 100644 --- a/tuningplugins/disk.py +++ b/tuningplugins/disk.py @@ -17,6 +17,9 @@ # import os, copy +import logging, tuned_logging + +log = logging.getLogger("tuned.disktuning") class DiskTuning: def __init__(self): @@ -25,7 +28,6 @@ class DiskTuning: self.power = ["255", "225", "195", "165", "145", "125", "105", "85", "70", "55", "30", "20"] self.spindown = ["0", "250", "230", "210", "190", "170", "150", "130", "110", "90", "70", "60"] self.levels = len(self.power) - self.verbose = False def __updateIdle__(self, dev, devload): idle = self.devidle.setdefault(dev, {}) @@ -39,17 +41,16 @@ class DiskTuning: idle[type] = 0 def init(self, config): + log.debug("Init") + self.config = config + log.info("Module is %s" % ("enabled" if self.enabled else "disabled")) if self.config.has_option("DiskTuning", "enabled"): self.enabled = (self.config.get("DiskTuning", "enabled") == "True") - try: - self.verbose = (self.config.get("main", "verbose") == "True") - self.verbose = (self.config.get("DiskTuning","verbose") == "True") - print self.verbose - except: - pass def cleanup(self): + log.debug("Cleanup") + for dev in self.devidle.keys(): if self.enabled and self.devidle[dev]["LEVEL"] > 0: os.system("hdparm -S0 -B255 /dev/"+dev+" > /dev/null 2>&1") @@ -65,6 +66,8 @@ class DiskTuning: self.devidle[dev].setdefault("LEVEL", 0) self.devidle[dev]["LEVEL"] += 1 level = self.devidle[dev]["LEVEL"] + + log.debug("Level changed to %d (power %s, spindown %s)" % (level, self.power[level], self.spindown[level])) os.system("hdparm -S"+self.power[level]+" -B"+self.spindown[level]+" /dev/"+dev+" > /dev/null 2>&1") if self.devidle[dev]["LEVEL"] > 0 and (self.devidle[dev]["READ"] == 0 or self.devidle[dev]["WRITE"] == 0): self.devidle[dev].setdefault("LEVEL", 0) @@ -72,7 +75,11 @@ class DiskTuning: if self.devidle[dev]["LEVEL"] < 0: self.devidle[dev]["LEVEL"] = 0 level = self.devidle[dev]["LEVEL"] + + log.debug("Level changed to %d (power %s, spindown %s)" % (level, self.power[level], self.spindown[level])) os.system("hdparm -S"+self.power[level]+" -B"+self.spindown[level]+" /dev/"+dev+" > /dev/null 2>&1") - if self.verbose: - print (load,self.devidle) + + log.debug("%s load: read %f, write %f" % (dev, load["DISK"][dev]["READ"], load["DISK"][dev]["WRITE"])) + log.debug("%s idle: read %d, write %d, level %d" % (dev, self.devidle[dev]["READ"], self.devidle[dev]["WRITE"], self.devidle[dev]["LEVEL"])) + _plugin = DiskTuning() diff --git a/tuningplugins/net.py b/tuningplugins/net.py index d53171b..b72d4ae 100644 --- a/tuningplugins/net.py +++ b/tuningplugins/net.py @@ -17,13 +17,15 @@ # import os, copy +import logging, tuned_logging from tuned_nettool import ethcard +log = logging.getLogger("tuned.nettuning") + class NetTuning: def __init__(self): self.devidle = {} self.enabled = True - self.verbose = False def __updateIdle__(self, dev, devload): idle = self.devidle.setdefault(dev, {}) @@ -37,16 +39,17 @@ class NetTuning: idle[type] = 0 def init(self, config): + log.debug("Init") + self.config = config if self.config.has_option("NetTuning", "enabled"): self.enabled = (self.config.get("NetTuning", "enabled") == "True") - try: - self.verbose = (self.config.get("main", "verbose") == "True") - self.verbose = (self.config.get("NetTuning", "verbose") == "True") - except: - pass + + log.info("Module is %s" % ("enabled" if self.enabled else "disabled")) def cleanup(self): + log.debug("Cleanup") + for dev in self.devidle.keys(): if self.enabled and self.devidle[dev]["LEVEL"] > 0: ethcard(dev).set_max_speed() @@ -60,10 +63,13 @@ class NetTuning: self.__updateIdle__(dev, devload) if self.devidle[dev]["LEVEL"] == 0 and self.devidle[dev]["READ"] >= 6 and self.devidle[dev]["WRITE"] >= 6: self.devidle[dev]["LEVEL"] = 1 + + log.debug("%s: setting 100Mbps" % dev) ethcard(dev).set_speed(100) # FIXME: what about making this more dynamic? if self.devidle[dev]["LEVEL"] > 0 and (self.devidle[dev]["READ"] == 0 or self.devidle[dev]["WRITE"] == 0): self.devidle[dev]["LEVEL"] = 0 + + log.debug("%s: setting maximal speed" % dev) ethcard(dev).set_max_speed() - if self.verbose: - print(load, self.devidle) + _plugin = NetTuning()