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
|
||||
|
||||
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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue