The following are examples of pl_syscalls.d.
This is a simple script to count executed Perl subroutines and system calls.
Here it traces an example program, Code/Perl/func_abc.pl.
# pl_syscalls.d -c ./func_abc.pl
Function A
Tracing... Hit Ctrl-C to end.
Function B
Function C
Calls for PID 305173,
FILE TYPE NAME COUNT
func_abc.pl sub func_a 1
func_abc.pl sub func_b 1
func_abc.pl sub func_c 1
func_abc.pl syscall fcntl 1
func_abc.pl syscall getrlimit 1
func_abc.pl syscall mmap 1
func_abc.pl syscall munmap 1
func_abc.pl syscall rexit 1
func_abc.pl syscall schedctl 1
func_abc.pl syscall sigpending 1
func_abc.pl syscall sysi86 1
func_abc.pl syscall getgid 2
func_abc.pl syscall getpid 2
func_abc.pl syscall getuid 2
func_abc.pl syscall sigaction 2
func_abc.pl syscall sysconfig 2
func_abc.pl syscall fstat64 3
func_abc.pl syscall nanosleep 3
func_abc.pl syscall read 3
func_abc.pl syscall setcontext 3
func_abc.pl syscall write 3
func_abc.pl syscall close 4
func_abc.pl syscall ioctl 4
func_abc.pl syscall open64 4
func_abc.pl syscall llseek 5
func_abc.pl syscall gtime 7
func_abc.pl syscall brk 20
While tracing, three subroutines were called - func_a(), func_b() and func_c().
There were numerous system calls made, including 20 brk()'s, 7 gtime()'s
and 5 llseek()'s.
This script can provide an insight to how an application is interacting
with the system, by providing both application subroutine calls and
system calls in the same output.