With synthetic events now a separate config item as a result of 'tracing: Move synthetic events to a separate file', tests that use both need to explicitly check for hist trigger support rather than relying on hist triggers to pull in synthetic events. Add an additional hist trigger check to all the trigger tests that now require it, otherwise they'll fail if synthetic events but not hist triggers are enabled. Link: http://lkml.kernel.org/r/af36c539006ef2768114b4ed38e6b054f7c7a3bd.1590693308.git.zanussi@kernel.org Acked-by: Masami Hiramatsu <mhiramat@kernel.org> Signed-off-by: Tom Zanussi <zanussi@kernel.org> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
48 lines
1.5 KiB
Bash
48 lines
1.5 KiB
Bash
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
# description: event trigger - test inter-event histogram trigger trace action
|
|
|
|
fail() { #msg
|
|
echo $1
|
|
exit_fail
|
|
}
|
|
|
|
if [ ! -f set_event ]; then
|
|
echo "event tracing is not supported"
|
|
exit_unsupported
|
|
fi
|
|
|
|
if [ ! -f synthetic_events ]; then
|
|
echo "synthetic event is not supported"
|
|
exit_unsupported
|
|
fi
|
|
|
|
if [ ! -f events/sched/sched_process_fork/hist ]; then
|
|
echo "hist trigger is not supported"
|
|
exit_unsupported
|
|
fi
|
|
|
|
grep -q "trace(<synthetic_event>" README || exit_unsupported # version issue
|
|
|
|
echo "Test create synthetic event"
|
|
|
|
echo 'wakeup_latency u64 lat pid_t pid char comm[16]' > synthetic_events
|
|
if [ ! -d events/synthetic/wakeup_latency ]; then
|
|
fail "Failed to create wakeup_latency synthetic event"
|
|
fi
|
|
|
|
echo "Test create histogram for synthetic event using trace action"
|
|
echo "Test histogram variables,simple expression support and trace action"
|
|
|
|
echo 'hist:keys=pid:ts0=common_timestamp.usecs if comm=="ping"' > events/sched/sched_wakeup/trigger
|
|
echo 'hist:keys=next_pid:wakeup_lat=common_timestamp.usecs-$ts0:onmatch(sched.sched_wakeup).trace(wakeup_latency,$wakeup_lat,next_pid,next_comm) if next_comm=="ping"' > events/sched/sched_switch/trigger
|
|
echo 'hist:keys=comm,pid,lat:wakeup_lat=lat:sort=lat' > events/synthetic/wakeup_latency/trigger
|
|
|
|
ping $LOCALHOST -c 5
|
|
|
|
if ! grep -q "ping" events/synthetic/wakeup_latency/hist; then
|
|
fail "Failed to create trace action inter-event histogram"
|
|
fi
|
|
|
|
exit 0
|