2020-02-22 18:48:11 +01:00
|
|
|
import os
|
2020-02-22 13:18:18 +01:00
|
|
|
import sys
|
2020-02-12 12:39:01 +01:00
|
|
|
|
|
|
|
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 = []
|
2020-02-22 18:48:11 +01:00
|
|
|
configs = []
|
2020-02-12 12:39:01 +01:00
|
|
|
|
|
|
|
headerColor = 'grey'
|
|
|
|
rowEvenColor = 'lightgrey'
|
|
|
|
rowOddColor = 'white'
|
|
|
|
|
|
|
|
colors = [
|
2020-02-22 18:48:11 +01:00
|
|
|
'rgb(63, 255, 63)',
|
|
|
|
'rgb(191, 255, 63)',
|
|
|
|
'rgb(223, 255, 63)',
|
|
|
|
'rgb(255, 255, 63)',
|
|
|
|
'rgb(255, 191, 63)',
|
|
|
|
'rgb(255, 127, 63)',
|
|
|
|
'rgb(255, 63, 63)',
|
2020-02-12 12:39:01 +01:00
|
|
|
]
|
|
|
|
|
2020-02-22 18:48:11 +01:00
|
|
|
for filename in sorted(os.listdir(sys.argv[1])):
|
|
|
|
configs.append(filename[:-4])
|
|
|
|
with open(os.path.join(sys.argv[1], 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(int(new_dict['thread'] / 1000))
|
|
|
|
fork.append(int(new_dict['fork'] / 1000))
|
|
|
|
read.append(int(new_dict['read'] / 1000))
|
|
|
|
write.append(int(new_dict['write'] / 1000))
|
|
|
|
mmap_munmap.append(int(new_dict['mmap_munmap'] / 1000))
|
|
|
|
send.append(int(new_dict['send'] / 1000))
|
|
|
|
recv.append(int(new_dict['recv'] / 1000))
|
|
|
|
page_fault.append(int(new_dict['page_fault'] / 1000))
|
|
|
|
|
|
|
|
|
|
|
|
threadcolorfilter = interp1d([min(thread), max(thread)], [0, 6])
|
2020-02-12 12:39:01 +01:00
|
|
|
threadcolor = [int(threadcolorfilter(x)) for x in thread]
|
|
|
|
|
2020-02-22 18:48:11 +01:00
|
|
|
forkcolorfilter = interp1d([min(fork), max(fork)], [0, 6])
|
2020-02-12 12:39:01 +01:00
|
|
|
forkcolor = [int(forkcolorfilter(x)) for x in fork]
|
|
|
|
|
2020-02-22 18:48:11 +01:00
|
|
|
readcolorfilter = interp1d([min(read), max(read)], [0, 6])
|
2020-02-12 12:39:01 +01:00
|
|
|
readcolor = [int(readcolorfilter(x)) for x in read]
|
|
|
|
|
2020-02-22 18:48:11 +01:00
|
|
|
writecolorfilter = interp1d([min(write), max(write)], [0, 6])
|
2020-02-12 12:39:01 +01:00
|
|
|
writecolor = [int(writecolorfilter(x)) for x in write]
|
|
|
|
|
2020-02-22 18:48:11 +01:00
|
|
|
mmap_munmapcolorfilter = interp1d([min(mmap_munmap), max(mmap_munmap)], [0, 6])
|
2020-02-12 12:39:01 +01:00
|
|
|
mmap_munmapcolor = [int(mmap_munmapcolorfilter(x)) for x in mmap_munmap]
|
|
|
|
|
2020-02-22 18:48:11 +01:00
|
|
|
sendcolorfilter = interp1d([min(send), max(send)], [0, 6])
|
2020-02-12 12:39:01 +01:00
|
|
|
sendcolor = [int(sendcolorfilter(x)) for x in send]
|
|
|
|
|
2020-02-22 18:48:11 +01:00
|
|
|
recvcolorfilter = interp1d([min(recv), max(recv)], [0, 6])
|
2020-02-12 12:39:01 +01:00
|
|
|
recvcolor = [int(recvcolorfilter(x)) for x in recv]
|
|
|
|
|
2020-02-22 18:48:11 +01:00
|
|
|
page_faultcolorfilter = interp1d([min(page_fault), max(page_fault)], [0, 6])
|
2020-02-12 12:39:01 +01:00
|
|
|
page_faultcolor = [int(page_faultcolorfilter(x)) for x in page_fault]
|
|
|
|
|
|
|
|
fig = go.Figure(
|
2020-02-22 18:48:11 +01:00
|
|
|
data=[go.Table(
|
|
|
|
columnorder=[1, 2, 3, 4, 5, 6, 7, 8, 9],
|
|
|
|
columnwidth=[7, 2, 2, 2, 2, 3, 2, 2, 2],
|
|
|
|
header=dict(
|
|
|
|
values=[
|
|
|
|
"config",
|
|
|
|
"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=[
|
|
|
|
configs,
|
|
|
|
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)
|
|
|
|
)
|
|
|
|
)]
|
2020-02-12 12:39:01 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
fig.show()
|