Added rudimentary chart generation for benchmarks
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				ci/woodpecker/push/woodpecker Pipeline was successful
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	ci/woodpecker/push/woodpecker Pipeline was successful
				
			This commit is contained in:
		| @@ -8,7 +8,7 @@ class Hardware < Sequel::Model(:hardware) | ||||
|   def bench_results | ||||
|     br = {} | ||||
|  | ||||
|     @results.each do |r| | ||||
|     results.each do |r| | ||||
|       br[r.benchmark.name.to_s] = [] unless br.key?(r.benchmark.name) | ||||
|  | ||||
|       br[r.benchmark.name.to_s].push(r.avg_score) | ||||
|   | ||||
| @@ -4,3 +4,4 @@ require_relative 'index' | ||||
| require_relative 'hardware' | ||||
| require_relative 'benchmark' | ||||
| require_relative 'result' | ||||
| require_relative 'reports' | ||||
|   | ||||
							
								
								
									
										46
									
								
								src/routes/reports.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								src/routes/reports.rb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,46 @@ | ||||
| # frozen_string_literal: true | ||||
|  | ||||
| # /reports routes | ||||
| class GameData < Sinatra::Base | ||||
|  | ||||
|   get '/reports' do | ||||
|     benchmarks = Benchmark.order(:name).all() | ||||
|     hardware = Hardware.order(:name).all() | ||||
|  | ||||
|     erb :'reports/index', locals: { | ||||
|       title: 'Generate Reports', | ||||
|       hardware: hardware, | ||||
|       benchmarks: benchmarks | ||||
|     } | ||||
|   end | ||||
|  | ||||
|   post '/reports' do | ||||
|     report_type = params[:type] | ||||
|     report_choice = params[:choice] | ||||
|     report_compare = params[:compare] | ||||
|  | ||||
|     if report_type == 'benchmark' | ||||
|       choice = Benchmark.where(id: report_choice).first().name | ||||
|       names = [] | ||||
|       avg_results = [] | ||||
|       min_results = [] | ||||
|  | ||||
|       report_compare.each do |c| | ||||
|         hrd = Hardware.where(id: c).first() | ||||
|         names.push(hrd.name) | ||||
|  | ||||
|         res = Result.where(benchmark_id: report_choice, hardware_id: c).first() | ||||
|         avg_results.push(res.avg_score) | ||||
|         min_results.push(res.min_score) | ||||
|       end | ||||
|  | ||||
|       json({ | ||||
|         choice: choice, | ||||
|         names: names, | ||||
|         avg_results: avg_results, | ||||
|         min_results: min_results | ||||
|       }) | ||||
|     end | ||||
|   end | ||||
|  | ||||
| end | ||||
| @@ -1,6 +1,7 @@ | ||||
| # frozen_string_literal: true | ||||
|  | ||||
| require 'sinatra/base' | ||||
| require 'sinatra/json' | ||||
| require 'sequel' | ||||
| require 'sqlite3' | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user