faultspaceplot as analysis tool
This change adds the faultspace-plotting scripts into FAIL*'s tools/analysis/ folder and makes it CMake-configurable. Change-Id: I9364a448a33853520629291721a6ed6d4e82eb32
This commit is contained in:
committed by
Horst Schirmeier
parent
fe5ccdf425
commit
52baab2d76
51
tools/analysis/faultspaceplot/faultspaceplot.sh
Executable file
51
tools/analysis/faultspaceplot/faultspaceplot.sh
Executable file
@ -0,0 +1,51 @@
|
||||
#!/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"
|
||||
|
||||
# get data
|
||||
echo "getting faultspace data.."
|
||||
$MYSQL <<EOT > "$VARIANT"_"$BENCHMARK"-raw.csv
|
||||
SELECT t.time1 - (SELECT MIN(t2.time1) FROM trace t2 WHERE t.variant_id = t2.variant_id) AS time1,
|
||||
t.time2 - (SELECT MIN(t2.time1) FROM trace t2 WHERE t.variant_id = t2.variant_id) AS time2,
|
||||
t.data_address, r.bitoffset, 1,
|
||||
CASE
|
||||
WHEN r.resulttype = 'OK_MARKER' THEN '#FFFFFF'
|
||||
WHEN r.resulttype = 'FAIL_MARKER' THEN '#EE0000'
|
||||
WHEN r.resulttype = 'DETECTED_MARKER' THEN '#00FF00'
|
||||
WHEN r.resulttype = 'GROUP0_MARKER' THEN '#EAEAEA'
|
||||
WHEN r.resulttype = 'GROUP1_MARKER' THEN '#EBEBEB'
|
||||
WHEN r.resulttype = 'GROUP2_MARKER' THEN '#ECECEC'
|
||||
WHEN r.resulttype = 'GROUP3_MARKER' THEN '#EDEDED'
|
||||
WHEN r.resulttype = 'TIMEOUT' THEN '#00EE00'
|
||||
WHEN r.resulttype = 'TRAP' THEN '#00DD00'
|
||||
WHEN r.resulttype = 'WRITE_TEXTSEGMENT' THEN '#0000AA'
|
||||
WHEN r.resulttype = 'WRITE_OUTERSPACE' THEN '#0000BB'
|
||||
WHEN r.resulttype = 'SDC' THEN '#FF0000'
|
||||
WHEN r.resulttype = 'UNKNOWN' THEN '#000000'
|
||||
END AS color
|
||||
FROM trace t
|
||||
JOIN fspgroup g ON t.variant_id = g.variant_id AND t.data_address = g.data_address AND t.instr2 = g.instr2
|
||||
JOIN variant v ON v.id = t.variant_id
|
||||
JOIN result_GenericExperimentMessage r ON r.pilot_id=g.pilot_id
|
||||
WHERE
|
||||
v.variant = '$VARIANT' AND v.benchmark = '$BENCHMARK'
|
||||
AND t.accesstype = 'R';
|
||||
EOT
|
||||
|
||||
# compact data
|
||||
echo "compacting data.."
|
||||
fsp.compact.sh "$VARIANT"_"$BENCHMARK"-raw.csv "$VARIANT"_"$BENCHMARK"-plot.csv
|
||||
|
||||
# plot data
|
||||
echo "plotting.."
|
||||
fsp.plot.py "$VARIANT"_"$BENCHMARK"-plot.csv
|
||||
Reference in New Issue
Block a user