(queryFile)
| 942 | const outlierId = chartId.replace("-chart", "-outliers-chart"); |
| 943 | |
| 944 | function renderForQuery(queryFile) { |
| 945 | [chartId, outlierId].forEach((id) => { |
| 946 | const idx = charts.findIndex((c) => c && c.el && c.el.id === id); |
| 947 | if (idx !== -1) { |
| 948 | charts[idx].destroy(); |
| 949 | charts.splice(idx, 1); |
| 950 | } |
| 951 | if (id === outlierId) { |
| 952 | const el = document.getElementById(id); |
| 953 | if (el) el.remove(); |
| 954 | } |
| 955 | }); |
| 956 | |
| 957 | const filtered = allBenchmarks.filter((b) => b.endsWith("_" + queryFile)); |
| 958 | const filteredEntries = entries.map((e) => ({ |
| 959 | ...e, |
| 960 | criterion_results: Object.fromEntries( |
| 961 | Object.entries(e.criterion_results).filter(([k]) => filtered.includes(k)), |
| 962 | ), |
| 963 | })); |
| 964 | |
| 965 | createCriterionGroupChart( |
| 966 | filteredEntries, |
| 967 | groupPrefix, |
| 968 | chartId, |
| 969 | `${title} - ${queryFile.replace(/-/g, " ")}`, |
| 970 | yAxisTitle, |
| 971 | conversionFactor, |
| 972 | decimalPlaces, |
| 973 | thresholds, |
| 974 | ); |
| 975 | } |
| 976 | |
| 977 | select.addEventListener("change", () => renderForQuery(select.value)); |
| 978 | renderForQuery(queryFiles[0]); |
no test coverage detected