ROCKPro64 Armbian RAID5 iozone

In [1]:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sb
import numpy as np
import matplotlib.tri as mtri
In [4]:
def make_charts(filename, title):
    data = pd.read_csv(filename, index_col=0)
    df=data.unstack().reset_index()
    df.columns=["X","Y","Z"]
    df['X'] = df['X'].astype(str).astype(int)
    df = df.fillna(0)
    
    pivotted= df.pivot('Y','X','Z')

    ax = sb.heatmap(pivotted,cmap=plt.cm.afmhot, cbar_kws={'label': 'Transfer Size in KBytes'})
    ax.set(xlabel='KBytes per Second', ylabel='File Size in KBytes')
    ax.set_title(title, y=1.0)
    #ax.figure.set_figwidth(10)
    #ax.figure.set_figheight(10)
    
    sb.set_style('whitegrid')

    
    plt.savefig("{}-heatmap.png".format(title.replace(" ", "-")))
    
    fig = plt.figure()
    sb.set_style('whitegrid')
    fig.set_figheight(10)
    fig.set_figwidth(10)

    tri = mtri.Triangulation(df['X'], df['Y'])
    
    ax = fig.add_subplot(projection='3d')
    ax.plot_trisurf(df['X'], df['Y'], df['Z'], cmap=plt.cm.afmhot, linewidth=0.2,  antialiased=True, triangles=tri.triangles)
    ax.view_init(20, 20, 0)

    ax.set_zlabel('Transfer Size in KBytes')

    ax.set_xlabel('KBytes per Second')
    ax.set_ylabel('File Size in KBytes')

    plt.grid(True)
    plt.rcParams['axes.titley'] = 0.95
    plt.title(title)

    plt.show()
    plt.savefig("{}-3D.png".format(title.replace(" ", "-")))
In [6]:
make_charts("./data/rpro64-software-raid-reader.csv", "Read")
make_charts("./data/rpro64-software-raid-writer.csv", "Write")
make_charts("./data/rpro64-software-raid-freader.csv", "fread")
make_charts("./data/rpro64-software-raid-fwriter.csv", "fwrite")
make_charts("./data/rpro64-software-raid-random-reader.csv", "Random_Read")
make_charts("./data/rpro64-software-raid-stride-reader.csv", "Stride_Read")
/tmp/ipykernel_154343/896818185.py:8: FutureWarning: In a future version of pandas all arguments of DataFrame.pivot will be keyword-only.
  pivotted= df.pivot('Y','X','Z')
No description has been provided for this image
No description has been provided for this image
/tmp/ipykernel_154343/896818185.py:8: FutureWarning: In a future version of pandas all arguments of DataFrame.pivot will be keyword-only.
  pivotted= df.pivot('Y','X','Z')
No description has been provided for this image
No description has been provided for this image
/tmp/ipykernel_154343/896818185.py:8: FutureWarning: In a future version of pandas all arguments of DataFrame.pivot will be keyword-only.
  pivotted= df.pivot('Y','X','Z')
No description has been provided for this image
No description has been provided for this image
/tmp/ipykernel_154343/896818185.py:8: FutureWarning: In a future version of pandas all arguments of DataFrame.pivot will be keyword-only.
  pivotted= df.pivot('Y','X','Z')
No description has been provided for this image
No description has been provided for this image
/tmp/ipykernel_154343/896818185.py:8: FutureWarning: In a future version of pandas all arguments of DataFrame.pivot will be keyword-only.
  pivotted= df.pivot('Y','X','Z')
No description has been provided for this image
No description has been provided for this image
/tmp/ipykernel_154343/896818185.py:8: FutureWarning: In a future version of pandas all arguments of DataFrame.pivot will be keyword-only.
  pivotted= df.pivot('Y','X','Z')
No description has been provided for this image
No description has been provided for this image
<Figure size 640x480 with 0 Axes>
In [ ]: