3 Commits
0.4 ... develop

Author SHA1 Message Date
8f7fe4f016 added label for T(max) to chart. 2026-02-02 09:54:12 +01:00
114a194758 enhanced .gitignore 2026-02-02 07:29:00 +01:00
08acce525b enhanced command line parsing. 2026-02-01 10:21:35 +01:00
3 changed files with 91 additions and 21 deletions

2
.gitignore vendored
View File

@@ -1,4 +1,6 @@
*.log
*.bak
*.png
bin/minimal_test.sh

View File

@@ -10,34 +10,102 @@ usage() {
EOF
}
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
usage
exit 0
verbose=false
COLOR='red'
PADDING=5
VALID_ARGS=$(getopt -o vho:c:t:l: --long verbose,help,output,color:,title:,logfile: -- "$@")
if [[ $? -ne 0 ]]; then
exit 1;
fi
# Eingabeparameter
LOGFILE="${1}"
OUTFILE="${2}"
TITLE="${3}"
echo "VALID_ARGS=${VALID_ARGS}"
eval set -- "$VALID_ARGS"
while [ : ]; do
# echo "aktueller Parameter: ${1}"
case "$1" in
-h | --help)
usage
exit 0
shift
;;
-l | --logfile)
LOGFILE="${2}"
echo "LOGFILE=${LOGFILE}"
shift 2
;;
-o | --output)
echo "1: ${1}, 2:${2},3:${3}"
OUTFILE="${2}"
echo "OUTFILE=${OUTFILE}"
shift 2
;;
-c | --color)
COLOR="${2}"
echo "COLOR=${COLOR}"
shift 2
;;
-t | --title)
TITLE="${2}"
echo "TITLE=${TITLE}"
shift 2
;;
-v | --verbose)
verbose=true
shift
;;
--) shift;
break
;;
esac
done
#determine max and min values
read YMIN YMAX < <(
awk '
NR==1 { min=$2; max=$2 }
$2 < min { min=$2 }
$2 > max { max=$2 }
END { printf "%.1f %.1f\n", min, max }
' "${LOGFILE}"
)
echo "YMIN=${YMIN} YMAX=${YMAX}"
echo "Parameter geparsed."
# Eingabeparameter
if [ -z "$LOGFILE" ] || [ -z "$OUTFILE" ] || [ -z "$TITLE" ]; then
usage
exit 1
fi
gnuplot <<EOF
set terminal pngcairo size 1600,900
set output "$OUTFILE"
echo "generating plot from ${LOGFILE}"
gnuplot \
-e "OUTFILE='${OUTFILE}'" \
-e "LOGFILE='${LOGFILE}'" \
-e "TITLE='${TITLE}'" \
-e "COLOR='${COLOR}'" \
-e "YMAX=${YMAX}" \
-e "PADDING=${PADDING}" \
-e "YMIN=${YMIN}" \
-e "
set terminal pngcairo size 1800,800;
set output OUTFILE;
set title TITLE;
set xlabel 'Zeit (s)';
set ylabel 'Temperatur (°C)';
set grid;
set key top left;
set title "$TITLE"
set xlabel "Zeit (s)"
set ylabel "Temperatur (°C)"
set grid
set key top left
set label sprintf('Tmax: %.1f°C', YMAX-PADDING) at graph 0.98,0.02 right;
plot LOGFILE using 1:2 with lines lc rgb COLOR lw 2 title 'CPU-Temperatur';
"
# Linie rot, Dicke 2
plot "$LOGFILE" using 1:2 with lines lc rgb "red" lw 2 title "CPU-Temperatur"
EOF
echo "Plot erzeugt: $OUTFILE"
exit 0

View File

@@ -1,5 +1,5 @@
temp_data.sh > temp.log &
measure_temp.sh > ${1} &
TPID=$!
fio fio/fio_cpu
kill $TPID
fio ~/git/pistress/fio/fio_cpu
kill $TPID > /dev/null