Mercurial > yaffs-ecoscentric-gpl
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 |
| 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 |
