Gracefully degrade under load, fixes #2
This commit is contained in:
parent
79b47e1130
commit
3358c807a0
1 changed files with 120 additions and 110 deletions
|
@ -268,14 +268,15 @@ class PathPart(Part):
|
||||||
"""
|
"""
|
||||||
/path/to/cwd
|
/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)
|
Part.__init__(self)
|
||||||
self.term_width = settings.term_width
|
self.term_width = settings.term_width
|
||||||
self.dirs = []
|
self.dirs = []
|
||||||
|
|
||||||
homes = dict(list_homes())
|
homes = {} if overloaded else dict(list_homes())
|
||||||
dirs = settings.cwd.split("/")[1:]
|
dirs = settings.cwd.split("/")[1:]
|
||||||
path = ""
|
path = ""
|
||||||
|
|
||||||
|
@ -490,6 +491,14 @@ class StatsPart(Part):
|
||||||
# tasks
|
# tasks
|
||||||
self.fragments.append("%d " %(sysload.tasks_total))
|
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)
|
# memory (and swap, if used)
|
||||||
mem_total = 0
|
mem_total = 0
|
||||||
mem_free = 0
|
mem_free = 0
|
||||||
|
@ -514,7 +523,7 @@ class StatsPart(Part):
|
||||||
if old_linux:
|
if old_linux:
|
||||||
self.fragments.append(style_color(COLOR_ERROR))
|
self.fragments.append(style_color(COLOR_ERROR))
|
||||||
self.fragments.append(style_bold())
|
self.fragments.append(style_bold())
|
||||||
self.fragments.append("❌ <linux-3.14 ❌")
|
self.fragments.append("⚠ <linux-3.14 ⚠")
|
||||||
else:
|
else:
|
||||||
self.fragments.append(style_color(COLOR_MEMSWAP))
|
self.fragments.append(style_color(COLOR_MEMSWAP))
|
||||||
self.fragments.append("m")
|
self.fragments.append("m")
|
||||||
|
@ -606,10 +615,11 @@ class StatsPart(Part):
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
settings = Settings(sys.argv)
|
settings = Settings(sys.argv)
|
||||||
sysload = Sysload()
|
sysload = Sysload()
|
||||||
|
overloaded = sysload.load1 >= settings.load_error
|
||||||
|
|
||||||
lp = LoginPart(settings, sysload)
|
lp = LoginPart(settings, sysload)
|
||||||
pp = PathPart(settings)
|
pp = PathPart(settings, overloaded)
|
||||||
gp = GitPart()
|
gp = "" if overloaded else GitPart()
|
||||||
vp = VirtualEnvPart()
|
vp = VirtualEnvPart()
|
||||||
wp = WineprefixPart()
|
wp = WineprefixPart()
|
||||||
pad = Padding(settings.term_width)
|
pad = Padding(settings.term_width)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue