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