Use different color set for swap usage diagram
This commit is contained in:
parent
0473dbcc7d
commit
dd8b806bd3
@ -941,8 +941,8 @@ Killed process 6576 (mysqld) total-vm:33914892kB, anon-rss:20629004kB, file-rss:
|
|||||||
|
|
||||||
svg_namespace = 'http://www.w3.org/2000/svg'
|
svg_namespace = 'http://www.w3.org/2000/svg'
|
||||||
|
|
||||||
# 20 different colours generated with Colorgorical http://vrl.cs.brown.edu/color
|
# generated with Colorgorical http://vrl.cs.brown.edu/color
|
||||||
svg_colours = [
|
svg_colors_mem = [
|
||||||
'#aee39a',
|
'#aee39a',
|
||||||
'#344b46',
|
'#344b46',
|
||||||
'#1ceaf9',
|
'#1ceaf9',
|
||||||
@ -964,6 +964,15 @@ Killed process 6576 (mysqld) total-vm:33914892kB, anon-rss:20629004kB, file-rss:
|
|||||||
'#096013',
|
'#096013',
|
||||||
'#ff0087'
|
'#ff0087'
|
||||||
]
|
]
|
||||||
|
"""20 different colors for memory usage diagram"""
|
||||||
|
|
||||||
|
# generated with ColorBrewer (v2.0) https://colorbrewer2.org/?type=diverging&scheme=PuOr&n=3
|
||||||
|
svg_colors_swap = [
|
||||||
|
'#f1a340',
|
||||||
|
'#f7f7f7',
|
||||||
|
'#998ec3'
|
||||||
|
]
|
||||||
|
"""3 different colors for swap usage diagram"""
|
||||||
|
|
||||||
svg_array_updown = """
|
svg_array_updown = """
|
||||||
<svg width="8" height="11">
|
<svg width="8" height="11">
|
||||||
@ -1156,7 +1165,7 @@ Killed process 6576 (mysqld) total-vm:33914892kB, anon-rss:20629004kB, file-rss:
|
|||||||
svg.setAttribute('class', css_class)
|
svg.setAttribute('class', css_class)
|
||||||
return svg
|
return svg
|
||||||
|
|
||||||
def svg_create_rect(self, x=0, y=0, width=0, height=0, colour=None, title=None):
|
def svg_create_rect(self, x=0, y=0, width=0, height=0, color=None, title=None):
|
||||||
g = document.createElementNS(self.svg_namespace, 'g')
|
g = document.createElementNS(self.svg_namespace, 'g')
|
||||||
rect = document.createElementNS(self.svg_namespace, 'rect')
|
rect = document.createElementNS(self.svg_namespace, 'rect')
|
||||||
if x:
|
if x:
|
||||||
@ -1167,8 +1176,8 @@ Killed process 6576 (mysqld) total-vm:33914892kB, anon-rss:20629004kB, file-rss:
|
|||||||
rect.setAttribute('width', width)
|
rect.setAttribute('width', width)
|
||||||
if height:
|
if height:
|
||||||
rect.setAttribute('height', height)
|
rect.setAttribute('height', height)
|
||||||
if colour:
|
if color:
|
||||||
rect.setAttribute('fill', colour)
|
rect.setAttribute('fill', color)
|
||||||
if title:
|
if title:
|
||||||
t = document.createElementNS(self.svg_namespace, 'title')
|
t = document.createElementNS(self.svg_namespace, 'title')
|
||||||
t.textContent = title
|
t.textContent = title
|
||||||
@ -1176,7 +1185,7 @@ Killed process 6576 (mysqld) total-vm:33914892kB, anon-rss:20629004kB, file-rss:
|
|||||||
g.appendChild(rect)
|
g.appendChild(rect)
|
||||||
return g
|
return g
|
||||||
|
|
||||||
def svg_generate_bar_chart(self, css_class, *elements):
|
def svg_generate_bar_chart(self, color_list, *elements):
|
||||||
"""Generate a SVG bar chart"""
|
"""Generate a SVG bar chart"""
|
||||||
bar_height = 100
|
bar_height = 100
|
||||||
label_height = 80
|
label_height = 80
|
||||||
@ -1206,23 +1215,23 @@ Killed process 6576 (mysqld) total-vm:33914892kB, anon-rss:20629004kB, file-rss:
|
|||||||
if not rect_len:
|
if not rect_len:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
colour = self.svg_colours[nr_processed_elements % len(self.svg_colours)]
|
color = color_list[nr_processed_elements % len(color_list)]
|
||||||
|
|
||||||
rect = self.svg_create_rect(current_pos, 0, rect_len, bar_height, colour, title)
|
rect = self.svg_create_rect(current_pos, 0, rect_len, bar_height, color, title)
|
||||||
bar_group.appendChild(rect)
|
bar_group.appendChild(rect)
|
||||||
|
|
||||||
label_group = document.createElementNS(self.svg_namespace, 'g')
|
label_group = document.createElementNS(self.svg_namespace, 'g')
|
||||||
label_group.setAttribute('id', title)
|
label_group.setAttribute('id', title)
|
||||||
colour_rect = self.svg_create_rect(0, 0, 20, 20, colour)
|
color_rect = self.svg_create_rect(0, 0, 20, 20, color)
|
||||||
colour_rect.setAttribute('stroke', 'black')
|
color_rect.setAttribute('stroke', 'black')
|
||||||
colour_rect.setAttribute('stroke-width', 2)
|
color_rect.setAttribute('stroke-width', 2)
|
||||||
|
|
||||||
text = document.createElementNS(self.svg_namespace, 'text')
|
text = document.createElementNS(self.svg_namespace, 'text')
|
||||||
text.setAttribute('x', '30')
|
text.setAttribute('x', '30')
|
||||||
text.setAttribute('y', '18')
|
text.setAttribute('y', '18')
|
||||||
text.textContent = title
|
text.textContent = title
|
||||||
|
|
||||||
label_group.appendChild(colour_rect)
|
label_group.appendChild(color_rect)
|
||||||
label_group.appendChild(text)
|
label_group.appendChild(text)
|
||||||
|
|
||||||
# TODO replace hardcoded values
|
# TODO replace hardcoded values
|
||||||
@ -1326,6 +1335,7 @@ Killed process 6576 (mysqld) total-vm:33914892kB, anon-rss:20629004kB, file-rss:
|
|||||||
|
|
||||||
# generate swap usage diagram
|
# generate swap usage diagram
|
||||||
svg_swap = self.svg_generate_bar_chart(
|
svg_swap = self.svg_generate_bar_chart(
|
||||||
|
self.svg_colors_swap,
|
||||||
('Swap Used', self.oom_details['swap_used_kb']),
|
('Swap Used', self.oom_details['swap_used_kb']),
|
||||||
('Swap Free', self.oom_details['swap_free_kb']),
|
('Swap Free', self.oom_details['swap_free_kb']),
|
||||||
('Swap Cached', self.oom_details['swap_cache_kb']),
|
('Swap Cached', self.oom_details['swap_cache_kb']),
|
||||||
@ -1335,6 +1345,7 @@ Killed process 6576 (mysqld) total-vm:33914892kB, anon-rss:20629004kB, file-rss:
|
|||||||
|
|
||||||
# generate RAM usage diagram
|
# generate RAM usage diagram
|
||||||
svg_ram = self.svg_generate_bar_chart(
|
svg_ram = self.svg_generate_bar_chart(
|
||||||
|
self.svg_colors_mem,
|
||||||
('Active mem', self.oom_details['active_anon_pages']),
|
('Active mem', self.oom_details['active_anon_pages']),
|
||||||
('Inactive mem', self.oom_details['inactive_anon_pages']),
|
('Inactive mem', self.oom_details['inactive_anon_pages']),
|
||||||
('Isolated mem', self.oom_details['isolated_anon_pages']),
|
('Isolated mem', self.oom_details['isolated_anon_pages']),
|
||||||
|
Loading…
Reference in New Issue
Block a user