Only run the appropriate cleanup command on stap
[benchmarks.git] / ust-systemtap-tracepoints / runtest.sh
1 #!/bin/sh
2
3 #UST scalability test
4
5 BINARY=tracepoint_benchmark
6 REPORT=/tmp/testreport
7 TMPLOG=/tmp/testlog
8 WRAPPER=""
9 CLEANUP=""
10 STAP=stap
11 STAPTMP=/tmp/stapconsole
12 STAPPROBE=testutrace.stp
13
14 rm $REPORT 2>/dev/null
15
16 ust_flight_recorder() {
17 # flight recorder, don't record trace to disk.
18 # default buffer size is 4k
19 echo -n "* UST Flight recorder : " | tee >> $REPORT
20 export UST_AUTOCOLLECT=0
21 export UST_OVERWRITE=1
22 export UST_SUBBUF_NUM=16
23 WRAPPER=usttrace
24 }
25
26 ust_disk() {
27 # Collect traces to disk
28 # default buffer size is 4k
29 echo -n "* UST Write to disk : " | tee >> $REPORT
30 export UST_AUTOCOLLECT=1
31 export UST_OVERWRITE=0
32 export UST_SUBBUF_NUM=16
33 WRAPPER=usttrace
34 }
35
36 stap_flight_recorder() {
37 echo -n "* SystemTap Flight recorder : " | tee >> $REPORT
38 WRAPPER=""
39 $STAP $STAPPROBE -F -m $BINARY
40 }
41
42 stap_disk() {
43 echo -n "* SystemTap Write to disk : " | tee >> $REPORT
44 WRAPPER=""
45 $STAP $STAPPROBE -o $STAPTMP -m $BINARY &
46 sleep 5
47 }
48
49 echo "Userspace tracing scalability test report" |tee >> $REPORT
50 case "$1" in
51 ust_flight_recorder)
52 TEST=ust_flight_recorder
53 ;;
54 ust_disk)
55 TEST=ust_disk
56 ;;
57 stap_flight_recorder)
58 TEST=stap_flight_recorder
59 CLEANUP="rmmod $BINARY 2>/dev/null"
60 ;;
61 stap_disk)
62 TEST=stap_disk
63 CLEANUP="killall stapio 2>/dev/null"
64 ;;
65 *)
66 echo "Usage : $0 {ust_flight_recorder|ust_disk|stap_flight_recorder|stap_disk}"
67 exit 1
68 ;;
69 esac
70
71 for nr_threads in 1 2 4 8; do
72 echo "" | tee >> $REPORT
73 echo Number of threads: $nr_threads | tee >> $REPORT
74 echo -n "* Baseline : " | tee >> $REPORT
75
76 $CLEANUP
77
78 sync
79 /usr/bin/time -f "%E" -o $TMPLOG ./$BINARY ${nr_threads}
80 cat $TMPLOG >> $REPORT
81
82 $TEST
83
84 sync
85 /usr/bin/time -f "%E" -o $TMPLOG $WRAPPER ./$BINARY ${nr_threads}
86 cat $TMPLOG >> $REPORT
87 done
88
89 cat $REPORT
90
This page took 0.029945 seconds and 4 git commands to generate.