src/html_files/aperf_run_stats.ts (77 lines of code) (raw):

let got_aperfstat_data = false; let aperfstats_rules = { data_type: "aperf_run_stats", pretty_name: "Aperf Stats", rules: [] } function getAperfEntry(elem, key, run_data) { var value = JSON.parse(run_data); let collect = value.collect; let print = value.print; let x_collect = []; let y_collect = []; let x_print = []; let y_print = []; for (var i = 0; i < collect.length; i++) { x_collect.push(collect[i].time.TimeDiff); y_collect.push(collect[i].time_taken); } for (var i = 0; i < print.length; i++) { x_print.push(print[i].time.TimeDiff); y_print.push(print[i].time_taken); } var TESTER = elem; var aperfstat_collect_data: Partial<Plotly.PlotData> = { name: `${key}-collect`, x: x_collect, y: y_collect, type: 'scatter', }; var aperfstat_print_data: Partial<Plotly.PlotData> = { name: `${key}-print`, x: x_print, y: y_print, type: 'scatter', }; let limits = key_limits.get(key); var layout = { title: `${key}`, xaxis: { title: 'Time (s)', }, yaxis: { title: 'Time (us)', range: [limits.low, limits.high], }, } Plotly.newPlot(TESTER, [aperfstat_collect_data, aperfstat_print_data], layout, { frameMargins: 0 }); } function getAperfEntries(run, container_id, keys, run_data) { for (let i = 0; i < all_run_keys.length; i++) { let value = all_run_keys[i]; var elem = document.createElement('div'); elem.id = `aperfstat-${run}-${value}`; elem.style.float = "none"; if (keys.length == 0) { elem.innerHTML = "No data collected"; addElemToNode(container_id, elem); return; } addElemToNode(container_id, elem); emptyOrCallback(keys, false, getAperfEntry, elem, value, run_data); } } function aperfStat() { if (got_aperfstat_data) { return; } clear_and_create('aperfstat'); form_graph_limits(aperf_run_stats_raw_data); for (let i = 0; i < aperf_run_stats_raw_data['runs'].length; i++) { let run_name = aperf_run_stats_raw_data['runs'][i]['name']; let elem_id = `${run_name}-aperfstat-per-data`; let this_run_data = aperf_run_stats_raw_data['runs'][i]; getAperfEntries(run_name, elem_id, this_run_data['keys'], this_run_data['key_values']); } got_aperfstat_data = true; }