function getMeminfo()

in src/html_files/meminfo.ts [66:114]


function getMeminfo(elem, key, run_data) {
    var data = JSON.parse(run_data);
    var x_data = [];
    var y_data = [];
    data.data.values.forEach(function (value, index, arr) {
        x_data.push(value.time.TimeDiff);
        y_data.push(value.value);
    })

    var { divisor, unit } = get_divisor_unit(key);
    if (key.includes("Mem Total") ||
        key.includes("Vmalloc Total") ||
        key.includes("Hugepagesize")) {
        var mem_elem = document.createElement('h3');
        mem_elem.classList.add("extra");
        if (divisor == 1) {
            mem_elem.innerHTML = `${key}: ${y_data[0]}KB`;
        } else {
            mem_elem.innerHTML = `${key}: ${(y_data[0] / divisor).toLocaleString(undefined, { minimumFractionDigits: 0 })}${unit} (${(y_data[0]).toLocaleString(undefined, { minimumFractionDigits: 0 })}KB)`;
        }
        addElemToNode(elem.id, mem_elem);
        return;
    }
    if (key.includes("HugePages_")) {
        divisor = 1;
        unit = 'Count';
    }
    for (i = 0; i < y_data.length; i++) {
        y_data[i] /= divisor;
    }
    var meminfodata: Partial<Plotly.PlotData> = {
        x: x_data,
        y: y_data,
        type: 'scatter',
    };
    var TESTER = elem;
    let limits = key_limits.get(key);
    var layout = {
        title: key,
        xaxis: {
            title: 'Time (s)',
        },
        yaxis: {
            title: `${unit}`,
            range: [limits.low/divisor, limits.high/divisor],
        }
    };
    Plotly.newPlot(TESTER, [meminfodata], layout, { frameMargins: 0 });
}