in src/html_files/interrupts.ts [4:47]
function getLine(run, elem, key, run_data) {
var data = JSON.parse(run_data);
var cpus = data[0].per_cpu.length;
var interrupt_type_datas = [];
for (let cpu = 0; cpu < cpus; cpu++) {
var x_time = [];
var y_data = [];
data.forEach(function (value, index, arr) {
value.per_cpu.forEach(function (v, i, a) {
if (v.cpu == cpu) {
x_time.push(value.time.TimeDiff);
y_data.push(v.count);
}
})
})
var interrupt_cpu_data: Partial<Plotly.PlotData> = {
name: `CPU ${cpu}`,
x: x_time,
y: y_data,
type: 'scatter',
};
if (interrupt_cpu_list.get(run).cpulist.indexOf(cpu.toString()) == -1) {
interrupt_cpu_data.visible = 'legendonly';
}
interrupt_type_datas.push(interrupt_cpu_data);
}
var title;
if (data[0].interrupt_device != "") {
title = `Interrupt #${key} (${data[0].interrupt_device} ${data[0].interrupt_type})`;
} else {
title = `${key} (${data[0].interrupt_type})`;
}
var TESTER = elem;
var layout = {
title: title,
xaxis: {
title: 'Time (s)',
},
yaxis: {
title: 'Count',
}
};
Plotly.newPlot(TESTER, interrupt_type_datas, layout, { frameMargins: 0 });
}