From 6c7131b1d7c221125851a7c0bd183dd05a02d583 Mon Sep 17 00:00:00 2001 From: Charles Manning Date: Mon, 26 Apr 2010 14:35:21 +1200 Subject: [PATCH] yaffs: Rationalise plot_data.sh plot_data.sh now includes all the scripting required to do the plotting. No longer uses seperate scripts to gather data and drive gnu-plot. Signed-off-by: Charles Manning --- linux-tests/drive_gnuplot.sh | 17 ----------- linux-tests/gather_data.sh | 14 --------- linux-tests/plot_data.sh | 59 ++++++++++++++++++++++++++++++++++-- 3 files changed, 57 insertions(+), 33 deletions(-) delete mode 100755 linux-tests/drive_gnuplot.sh delete mode 100755 linux-tests/gather_data.sh diff --git a/linux-tests/drive_gnuplot.sh b/linux-tests/drive_gnuplot.sh deleted file mode 100755 index a6d0550..0000000 --- a/linux-tests/drive_gnuplot.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# drive_gnuplot syntehsises the commands for driving gnuplot - -the_log_file=data - -plot_str=" plot 'trunc_data' using 1:3 with linespoints title 'free', '' using 1:4 with linespoints title 'erased'" - -echo "set title 'yaffs free space and erased space'" - -echo $plot_str - -while true; do -sleep 1 -tail -500 $the_log_file > trunc_data -echo replot -done - diff --git a/linux-tests/gather_data.sh b/linux-tests/gather_data.sh deleted file mode 100755 index 8c99653..0000000 --- a/linux-tests/gather_data.sh +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/sh -# gather_data.sh agthers the data to be plotted -# -the_file=data -i=0; -rm -f $the_file - -while true; do -str=$(cat /proc/yaffs_debug) -echo "$i, $str" -echo "$i, $str" >> $the_file -let i=$i+1 -sleep 0.5 -done diff --git a/linux-tests/plot_data.sh b/linux-tests/plot_data.sh index 23a2202..6713f72 100755 --- a/linux-tests/plot_data.sh +++ b/linux-tests/plot_data.sh @@ -1,5 +1,60 @@ #!/bin/sh -# plot_data.sh runs the plot, updating it in realtime +# Script that gathers data erased vs free data from /proc/yaffs_stats and simultaneously \ +# plots it using gnuplot. -./drive_gnuplot.sh | gnuplot + +#Gather settings +log_file=data +gather_delay=1 + +# Plot settings +trunc_file=trunc_data +plot_samples=1000 +plot_delay=2 + + + +# Gathering task + +gather_data() { +i=0; +rm -f $log_file + +while true; do +str=$(cat /proc/yaffs_debug) +echo "$i, $str" +echo "$i, $str" >> $log_file +let i=$i+1 +sleep $gather_delay +done +} + + +# Plotting task +# Periodically creates a truncated version of the log file and +# outputs commands into gnuplot, thus driving gnuplot + +drive_gnuplot(){ +sleep 5 +tail -$plot_samples $log_file > $trunc_file + +plot_str=" plot '$trunc_file' using 1:3 with linespoints title 'free', '' using 1:4 with linespoints title 'erased'" + +echo "set title 'yaffs free space and erased space'" + +echo $plot_str + +while true; do +sleep $plot_delay +tail -$plot_samples $log_file > $trunc_file +echo replot +done +} + + + +echo "Start gathering task in background" +gather_data & +echo "Run plotting task" +drive_gnuplot | gnuplot -- 2.30.2