Blob Blame History Raw
#!/bin/bash

CURDIR=$(dirname $0)/
TESTDIR=$CURDIR/..
source $TESTDIR/utils/tap.sh

plan_tests 1

: ${ITERS:=20}
: ${NR_EVENTS:=7000000}
: ${NR_CPUS:=1}

: ${TIME:="./$CURDIR/ptime"}

: ${PROG_NOTRACING:="./$CURDIR/bench1 $NR_CPUS $NR_EVENTS"}
: ${PROG_TRACING:="./$CURDIR/bench2 $NR_CPUS $NR_EVENTS"}

CMD_NOTRACING="$TIME '$PROG_NOTRACING >/dev/null 2>&1'"
CMD_TRACING="$TIME '$PROG_TRACING >/dev/null 2>&1'"

time_notrace=0
for i in $(seq $ITERS); do
	echo 3 >/proc/sys/vm/drop_caches
	time_notrace="$time_notrace+$(sh -c "$CMD_NOTRACING")"
done

lttng-sessiond -d --no-kernel
lttng -q create
lttng -q enable-event -u -a
lttng -q start

time_trace=0
for i in $(seq $ITERS); do
	echo 3 >/proc/sys/vm/drop_caches
	time_trace="$time_trace+$(sh -c "$CMD_TRACING")"
done

lttng -q stop
lttng -q destroy

pass "Trace benchmark"
diag "Average tracing overhead per event is $(echo "scale=6;( ($time_trace) - ($time_notrace) ) / $ITERS / $NR_EVENTS" | bc -l)s"