18c2ecf20Sopenharmony_ci#!/bin/sh 28c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 38c2ecf20Sopenharmony_ci# description: event trigger - test histogram modifiers 48c2ecf20Sopenharmony_ci# requires: set_event events/sched/sched_process_fork/trigger events/sched/sched_process_fork/hist 58c2ecf20Sopenharmony_ci# flags: instance 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cifail() { #msg 88c2ecf20Sopenharmony_ci echo $1 98c2ecf20Sopenharmony_ci exit_fail 108c2ecf20Sopenharmony_ci} 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciecho "Test histogram with execname modifier" 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ciecho 'hist:keys=common_pid.execname' > events/sched/sched_process_fork/trigger 158c2ecf20Sopenharmony_cifor i in `seq 1 10` ; do ( echo "forked" > /dev/null); done 168c2ecf20Sopenharmony_ciCOMM=`cat /proc/$$/comm` 178c2ecf20Sopenharmony_cigrep "common_pid: $COMM" events/sched/sched_process_fork/hist > /dev/null || \ 188c2ecf20Sopenharmony_ci fail "execname modifier on sched_process_fork did not work" 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_cireset_trigger 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciecho "Test histogram with hex modifier" 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciecho 'hist:keys=parent_pid.hex' > events/sched/sched_process_fork/trigger 258c2ecf20Sopenharmony_cifor i in `seq 1 10` ; do ( echo "forked" > /dev/null); done 268c2ecf20Sopenharmony_ci# Note that $$ is the parent pid. $PID is current PID. 278c2ecf20Sopenharmony_ciHEX=`printf %x $PID` 288c2ecf20Sopenharmony_cigrep "parent_pid: $HEX" events/sched/sched_process_fork/hist > /dev/null || \ 298c2ecf20Sopenharmony_ci fail "hex modifier on sched_process_fork did not work" 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_cireset_trigger 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ciecho "Test histogram with syscall modifier" 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciecho 'hist:keys=id.syscall' > events/raw_syscalls/sys_exit/trigger 368c2ecf20Sopenharmony_cifor i in `seq 1 10` ; do ( echo "forked" > /dev/null); done 378c2ecf20Sopenharmony_cigrep "id: \(unknown_\|sys_\)" events/raw_syscalls/sys_exit/hist > /dev/null || \ 388c2ecf20Sopenharmony_ci fail "syscall modifier on raw_syscalls/sys_exit did not work" 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_cireset_trigger 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ciecho "Test histgram with log2 modifier" 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ciecho 'hist:keys=bytes_req.log2' > events/kmem/kmalloc/trigger 468c2ecf20Sopenharmony_cifor i in `seq 1 10` ; do ( echo "forked" > /dev/null); done 478c2ecf20Sopenharmony_cigrep 'bytes_req: ~ 2^[0-9]*' events/kmem/kmalloc/hist > /dev/null || \ 488c2ecf20Sopenharmony_ci fail "log2 modifier on kmem/kmalloc did not work" 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciexit 0 51