diff --git a/scripts/menu.pl b/scripts/menu.pl index a1809e2..53a0d91 100644 --- a/scripts/menu.pl +++ b/scripts/menu.pl @@ -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