162306a36Sopenharmony_ci#!/bin/sh 262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 362306a36Sopenharmony_ci# description: event trigger - test histogram modifiers 462306a36Sopenharmony_ci# requires: set_event events/sched/sched_process_fork/trigger events/sched/sched_process_fork/hist 562306a36Sopenharmony_ci# flags: instance 662306a36Sopenharmony_ci 762306a36Sopenharmony_cifail() { #msg 862306a36Sopenharmony_ci echo $1 962306a36Sopenharmony_ci exit_fail 1062306a36Sopenharmony_ci} 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciecho "Test histogram with execname modifier" 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciecho 'hist:keys=common_pid.execname' > events/sched/sched_process_fork/trigger 1562306a36Sopenharmony_cifor i in `seq 1 10` ; do ( echo "forked" > /dev/null); done 1662306a36Sopenharmony_ciCOMM=`cat /proc/$$/comm` 1762306a36Sopenharmony_cigrep "common_pid: $COMM" events/sched/sched_process_fork/hist > /dev/null || \ 1862306a36Sopenharmony_ci fail "execname modifier on sched_process_fork did not work" 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cireset_trigger 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciecho "Test histogram with hex modifier" 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciecho 'hist:keys=parent_pid.hex' > events/sched/sched_process_fork/trigger 2562306a36Sopenharmony_cifor i in `seq 1 10` ; do ( echo "forked" > /dev/null); done 2662306a36Sopenharmony_ci# Note that $$ is the parent pid. $PID is current PID. 2762306a36Sopenharmony_ciHEX=`printf %x $PID` 2862306a36Sopenharmony_cigrep "parent_pid: $HEX" events/sched/sched_process_fork/hist > /dev/null || \ 2962306a36Sopenharmony_ci fail "hex modifier on sched_process_fork did not work" 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_cireset_trigger 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ciecho "Test histogram with syscall modifier" 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciecho 'hist:keys=id.syscall' > events/raw_syscalls/sys_exit/trigger 3662306a36Sopenharmony_cifor i in `seq 1 10` ; do ( echo "forked" > /dev/null); done 3762306a36Sopenharmony_cigrep "id: \(unknown_\|sys_\)" events/raw_syscalls/sys_exit/hist > /dev/null || \ 3862306a36Sopenharmony_ci fail "syscall modifier on raw_syscalls/sys_exit did not work" 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_cireset_trigger 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ciecho "Test histgram with log2 modifier" 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciecho 'hist:keys=bytes_req.log2' > events/kmem/kmalloc/trigger 4662306a36Sopenharmony_cifor i in `seq 1 10` ; do ( echo "forked" > /dev/null); done 4762306a36Sopenharmony_cigrep 'bytes_req: ~ 2^[0-9]*' events/kmem/kmalloc/hist > /dev/null || \ 4862306a36Sopenharmony_ci fail "log2 modifier on kmem/kmalloc did not work" 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ciexit 0 51