ca2958f14c
Some of the event triggers can run fine in an instance. Have them tested in one as well. The ones that still need work are the snapshot, stacktrace and traceon/off triggers, as they don't currently pass a handle to the trace_array they are attached to. But that can be for a future project. Acked-by: Masami Hiramatsu <mhiramat@kernel.org> Acked-by: Namhyung Kim <namhyung@kernel.org> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
74 lines
2.1 KiB
Bash
74 lines
2.1 KiB
Bash
#!/bin/sh
|
|
# description: event trigger - test multiple histogram triggers
|
|
# flags: instance
|
|
|
|
do_reset() {
|
|
reset_trigger
|
|
echo > set_event
|
|
clear_trace
|
|
}
|
|
|
|
fail() { #msg
|
|
do_reset
|
|
echo $1
|
|
exit $FAIL
|
|
}
|
|
|
|
if [ ! -f set_event -o ! -d events/sched ]; then
|
|
echo "event tracing is not supported"
|
|
exit_unsupported
|
|
fi
|
|
|
|
if [ ! -f events/sched/sched_process_fork/trigger ]; then
|
|
echo "event trigger is not supported"
|
|
exit_unsupported
|
|
fi
|
|
|
|
if [ ! -f events/sched/sched_process_fork/hist ]; then
|
|
echo "hist trigger is not supported"
|
|
exit_unsupported
|
|
fi
|
|
|
|
reset_tracer
|
|
do_reset
|
|
|
|
reset_trigger
|
|
|
|
echo "Test histogram multiple tiggers"
|
|
|
|
echo 'hist:keys=parent_pid:vals=child_pid' > events/sched/sched_process_fork/trigger
|
|
echo 'hist:keys=parent_comm:vals=child_pid' >> events/sched/sched_process_fork/trigger
|
|
for i in `seq 1 10` ; do ( echo "forked" > /dev/null); done
|
|
grep parent_pid events/sched/sched_process_fork/hist > /dev/null || \
|
|
fail "hist trigger on sched_process_fork did not work"
|
|
grep child events/sched/sched_process_fork/hist > /dev/null || \
|
|
fail "hist trigger on sched_process_fork did not work"
|
|
COMM=`cat /proc/$$/comm`
|
|
grep "parent_comm: $COMM" events/sched/sched_process_fork/hist > /dev/null || \
|
|
fail "string key on sched_process_fork did not work"
|
|
|
|
reset_trigger
|
|
|
|
echo "Test histogram with its name"
|
|
|
|
echo 'hist:name=test_hist:keys=common_pid' > events/sched/sched_process_fork/trigger
|
|
for i in `seq 1 10` ; do ( echo "forked" > /dev/null); done
|
|
grep test_hist events/sched/sched_process_fork/hist > /dev/null || \
|
|
fail "named event on sched_process_fork did not work"
|
|
|
|
echo "Test same named histogram on different events"
|
|
|
|
echo 'hist:name=test_hist:keys=common_pid' > events/sched/sched_process_exit/trigger
|
|
for i in `seq 1 10` ; do ( echo "forked" > /dev/null); done
|
|
grep test_hist events/sched/sched_process_exit/hist > /dev/null || \
|
|
fail "named event on sched_process_fork did not work"
|
|
|
|
diffs=`diff events/sched/sched_process_exit/hist events/sched/sched_process_fork/hist | wc -l`
|
|
test $diffs -eq 0 || fail "Same name histograms are not same"
|
|
|
|
reset_trigger
|
|
|
|
do_reset
|
|
|
|
exit 0
|