data-aggregator
This change introduces a loose collection of scripts for analysis/aggregation of FAIL*'s collected data. It's going to be developed into a proper tool in the future. Change-Id: I63f14d87dd86b62817ec3d8089079d70f58c89c9
This commit is contained in:
committed by
Horst Schirmeier
parent
806c71580f
commit
f171fe9286
@ -7,6 +7,7 @@ option(BUILD_COMPUTE_HOPS "Build the compute hops tool?" OFF)
|
|||||||
option(BUILD_DUMP_HOPS "Build the hops dump tool?" OFF)
|
option(BUILD_DUMP_HOPS "Build the hops dump tool?" OFF)
|
||||||
|
|
||||||
option(BUILD_FAULTSPACEPLOT "Build the faultspace plotting tool?" OFF)
|
option(BUILD_FAULTSPACEPLOT "Build the faultspace plotting tool?" OFF)
|
||||||
|
option(BUILD_DATA_AGGREGATOR "Build the data aggregation tools?" OFF)
|
||||||
|
|
||||||
### Setup search paths for headers ##
|
### Setup search paths for headers ##
|
||||||
include_directories(${CMAKE_CURRENT_BINARY_DIR}/../src/core)
|
include_directories(${CMAKE_CURRENT_BINARY_DIR}/../src/core)
|
||||||
@ -39,3 +40,7 @@ endif(BUILD_DUMP_HOPS)
|
|||||||
if(BUILD_FAULTSPACEPLOT)
|
if(BUILD_FAULTSPACEPLOT)
|
||||||
add_subdirectory(analysis/faultspaceplot)
|
add_subdirectory(analysis/faultspaceplot)
|
||||||
endif(BUILD_FAULTSPACEPLOT)
|
endif(BUILD_FAULTSPACEPLOT)
|
||||||
|
|
||||||
|
if(BUILD_DATA_AGGREGATOR)
|
||||||
|
add_subdirectory(analysis/data-aggregator)
|
||||||
|
endif(BUILD_DATA_AGGREGATOR)
|
||||||
|
|||||||
1
tools/analysis/data-aggregator/CMakeLists.txt
Normal file
1
tools/analysis/data-aggregator/CMakeLists.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
install(PROGRAMS resulttype-occurrences_coverage.sh resulttype-occurrences.sh symbol-occurrences_coverage.sh symbol-occurrences.sh DESTINATION bin)
|
||||||
28
tools/analysis/data-aggregator/resulttype-occurrences.sh
Executable file
28
tools/analysis/data-aggregator/resulttype-occurrences.sh
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ ! $# -eq 3 ]; then
|
||||||
|
echo "usage: $0 DATABASE VARIANT BENCHMARK" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DATABASE=$1
|
||||||
|
VARIANT=$2
|
||||||
|
BENCHMARK=$3
|
||||||
|
# add "-t" for more readable output
|
||||||
|
MYSQL="mysql -B --quick $DATABASE"
|
||||||
|
|
||||||
|
$MYSQL << EOT
|
||||||
|
SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';
|
||||||
|
SELECT r.resulttype, SUM((t.time2-t.time1+1) * t.width) AS occurrences
|
||||||
|
FROM result_GenericExperimentMessage r
|
||||||
|
INNER JOIN fspgroup g ON g.pilot_id=r.pilot_id
|
||||||
|
INNER JOIN trace t ON g.instr2=t.instr2
|
||||||
|
AND g.data_address=t.data_address
|
||||||
|
AND g.variant_id=t.variant_id
|
||||||
|
INNER JOIN variant v ON t.variant_id=v.id
|
||||||
|
WHERE v.variant="$VARIANT"
|
||||||
|
AND v.benchmark="$BENCHMARK"
|
||||||
|
GROUP BY r.resulttype
|
||||||
|
ORDER BY r.resulttype ASC;
|
||||||
|
EOT
|
||||||
40
tools/analysis/data-aggregator/resulttype-occurrences_coverage.sh
Executable file
40
tools/analysis/data-aggregator/resulttype-occurrences_coverage.sh
Executable file
@ -0,0 +1,40 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ ! $# -eq 3 ]; then
|
||||||
|
echo "usage: $0 DATABASE VARIANT BENCHMARK" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DATABASE=$1
|
||||||
|
VARIANT=$2
|
||||||
|
BENCHMARK=$3
|
||||||
|
# add "-t" for more readable output
|
||||||
|
MYSQL="mysql -B --quick $DATABASE"
|
||||||
|
|
||||||
|
$MYSQL << EOT
|
||||||
|
SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';
|
||||||
|
SELECT r.resulttype,
|
||||||
|
SUM((t.time2-t.time1+1) * t.width)
|
||||||
|
/
|
||||||
|
(SELECT SUM(t.time2-t.time1+1)*t.width
|
||||||
|
FROM result_GenericExperimentMessage r
|
||||||
|
INNER JOIN fspgroup g ON g.pilot_id=r.pilot_id
|
||||||
|
INNER JOIN trace t ON g.instr2=t.instr2
|
||||||
|
AND g.data_address=t.data_address
|
||||||
|
AND g.variant_id=t.variant_id
|
||||||
|
INNER JOIN variant v ON t.variant_id=v.id
|
||||||
|
WHERE v.variant="$VARIANT"
|
||||||
|
AND v.benchmark="$BENCHMARK"
|
||||||
|
) AS coverage
|
||||||
|
FROM result_GenericExperimentMessage r
|
||||||
|
INNER JOIN fspgroup g ON g.pilot_id=r.pilot_id
|
||||||
|
INNER JOIN trace t ON g.instr2=t.instr2
|
||||||
|
AND g.data_address=t.data_address
|
||||||
|
AND g.variant_id=t.variant_id
|
||||||
|
INNER JOIN variant v ON t.variant_id=v.id
|
||||||
|
WHERE v.variant="$VARIANT"
|
||||||
|
AND v.benchmark="$BENCHMARK"
|
||||||
|
GROUP BY r.resulttype
|
||||||
|
ORDER BY r.resulttype ASC;
|
||||||
|
EOT
|
||||||
26
tools/analysis/data-aggregator/symbol-occurrences.sh
Executable file
26
tools/analysis/data-aggregator/symbol-occurrences.sh
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ ! $# -eq 3 ]; then
|
||||||
|
echo "usage: $0 DATABASE VARIANT BENCHMARK" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DATABASE=$1
|
||||||
|
VARIANT=$2
|
||||||
|
BENCHMARK=$3
|
||||||
|
# add "-t" for more readable output
|
||||||
|
MYSQL="mysql -B --quick $DATABASE"
|
||||||
|
|
||||||
|
$MYSQL << EOT
|
||||||
|
SELECT v.benchmark, v.variant, s.name, s.size, r.resulttype, SUM(t.time2-t.time1+1) AS occurrences
|
||||||
|
FROM variant v
|
||||||
|
INNER JOIN symbol s ON v.id = s.variant_id
|
||||||
|
INNER JOIN trace t ON t.variant_id = v.id AND t.data_address BETWEEN s.address AND s.address + s.size - 1
|
||||||
|
INNER JOIN fspgroup g ON t.variant_id = g.variant_id AND t.data_address = g.data_address AND t.instr2 = g.instr2
|
||||||
|
INNER JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
||||||
|
WHERE v.variant="$VARIANT"
|
||||||
|
AND v.benchmark="$BENCHMARK"
|
||||||
|
GROUP BY v.benchmark, v.variant, s.name, r.resulttype
|
||||||
|
ORDER BY v.benchmark, v.variant, s.name, r.resulttype;
|
||||||
|
EOT
|
||||||
37
tools/analysis/data-aggregator/symbol-occurrences_coverage.sh
Executable file
37
tools/analysis/data-aggregator/symbol-occurrences_coverage.sh
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ ! $# -eq 3 ]; then
|
||||||
|
echo "usage: $0 DATABASE VARIANT BENCHMARK" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DATABASE=$1
|
||||||
|
VARIANT=$2
|
||||||
|
BENCHMARK=$3
|
||||||
|
# add "-t" for more readable output
|
||||||
|
MYSQL="mysql -B --quick $DATABASE"
|
||||||
|
|
||||||
|
$MYSQL << EOT
|
||||||
|
SELECT v.benchmark, v.variant, s.name, s.size, r.resulttype,
|
||||||
|
SUM(t.time2-t.time1+1)
|
||||||
|
/
|
||||||
|
(SELECT SUM(t.time2-t.time1+1)
|
||||||
|
FROM variant v
|
||||||
|
INNER JOIN symbol s ON v.id = s.variant_id
|
||||||
|
INNER JOIN trace t ON t.variant_id = v.id AND t.data_address BETWEEN s.address AND s.address + s.size - 1
|
||||||
|
INNER JOIN fspgroup g ON t.variant_id = g.variant_id AND t.data_address = g.data_address AND t.instr2 = g.instr2
|
||||||
|
INNER JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
||||||
|
WHERE v.variant="$VARIANT"
|
||||||
|
AND v.benchmark="$BENCHMARK"
|
||||||
|
) AS coverage
|
||||||
|
FROM variant v
|
||||||
|
INNER JOIN symbol s ON v.id = s.variant_id
|
||||||
|
INNER JOIN trace t ON t.variant_id = v.id AND t.data_address BETWEEN s.address AND s.address + s.size - 1
|
||||||
|
INNER JOIN fspgroup g ON t.variant_id = g.variant_id AND t.data_address = g.data_address AND t.instr2 = g.instr2
|
||||||
|
INNER JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id
|
||||||
|
WHERE v.variant="$VARIANT"
|
||||||
|
AND v.benchmark="$BENCHMARK"
|
||||||
|
GROUP BY v.benchmark, v.variant, s.name, r.resulttype
|
||||||
|
ORDER BY v.benchmark, v.variant, s.name, r.resulttype;
|
||||||
|
EOT
|
||||||
Reference in New Issue
Block a user