annotate packages/fs/yaffs/current/src/linux-tests/plot_data.sh @ 425:dea4d7d250ad ecos

Move sources into packages/fs/yaffs/current/src/
author Ross Younger <wry@ecoscentric.com>
date Fri, 14 May 2010 16:03:09 +0100
parents linux-tests/plot_data.sh@24323a6af10c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
392
37c92ae29f6e Add scripts for realtime plotting erased psace vs free space
Charles Manning <cdhmanning@gmail.com>
parents:
diff changeset
1 #!/bin/sh
408
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
2 # Script that gathers data erased vs free data from /proc/yaffs_stats and simultaneously \
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
3 # plots it using gnuplot.
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
4
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
5
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
6 #Gather settings
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
7 log_file=data
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
8 gather_delay=1
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
9
420
24323a6af10c yaffs Clean up exit from plot script
Charles Manning <cdhmanning@gmail.com>
parents: 412
diff changeset
10 done_file=plot_done
24323a6af10c yaffs Clean up exit from plot script
Charles Manning <cdhmanning@gmail.com>
parents: 412
diff changeset
11
408
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
12 # Plot settings
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
13 trunc_file=trunc_data
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
14 plot_samples=1000
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
15 plot_delay=2
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
16
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
17
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
18
420
24323a6af10c yaffs Clean up exit from plot script
Charles Manning <cdhmanning@gmail.com>
parents: 412
diff changeset
19
24323a6af10c yaffs Clean up exit from plot script
Charles Manning <cdhmanning@gmail.com>
parents: 412
diff changeset
20
408
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
21 # Gathering task
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
22
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
23 gather_data() {
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
24 i=0;
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
25 rm -f $log_file
392
37c92ae29f6e Add scripts for realtime plotting erased psace vs free space
Charles Manning <cdhmanning@gmail.com>
parents:
diff changeset
26
420
24323a6af10c yaffs Clean up exit from plot script
Charles Manning <cdhmanning@gmail.com>
parents: 412
diff changeset
27 while [ ! -e $done_file ] ; do
412
1d5b15b2a69d yaffs: Change name of /proc/yaffs_stats
Charles Manning <cdhmanning@gmail.com>
parents: 408
diff changeset
28 str=$(cat /proc/yaffs_stats)
408
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
29 echo "$i, $str"
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
30 echo "$i, $str" >> $log_file
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
31 let i=$i+1
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
32 sleep $gather_delay
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
33 done
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
34 }
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
35
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
36
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
37 # Plotting task
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
38 # Periodically creates a truncated version of the log file and
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
39 # outputs commands into gnuplot, thus driving gnuplot
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
40
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
41 drive_gnuplot(){
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
42 sleep 5
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
43 tail -$plot_samples $log_file > $trunc_file
392
37c92ae29f6e Add scripts for realtime plotting erased psace vs free space
Charles Manning <cdhmanning@gmail.com>
parents:
diff changeset
44
408
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
45 plot_str=" plot '$trunc_file' using 1:3 with linespoints title 'free', '' using 1:4 with linespoints title 'erased'"
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
46
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
47 echo "set title 'yaffs free space and erased space'"
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
48
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
49 echo $plot_str
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
50
420
24323a6af10c yaffs Clean up exit from plot script
Charles Manning <cdhmanning@gmail.com>
parents: 412
diff changeset
51 while [ ! -e $done_file ]; do
408
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
52 sleep $plot_delay
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
53 tail -$plot_samples $log_file > $trunc_file
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
54 echo replot
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
55 done
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
56 }
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
57
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
58
420
24323a6af10c yaffs Clean up exit from plot script
Charles Manning <cdhmanning@gmail.com>
parents: 412
diff changeset
59 rm -f $done_file
24323a6af10c yaffs Clean up exit from plot script
Charles Manning <cdhmanning@gmail.com>
parents: 412
diff changeset
60 trap "touch $done_file" INT
408
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
61
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
62 echo "Start gathering task in background"
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
63 gather_data &
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
64 echo "Run plotting task"
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
65 drive_gnuplot | gnuplot
fc1d08b30cc0 yaffs: Rationalise plot_data.sh
Charles Manning <cdhmanning@gmail.com>
parents: 392
diff changeset
66
420
24323a6af10c yaffs Clean up exit from plot script
Charles Manning <cdhmanning@gmail.com>
parents: 412
diff changeset
67 wait
24323a6af10c yaffs Clean up exit from plot script
Charles Manning <cdhmanning@gmail.com>
parents: 412
diff changeset
68
24323a6af10c yaffs Clean up exit from plot script
Charles Manning <cdhmanning@gmail.com>
parents: 412
diff changeset
69 echo "All done"
24323a6af10c yaffs Clean up exit from plot script
Charles Manning <cdhmanning@gmail.com>
parents: 412
diff changeset
70