Split OOMDisplay.show() into smaller pieces
to improve the readability
This commit is contained in:
parent
ab2905e0ae
commit
d23f2dc23c
100
OOMAnalyser.py
100
OOMAnalyser.py
@ -3803,9 +3803,9 @@ Out of memory: Killed process 651 (unattended-upgr) total-vm:108020kB, anon-rss:
|
||||
|
||||
toc_content.innerHTML = new_toc
|
||||
|
||||
def pstable_fill_HTML(self):
|
||||
def _show_pstable(self):
|
||||
"""
|
||||
Create the process table with additional information
|
||||
Create and show the process table with additional information
|
||||
"""
|
||||
# update table heading
|
||||
for i, element in enumerate(
|
||||
@ -3988,51 +3988,20 @@ Out of memory: Killed process 651 (unattended-upgr) total-vm:108020kB, anon-rss:
|
||||
"""
|
||||
Show all extracted details as well as additionally generated information
|
||||
"""
|
||||
hide_element("input")
|
||||
show_element("analysis")
|
||||
if self.oom_result.oom_type == OOMEntityType.manual:
|
||||
hide_elements(".js-oom-automatic--show")
|
||||
show_elements(".js-oom-manual--show")
|
||||
else:
|
||||
show_elements(".js-oom-automatic--show")
|
||||
hide_elements(".js-oom-manual--show")
|
||||
|
||||
for item in self.oom_result.details.keys():
|
||||
# ignore internal items
|
||||
if item.startswith("_"):
|
||||
continue
|
||||
self._set_item(item)
|
||||
|
||||
# Hide "OOM Score" if not available
|
||||
# since KernelConfig_5_0.EXTRACT_PATTERN_OVERLAY_50['Process killed by OOM']
|
||||
if "killed_proc_score" in self.oom_result.details:
|
||||
show_elements(".js-killed-proc-score--show")
|
||||
else:
|
||||
hide_elements(".js-killed-proc-score--show")
|
||||
self._show_items()
|
||||
self._show_swap_usage()
|
||||
self._show_ram_usage()
|
||||
|
||||
# generate process table
|
||||
self.pstable_fill_HTML()
|
||||
self._show_pstable()
|
||||
self.pstable_set_sort_triangle()
|
||||
|
||||
# show/hide swap space
|
||||
if self.oom_result.swap_active:
|
||||
# generate swap usage diagram
|
||||
svg = SVGChart()
|
||||
svg_swap = svg.generate_chart(
|
||||
"Swap Summary",
|
||||
("Swap Used", self.oom_result.details["swap_used_kb"]),
|
||||
("Swap Free", self.oom_result.details["swap_free_kb"]),
|
||||
("Swap Cached", self.oom_result.details["swap_cache_kb"]),
|
||||
)
|
||||
elem_svg_swap = document.getElementById("svg_swap")
|
||||
elem_svg_swap.appendChild(svg_swap)
|
||||
show_elements(".js-swap-active--show")
|
||||
hide_elements(".js-swap-inactive--show")
|
||||
else:
|
||||
hide_elements(".js-swap-active--show")
|
||||
show_elements(".js-swap-inactive--show")
|
||||
element = document.getElementById("oom")
|
||||
element.textContent = self.oom_result.oom_text
|
||||
self.toggle_oom(show=False)
|
||||
|
||||
# generate RAM usage diagram
|
||||
def _show_ram_usage(self):
|
||||
"""Generate RAM usage diagram"""
|
||||
ram_title_attr = (
|
||||
("Active mem", "active_anon_pages"),
|
||||
("Inactive mem", "inactive_anon_pages"),
|
||||
@ -4064,9 +4033,48 @@ Out of memory: Killed process 651 (unattended-upgr) total-vm:108020kB, anon-rss:
|
||||
elem_svg_ram = document.getElementById("svg_ram")
|
||||
elem_svg_ram.appendChild(svg_ram)
|
||||
|
||||
element = document.getElementById("oom")
|
||||
element.textContent = self.oom_result.oom_text
|
||||
self.toggle_oom(show=False)
|
||||
def _show_swap_usage(self):
|
||||
"""Show/hide swap space and generate usage diagram"""
|
||||
if self.oom_result.swap_active:
|
||||
# generate swap usage diagram
|
||||
svg = SVGChart()
|
||||
svg_swap = svg.generate_chart(
|
||||
"Swap Summary",
|
||||
("Swap Used", self.oom_result.details["swap_used_kb"]),
|
||||
("Swap Free", self.oom_result.details["swap_free_kb"]),
|
||||
("Swap Cached", self.oom_result.details["swap_cache_kb"]),
|
||||
)
|
||||
elem_svg_swap = document.getElementById("svg_swap")
|
||||
elem_svg_swap.appendChild(svg_swap)
|
||||
show_elements(".js-swap-active--show")
|
||||
hide_elements(".js-swap-inactive--show")
|
||||
else:
|
||||
hide_elements(".js-swap-active--show")
|
||||
show_elements(".js-swap-inactive--show")
|
||||
|
||||
def _show_items(self):
|
||||
"""Switch to output view and show most items"""
|
||||
hide_element("input")
|
||||
show_element("analysis")
|
||||
if self.oom_result.oom_type == OOMEntityType.manual:
|
||||
hide_elements(".js-oom-automatic--show")
|
||||
show_elements(".js-oom-manual--show")
|
||||
else:
|
||||
show_elements(".js-oom-automatic--show")
|
||||
hide_elements(".js-oom-manual--show")
|
||||
|
||||
for item in self.oom_result.details.keys():
|
||||
# ignore internal items
|
||||
if item.startswith("_"):
|
||||
continue
|
||||
self._set_item(item)
|
||||
|
||||
# Hide "OOM Score" if not available
|
||||
# since KernelConfig_5_0.EXTRACT_PATTERN_OVERLAY_50['Process killed by OOM']
|
||||
if "killed_proc_score" in self.oom_result.details:
|
||||
show_elements(".js-killed-proc-score--show")
|
||||
else:
|
||||
hide_elements(".js-killed-proc-score--show")
|
||||
|
||||
def sort_pstable(self, column_number):
|
||||
"""
|
||||
@ -4102,7 +4110,7 @@ Out of memory: Killed process 651 (unattended-upgr) total-vm:108020kB, anon-rss:
|
||||
self.sort_order = "descending"
|
||||
self.sort_psindex_by_column(column_name, True)
|
||||
|
||||
self.pstable_fill_HTML()
|
||||
self._show_pstable()
|
||||
self.pstable_set_sort_triangle()
|
||||
|
||||
def sort_psindex_by_column(self, column_name, reverse=False):
|
||||
|
Loading…
Reference in New Issue
Block a user