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 "' >> synthetic_events":README ping:program
5
6fail() { #msg
7    echo $1
8    exit_fail
9}
10
11echo "Test create synthetic event"
12
13echo 'ping_test_latency u64 lat; char filename[]' > synthetic_events
14if [ ! -d events/synthetic/ping_test_latency ]; then
15    fail "Failed to create ping_test_latency synthetic event"
16fi
17
18echo "Test create histogram for synthetic event using trace action and dynamic strings"
19echo "Test histogram dynamic string variables,simple expression support and trace action"
20
21echo 'hist:key=pid:filenamevar=filename:ts0=common_timestamp.usecs' > events/sched/sched_process_exec/trigger
22echo 'hist:key=pid:lat=common_timestamp.usecs-$ts0:onmatch(sched.sched_process_exec).ping_test_latency($lat,$filenamevar) if comm == "ping"' > events/sched/sched_process_exit/trigger
23echo 'hist:keys=filename,lat:sort=filename,lat' > events/synthetic/ping_test_latency/trigger
24
25ping $LOCALHOST -c 5
26
27if ! grep -q "ping" events/synthetic/ping_test_latency/hist; then
28    fail "Failed to create dynamic string trace action inter-event histogram"
29fi
30
31exit 0
32