[modules/cpu] Add configurable warning and critical thresholds

The cpu module now has cpu.warning and cpu.critical thresholds. If the
CPU utilization is higher than any of those values, the widget's state
changes to warning or critical, respectively.

see #23
This commit is contained in:
Tobi-wan Kenobi 2016-12-10 08:09:13 +01:00
parent 87e76b9e40
commit 225d471c6a
5 changed files with 60 additions and 17 deletions

View file

@ -1,6 +1,11 @@
# pylint: disable=C0111,R0903
"""Displays CPU utilization across all CPUs."""
"""Displays CPU utilization across all CPUs.
Parameters:
* cpu.warning : Warning threshold in % of CPU usage (defaults to 70%)
* cpu.critical: Critical threshold in % of CPU usage (defaults to 80%)
"""
import psutil
import bumblebee.input
@ -22,4 +27,11 @@ class Module(bumblebee.engine.Module):
def update(self, widgets):
self._utilization = psutil.cpu_percent(percpu=False)
def state(self, widget):
if self._utilization > int(self.parameter("critical", 80)):
return "critical"
if self._utilization > int(self.parameter("warning", 70)):
return "warning"
return None
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4