function getLine()

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 });
}