Commit | Line | Data |
---|---|---|
851803ea JD |
1 | #!/bin/sh |
2 | ||
3 | #UST scalability test | |
4 | ||
5 | BINARY=tracepoint_benchmark | |
6 | REPORT=/tmp/testreport | |
7 | TMPLOG=/tmp/testlog | |
8 | WRAPPER="" | |
6e443277 | 9 | CLEANUP="" |
851803ea JD |
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 | |
6e443277 | 59 | CLEANUP="rmmod $BINARY 2>/dev/null" |
851803ea JD |
60 | ;; |
61 | stap_disk) | |
62 | TEST=stap_disk | |
6e443277 | 63 | CLEANUP="killall stapio 2>/dev/null" |
851803ea JD |
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 | ||
6e443277 | 76 | $CLEANUP |
851803ea JD |
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 |