results/show.py

120 lines
3.4 KiB
Python

from os import listdir
import numpy as np
import plotly.graph_objects as go
from scipy.interpolate import interp1d
thread = []
fork = []
read = []
write = []
mmap_munmap = []
send = []
recv = []
page_fault = []
filenames = []
for filename in listdir('output'):
filenames.append(filename)
with open('output/' + filename) as f:
content = f.readlines()
new_dict = dict()
for line in content[1:]:
new_dict[line.split(',')[0]] = int(line.split(',')[2])
thread.append(new_dict['thread'])
fork.append(new_dict['fork'])
read.append(new_dict['read'])
write.append(new_dict['write'])
mmap_munmap.append(new_dict['mmap_munmap'])
send.append(new_dict['send'])
recv.append(new_dict['recv'])
page_fault.append(new_dict['page_fault'])
headerColor = 'grey'
rowEvenColor = 'lightgrey'
rowOddColor = 'white'
colors = [
'rgb(0, 255, 0)', 'rgb(225, 255, 77)', 'rgb(212, 255, 77)',
'rgb(255, 255, 51)', 'rgb(255, 255, 0)', 'rgb(212, 255, 0)',
'rgb(255, 221, 51)', 'rgb(255, 102, 25)', 'rgb(255, 42, 0)'
]
threadcolorfilter = interp1d([min(thread), max(thread)], [0, 8])
threadcolor = [int(threadcolorfilter(x)) for x in thread]
forkcolorfilter = interp1d([min(fork), max(fork)], [0, 8])
forkcolor = [int(forkcolorfilter(x)) for x in fork]
readcolorfilter = interp1d([min(read), max(read)], [0, 8])
readcolor = [int(readcolorfilter(x)) for x in read]
writecolorfilter = interp1d([min(write), max(write)], [0, 8])
writecolor = [int(writecolorfilter(x)) for x in write]
mmap_munmapcolorfilter = interp1d([min(mmap_munmap), max(mmap_munmap)], [0, 8])
mmap_munmapcolor = [int(mmap_munmapcolorfilter(x)) for x in mmap_munmap]
sendcolorfilter = interp1d([min(send), max(send)], [0, 8])
sendcolor = [int(sendcolorfilter(x)) for x in send]
recvcolorfilter = interp1d([min(recv), max(recv)], [0, 8])
recvcolor = [int(recvcolorfilter(x)) for x in recv]
page_faultcolorfilter = interp1d([min(page_fault), max(page_fault)], [0, 8])
page_faultcolor = [int(page_faultcolorfilter(x)) for x in page_fault]
fig = go.Figure(
data=[go.Table(
columnorder=[1, 2, 3, 4, 5, 6, 7, 8, 9],
columnwidth=[10, 4, 4, 4, 4, 4, 4, 4, 4],
header=dict(
values=[
"filenames",
"thread",
"fork",
"read",
"write",
"mmap_munmap",
"send",
"recv",
"page_fault"
],
line_color='darkslategray',
fill_color=headerColor,
align=['left', 'center'],
font=dict(color='white', size=13)
),
cells=dict(
values=[
filenames,
thread,
fork,
read,
write,
mmap_munmap,
send,
recv,
page_fault,
],
line_color='darkslategray',
fill_color=[
rowOddColor,
np.array(colors)[threadcolor],
np.array(colors)[forkcolor],
np.array(colors)[readcolor],
np.array(colors)[writecolor],
np.array(colors)[mmap_munmapcolor],
np.array(colors)[sendcolor],
np.array(colors)[recvcolor],
np.array(colors)[page_faultcolor],
],
align=['left', 'center'],
font=dict(color='darkslategray', size=13)
)
)]
)
fig.show()