Skip to content

Commit a7dfdbe

Browse files
committed
tracing/selftest: Add test to test hist trigger between kernel event and trace_marker
Add a test that tests a trigger that is initiated by a kernel event (sched_waking) and compared to a write to the trace_marker. Acked-by: Masami Hiramatsu <[email protected]> Reviewed-by: Namhyung Kim <[email protected]> Signed-off-by: Steven Rostedt (VMware) <[email protected]>
1 parent c349d4a commit a7dfdbe

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
#!/bin/sh
2+
# SPDX-License-Identifier: GPL-2.0
3+
# description: trace_marker trigger - test histogram with synthetic event against kernel event
4+
# flags:
5+
6+
do_reset() {
7+
reset_trigger
8+
echo > set_event
9+
echo > synthetic_events
10+
clear_trace
11+
}
12+
13+
fail() { #msg
14+
do_reset
15+
echo $1
16+
exit_fail
17+
}
18+
19+
if [ ! -f set_event ]; then
20+
echo "event tracing is not supported"
21+
exit_unsupported
22+
fi
23+
24+
if [ ! -f synthetic_events ]; then
25+
echo "synthetic events not supported"
26+
exit_unsupported
27+
fi
28+
29+
if [ ! -d events/ftrace/print ]; then
30+
echo "event trace_marker is not supported"
31+
exit_unsupported
32+
fi
33+
34+
if [ ! -d events/sched/sched_waking ]; then
35+
echo "event sched_waking is not supported"
36+
exit_unsupported
37+
fi
38+
39+
if [ ! -f events/ftrace/print/trigger ]; then
40+
echo "event trigger is not supported"
41+
exit_unsupported
42+
fi
43+
44+
if [ ! -f events/ftrace/print/hist ]; then
45+
echo "hist trigger is not supported"
46+
exit_unsupported
47+
fi
48+
49+
do_reset
50+
51+
echo "Test histogram kernel event to trace_marker latency histogram trigger"
52+
53+
echo 'latency u64 lat' > synthetic_events
54+
echo 'hist:keys=pid:ts0=common_timestamp.usecs' > events/sched/sched_waking/trigger
55+
echo 'hist:keys=common_pid:lat=common_timestamp.usecs-$ts0:onmatch(sched.sched_waking).latency($lat)' > events/ftrace/print/trigger
56+
echo 'hist:keys=common_pid,lat:sort=lat' > events/synthetic/latency/trigger
57+
sleep 1
58+
echo "hello" > trace_marker
59+
60+
grep 'hitcount: *1$' events/ftrace/print/hist > /dev/null || \
61+
fail "hist trigger did not trigger correct times on trace_marker"
62+
63+
grep 'hitcount: *1$' events/synthetic/latency/hist > /dev/null || \
64+
fail "hist trigger did not trigger "
65+
66+
do_reset
67+
68+
exit 0

0 commit comments

Comments
 (0)