3 # SPDX-License-Identifier: LGPL-2.1-only
7 source $TESTDIR/utils
/tap.sh
12 : ${NR_EVENTS:=7000000}
15 : ${TIME:="./$CURDIR/ptime"}
17 : ${PROG_NOTRACING:="./$CURDIR/bench1 $NR_CPUS $NR_EVENTS"}
18 : ${PROG_TRACING:="./$CURDIR/bench2 $NR_CPUS $NR_EVENTS"}
20 function signal_cleanup
()
22 killall lttng-sessiond
25 trap signal_cleanup SIGTERM SIGINT
27 CMD_NOTRACING
="$TIME '$PROG_NOTRACING >/dev/null 2>&1'"
28 CMD_TRACING
="$TIME '$PROG_TRACING >/dev/null 2>&1'"
31 for i
in $
(seq $ITERS); do
32 if [[ $EUID -eq 0 ]]; then
33 echo 3 >/proc
/sys
/vm
/drop_caches
35 time_notrace
="$time_notrace+$(sh -c "$CMD_NOTRACING")"
39 lttng-sessiond
-d --no-kernel
40 lttng
-q create
--snapshot
41 lttng
-q enable-event
-u -a
45 for i
in $
(seq $ITERS); do
46 if [[ $EUID -eq 0 ]]; then
47 echo 3 >/proc
/sys
/vm
/drop_caches
49 time_trace
="$time_trace+$(sh -c "$CMD_TRACING")"
54 killall lttng-sessiond
56 pass
"Trace benchmark"
57 S_PER_EVENT
=$
(echo "( ($time_trace) - ($time_notrace) ) / $ITERS / $NR_EVENTS" |
bc -l)
58 NS_PER_EVENT
=$
(echo "$S_PER_EVENT * 1000000000" |
bc -l)
60 NS_PER_EVENT
=${NS_PER_EVENT%%.*}
62 diag
"Average tracing overhead per event is ${NS_PER_EVENT}ns"