Add descriptions for queries + plots to menu

This commit is contained in:
2026-08-10 22:12:43 +02:00
parent 836197a6ee
commit f9202a6a4a
+63 -7
View File
@@ -79,11 +79,32 @@ my %handlers = (
TUI::select_from_list( "Select Databases to Query", 1, @db_names );
die "No database selected" unless @selected_dbs;
# Select queries
# Sucks to put those here but the chart descriptions are there aswell
my %query_descriptions = (
Faults =>
'Faults by benchmark, resulttype and fault address with mnemonic (faults.csv)',
Mnemonics =>
'Instruction count per mnemonic across the whole trace (mnemonics.csv)',
RegionMarker =>
'Faults by code region with resulttype (regionmarker.csv)',
Results => 'Same as ResultsData but as a table (results.txt)',
ResultsData =>
'Faults summary per benchmark with resulttype (resultsdata.csv)',
TargetClass =>
'Faults by code type with data type (stack/heap/bss/...) and resulttype -> targetclass.csv',
TraceWeight =>
'Total cycle count vs performed pilots per benchmark (traceweight.csv)',
);
my @queries =
map { s/\.pm//r } Util::find_files("$local_root/scripts/Queries");
my @selected_queries =
TUI::select_from_list( "Select Queries to Run", 1, @queries );
my @selected_queries = TUI::select_from_list( "Select Queries to Run",
1, @queries, \%query_descriptions );
die "No query selected" unless @selected_queries;
# Select filter configs (they're combined into one)
@@ -616,19 +637,54 @@ my %handlers = (
# Generate R ggplot2 charts
my @selected_experiments = Util::select_experiment(1);
# Sucks to put those here but I can't write them inside the R scripts
my %chart_descriptions = (
combined_fault_composition =>
'stacked fault type percentages/composition (resultsdata.csv).',
combined_fault_count_comparison =>
'faults per benchmark, c/aot/interp side by side (resultsdata.csv).',
combined_fault_count_correlation =>
'correlation of raw aot vs. interp fault counts (resultsdata.csv).',
combined_fault_rates_per_instruction =>
'faults normalised by instruction count (faults.csv + mnemonics.csv).',
combined_instr_fault_correlation =>
'correlation of instruction frequency vs. faults (faults.csv + mnemonics.csv).',
combined_ratio_comparison_merged =>
'resulttype ratios to C, summed benchmarks (resultsdata.csv).',
combined_ratio_comparison =>
'resulttype ratios to C, separate benchmarks (resultsdata.csv).',
combined_sankey =>
'Sankey flow of markers between two experiments (faults.csv).',
single_heatmap =>
'address-space heatmap of faults per benchmark (faults.csv).',
single_scatter =>
'fault address vs. fault count scatter (faults.csv).',
single_result =>
'fault types per benchmark bar chart (resultsdata.csv).',
);
my @charts = map { s/\.r//r } Util::find_files($local_charts_dir);
my @selected_charts =
TUI::select_from_list( "Select Plots to Generate", 1, @charts );
my @selected_charts = TUI::select_from_list( "Select Plots to Generate",
1, @charts, \%chart_descriptions );
die "No plot selected" unless @selected_charts;
# Need to know which chart uses which datafile
my @faults_charts =
grep {
/_heatmap|_scatter|_sankey|_instr_fault_correlation|_instr_fault_rate_heatmap|fault_rates_per_instruction/
/_heatmap|_scatter|_sankey|_instr_fault_correlation|fault_rates_per_instruction/
} @selected_charts;
my @resultsdata_charts =
grep {
/_result|_fault_count_comparison|_ratio_comparison|_fault_count_correlation/
/_result|_fault_count_comparison|_ratio_comparison|_fault_count_correlation|_fault_composition/
} @selected_charts;
# Select if faults.csv or a filtered variant should be used