trigger-synthetic-event-stack.tc 918 B

1234567891011121314151617181920212223
  1. #!/bin/sh
  2. # SPDX-License-Identifier: GPL-2.0
  3. # description: event trigger - test inter-event histogram trigger trace action with dynamic string param
  4. # requires: set_event synthetic_events events/sched/sched_process_exec/hist "can be any field, or the special string 'common_stacktrace'":README
  5. fail() { #msg
  6. echo $1
  7. exit_fail
  8. }
  9. echo "Test create synthetic event with stack"
  10. echo 's:wake_lat pid_t pid; u64 delta; unsigned long[] stack;' > dynamic_events
  11. echo 'hist:keys=next_pid:ts=common_timestamp.usecs,st=common_stacktrace if prev_state == 1||prev_state == 2' >> events/sched/sched_switch/trigger
  12. echo 'hist:keys=prev_pid:delta=common_timestamp.usecs-$ts,s=$st:onmax($delta).trace(wake_lat,prev_pid,$delta,$s)' >> events/sched/sched_switch/trigger
  13. echo 1 > events/synthetic/wake_lat/enable
  14. sleep 1
  15. if ! grep -q "=>.*sched" trace; then
  16. fail "Failed to create synthetic event with stack"
  17. fi
  18. exit 0