Gracefully degrade under load, fixes #2

This commit is contained in:
Martinez 2016-10-06 11:42:15 +02:00
parent 79b47e1130
commit 3358c807a0

View file

@ -268,14 +268,15 @@ class PathPart(Part):
"""
/path/to/cwd
Contructs a list of Dirs from the root to CWD. When fit is called, some Dirs may be shortened.
Contructs a list of Dirs from the root to CWD. When shrink_fit is called, some Dirs may be shortened.
"""
def __init__(self, settings):
def __init__(self, settings, overloaded):
Part.__init__(self)
self.term_width = settings.term_width
self.dirs = []
homes = dict(list_homes())
homes = {} if overloaded else dict(list_homes())
dirs = settings.cwd.split("/")[1:]
path = ""
@ -490,6 +491,14 @@ class StatsPart(Part):
# tasks
self.fragments.append("%d " %(sysload.tasks_total))
if sysload.load1 >= settings.load_error:
self.fragments.append(" | ")
self.fragments.append(style_color(COLOR_ERROR))
self.fragments.append(style_bold())
self.fragments.append("⚠ OVERLOAD ⚠ ")
self.fragments.append(style_reset())
else:
# memory (and swap, if used)
mem_total = 0
mem_free = 0
@ -514,7 +523,7 @@ class StatsPart(Part):
if old_linux:
self.fragments.append(style_color(COLOR_ERROR))
self.fragments.append(style_bold())
self.fragments.append("❌ <linux-3.14 ❌")
self.fragments.append("⚠ <linux-3.14 ⚠")
else:
self.fragments.append(style_color(COLOR_MEMSWAP))
self.fragments.append("m")
@ -606,10 +615,11 @@ class StatsPart(Part):
if __name__ == "__main__":
settings = Settings(sys.argv)
sysload = Sysload()
overloaded = sysload.load1 >= settings.load_error
lp = LoginPart(settings, sysload)
pp = PathPart(settings)
gp = GitPart()
pp = PathPart(settings, overloaded)
gp = "" if overloaded else GitPart()
vp = VirtualEnvPart()
wp = WineprefixPart()
pad = Padding(settings.term_width)