base_panel: usage report count at least 3 cycles of high usage
This commit is contained in:
parent
441cde585c
commit
1ac7465e82
@ -22,7 +22,7 @@ class BasePanel(ScreenPanel):
|
||||
self.titlebar_name_type = None
|
||||
self.current_extruder = None
|
||||
self.last_usage_report = datetime.now()
|
||||
self.usage_report = False
|
||||
self.usage_report = 0
|
||||
# Action bar buttons
|
||||
abscale = self.bts * 1.1
|
||||
self.control['back'] = self._gtk.Button('back', scale=abscale)
|
||||
@ -209,15 +209,14 @@ class BasePanel(ScreenPanel):
|
||||
|
||||
def process_update(self, action, data):
|
||||
if action == "notify_proc_stat_update":
|
||||
logging.info(action)
|
||||
cpu = (max(data["system_cpu_usage"][core] for core in data["system_cpu_usage"] if core.startswith("cpu")))
|
||||
memory = (data["system_memory"]["used"] / data["system_memory"]["total"]) * 100
|
||||
error = "message_popup_error"
|
||||
ctx = self.titlebar.get_style_context()
|
||||
msg = f"CPU: {cpu:2.0f}% RAM: {memory:2.0f}%"
|
||||
if cpu > 80 or memory > 85:
|
||||
if not self.usage_report:
|
||||
self.usage_report = True
|
||||
if self.usage_report < 3:
|
||||
self.usage_report += 1
|
||||
return
|
||||
self.last_usage_report = datetime.now()
|
||||
if not ctx.has_class(error):
|
||||
@ -228,7 +227,7 @@ class BasePanel(ScreenPanel):
|
||||
self.titlelbl.set_label(msg)
|
||||
if (datetime.now() - self.last_usage_report).seconds < 5:
|
||||
return
|
||||
self.usage_report = False
|
||||
self.usage_report = 0
|
||||
ctx.remove_class(error)
|
||||
self.titlelbl.set_label(f"{self._screen.connecting_to_printer}")
|
||||
return
|
||||
|
Loading…
x
Reference in New Issue
Block a user