add queries for other fault types
This commit is contained in:
@ -7,14 +7,16 @@ use diagnostics;
|
|||||||
sub query {
|
sub query {
|
||||||
my ($experiment) = @_;
|
my ($experiment) = @_;
|
||||||
|
|
||||||
|
my $resulttype = 'FAIL_MARKER';
|
||||||
|
|
||||||
return
|
return
|
||||||
"SELECT CONCAT('0x', HEX(p.injection_instr_absolute)) AS fault_address, SUM(t.time2 - t.time1 + 1) AS total_fail_markers
|
"SELECT CONCAT('0x', HEX(p.injection_instr_absolute)) AS fault_address, SUM(t.time2 - t.time1 + 1) AS total_results
|
||||||
FROM trace t
|
FROM trace t
|
||||||
JOIN variant v ON v.id = t.variant_id
|
JOIN variant v ON v.id = t.variant_id
|
||||||
JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_address = t.data_address
|
JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_address = t.data_address
|
||||||
JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
||||||
JOIN fsppilot p ON p.id = r.pilot_id
|
JOIN fsppilot p ON p.id = r.pilot_id
|
||||||
WHERE v.variant = '$experiment' AND r.resulttype = 'FAIL_MARKER'
|
WHERE v.variant = '$experiment' AND r.resulttype = '$resulttype'
|
||||||
GROUP BY p.injection_instr_absolute
|
GROUP BY p.injection_instr_absolute
|
||||||
ORDER BY SUM(t.time2 - t.time1 + 1) DESC;"
|
ORDER BY SUM(t.time2 - t.time1 + 1) DESC;"
|
||||||
}
|
}
|
||||||
|
|||||||
30
scripts/Queries/FaultsOuterspace.pm
Normal file
30
scripts/Queries/FaultsOuterspace.pm
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
package Queries::FaultsOuterspace;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use diagnostics;
|
||||||
|
|
||||||
|
sub query {
|
||||||
|
my ($experiment) = @_;
|
||||||
|
|
||||||
|
my $resulttype = 'ACCESS_OUTERSPACE';
|
||||||
|
|
||||||
|
return
|
||||||
|
"SELECT CONCAT('0x', HEX(p.injection_instr_absolute)) AS fault_address, SUM(t.time2 - t.time1 + 1) AS total_results
|
||||||
|
FROM trace t
|
||||||
|
JOIN variant v ON v.id = t.variant_id
|
||||||
|
JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_address = t.data_address
|
||||||
|
JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
||||||
|
JOIN fsppilot p ON p.id = r.pilot_id
|
||||||
|
WHERE v.variant = '$experiment' AND r.resulttype = '$resulttype'
|
||||||
|
GROUP BY p.injection_instr_absolute
|
||||||
|
ORDER BY SUM(t.time2 - t.time1 + 1) DESC;"
|
||||||
|
}
|
||||||
|
|
||||||
|
sub args { return "--batch --raw"; }
|
||||||
|
|
||||||
|
sub filename { return "faults_outerspace.csv"; }
|
||||||
|
|
||||||
|
sub postprocess { $_[0] =~ s/\t/,/g; }
|
||||||
|
|
||||||
|
1;
|
||||||
30
scripts/Queries/FaultsTimeout.pm
Normal file
30
scripts/Queries/FaultsTimeout.pm
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
package Queries::FaultsTimeout;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use diagnostics;
|
||||||
|
|
||||||
|
sub query {
|
||||||
|
my ($experiment) = @_;
|
||||||
|
|
||||||
|
my $resulttype = 'TIMEOUT';
|
||||||
|
|
||||||
|
return
|
||||||
|
"SELECT CONCAT('0x', HEX(p.injection_instr_absolute)) AS fault_address, SUM(t.time2 - t.time1 + 1) AS total_results
|
||||||
|
FROM trace t
|
||||||
|
JOIN variant v ON v.id = t.variant_id
|
||||||
|
JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_address = t.data_address
|
||||||
|
JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
||||||
|
JOIN fsppilot p ON p.id = r.pilot_id
|
||||||
|
WHERE v.variant = '$experiment' AND r.resulttype = '$resulttype'
|
||||||
|
GROUP BY p.injection_instr_absolute
|
||||||
|
ORDER BY SUM(t.time2 - t.time1 + 1) DESC;"
|
||||||
|
}
|
||||||
|
|
||||||
|
sub args { return "--batch --raw"; }
|
||||||
|
|
||||||
|
sub filename { return "faults_timeout.csv"; }
|
||||||
|
|
||||||
|
sub postprocess { $_[0] =~ s/\t/,/g; }
|
||||||
|
|
||||||
|
1;
|
||||||
30
scripts/Queries/FaultsTrap.pm
Normal file
30
scripts/Queries/FaultsTrap.pm
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
package Queries::FaultsTrap;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use diagnostics;
|
||||||
|
|
||||||
|
sub query {
|
||||||
|
my ($experiment) = @_;
|
||||||
|
|
||||||
|
my $resulttype = 'TRAP';
|
||||||
|
|
||||||
|
return
|
||||||
|
"SELECT CONCAT('0x', HEX(p.injection_instr_absolute)) AS fault_address, SUM(t.time2 - t.time1 + 1) AS total_results
|
||||||
|
FROM trace t
|
||||||
|
JOIN variant v ON v.id = t.variant_id
|
||||||
|
JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_address = t.data_address
|
||||||
|
JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
||||||
|
JOIN fsppilot p ON p.id = r.pilot_id
|
||||||
|
WHERE v.variant = '$experiment' AND r.resulttype = '$resulttype'
|
||||||
|
GROUP BY p.injection_instr_absolute
|
||||||
|
ORDER BY SUM(t.time2 - t.time1 + 1) DESC;"
|
||||||
|
}
|
||||||
|
|
||||||
|
sub args { return "--batch --raw"; }
|
||||||
|
|
||||||
|
sub filename { return "faults_trap.csv"; }
|
||||||
|
|
||||||
|
sub postprocess { $_[0] =~ s/\t/,/g; }
|
||||||
|
|
||||||
|
1;
|
||||||
@ -230,7 +230,7 @@ sub results {
|
|||||||
my $query = $_;
|
my $query = $_;
|
||||||
$query =~ s/\.pm//g;
|
$query =~ s/\.pm//g;
|
||||||
|
|
||||||
Util::notify("Running query $query for $experiment...");
|
# Util::notify("Running query $query for $experiment...");
|
||||||
|
|
||||||
Util::execute_query( $experiment, $query,
|
Util::execute_query( $experiment, $query,
|
||||||
$remote_db_conf, $remote_builds_dir, 1 );
|
$remote_db_conf, $remote_builds_dir, 1 );
|
||||||
|
|||||||
Reference in New Issue
Block a user