Files
blog/templates/shortcodes/fio_benchmark.md

104 lines
3.1 KiB
Markdown

{% set data = load_data(path=path, format="json") -%}
<canvas id="fio-{{ nth }}-iops"></canvas>
<canvas id="fio-{{ nth }}-bw"></canvas>
<script>
{
const data = {{ data | json_encode() }};
new Chart(document.getElementById('fio-{{ nth }}-iops'), {
type: 'bar',
data: {
labels: data.labels,
datasets: data.iodepths.map((depth_run) => {
return {
label: "IO-Depth " + depth_run.iodepth,
data: depth_run.iops
};
})
},
options: {
scales: {
y: {
title: {
display: true,
text: "IOPS"
},
beginAtZero: true,
ticks: {
// Callback to format SI units
callback: function(value, index, ticks) {
if (value >= 1000000) {
return (value / 1000000) + 'M';
} else if (value >= 1000) {
return (value / 1000) + 'k';
}
return value;
}
}
},
x: {
title: {
display: true,
text: "Block Size"
}
}
},
plugins: {
title: {
display: true,
text: "IOPS"
}
}
}
});
new Chart(document.getElementById('fio-{{ nth }}-bw'), {
type: 'bar',
data: {
labels: data.labels,
datasets: data.iodepths.map((depth_run) => {
return {
label: "IO-Depth " + depth_run.iodepth,
data: depth_run.bw
};
})
},
options: {
scales: {
y: {
title: {
display: true,
text: "Throughput"
},
beginAtZero: true,
ticks: {
// Callback to format SI units
callback: function(value, index, ticks) {
if (value >= 1000000000) {
return (value / 1000000000) + 'GB/s';
} else if (value >= 1000000) {
return (value / 1000000) + 'MB/s';
} else if (value >= 1000) {
return (value / 1000) + 'kB/s';
}
return value;
}
}
},
x: {
title: {
display: true,
text: "Block Size"
}
}
},
plugins: {
title: {
display: true,
text: "Throughput"
}
}
}
});
}
</script>