49 lines
1.2 KiB
Perl
49 lines
1.2 KiB
Perl
package ResultsData;
|
|
|
|
use strict;
|
|
use warnings;
|
|
use diagnostics;
|
|
|
|
use FindBin;
|
|
use lib "$FindBin::Bin/../Modules";
|
|
use Filters;
|
|
|
|
use feature 'say';
|
|
|
|
sub query {
|
|
my ( $experiment, $experiment_dir, $filter_config_name ) = @_;
|
|
$filter_config_name //= '';
|
|
|
|
my $extra =
|
|
Filters::build_filter_clause( $experiment_dir, $filter_config_name );
|
|
|
|
my $querystring = "SELECT
|
|
benchmark, resulttype, sum(t.time2 - t.time1 + 1) AS faults
|
|
FROM variant v
|
|
JOIN trace t ON v.id = t.variant_id
|
|
JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_physical_address = t.data_physical_address
|
|
JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
|
JOIN fsppilot p ON r.pilot_id = p.id
|
|
WHERE v.variant = '$experiment'$extra
|
|
GROUP BY v.id, resulttype
|
|
ORDER BY variant, benchmark, resulttype;";
|
|
|
|
say $querystring;
|
|
|
|
return $querystring;
|
|
}
|
|
|
|
sub args { return "--batch --raw"; }
|
|
|
|
sub filename {
|
|
my ($filter_config_name) = @_;
|
|
$filter_config_name //= '';
|
|
my $suffix =
|
|
length($filter_config_name) ? "_filtered_$filter_config_name" : "";
|
|
return "resultsdata${suffix}.csv";
|
|
}
|
|
|
|
sub postprocess { $_[0] =~ s/\t/,/g; }
|
|
|
|
1;
|