From 4460a68aa299ad6b63ffbbbb23585b93fad9feee Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 7 Mar 2025 21:26:52 +0200 Subject: add pprof option and rename ioriotng to ior --- .gitignore | 2 +- Makefile | 8 +- README.md | 6 +- assets/ioriotng-small.png | Bin 46683 -> 0 bytes assets/ioriotng.png | Bin 951451 -> 0 bytes assets/ioriotng.xcf | Bin 1944490 -> 0 bytes cmd/ior/main.go | 10 + cmd/ioriotng/main.go | 10 - go.mod | 2 +- internal/c/generated/tracepoints.c | 510 ++++++++++++++++++------------------- internal/c/ioriotng.bpf.c | 20 -- internal/event.go | 2 +- internal/eventfilter.go | 4 +- internal/eventloop.go | 16 +- internal/flags/flags.go | 2 + internal/ioriotng.go | 66 ----- 16 files changed, 290 insertions(+), 368 deletions(-) delete mode 100644 assets/ioriotng-small.png delete mode 100644 assets/ioriotng.png delete mode 100644 assets/ioriotng.xcf create mode 100644 cmd/ior/main.go delete mode 100644 cmd/ioriotng/main.go delete mode 100644 internal/c/ioriotng.bpf.c delete mode 100644 internal/ioriotng.go diff --git a/.gitignore b/.gitignore index 68388cf..e2897f4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -ioriotng +/ioriotng /ioriotng.bpf.c *.o vmlinux.h diff --git a/Makefile b/Makefile index fa91ca1..3b2743b 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ all: bpfbuild gobuild .PHONY: bpfbuild bpfbuild: make -C ./internal/c redo - cp -v ./internal/c/ioriotng.bpf.o . + cp -v ./internal/c/ior.bpf.o . gen: generated generate: generated @@ -22,12 +22,12 @@ generated: .PHONY: gobuild gobuild: - go build -tags netgo -ldflags '-w -extldflags "-static"' -o ioriotng ./cmd/ioriotng/main.go + go build -tags netgo -ldflags '-w -extldflags "-static"' -o ior ./cmd/ior/main.go .PHONY: clean clean: - find . -type f -name ioriotng -delete - if [ -e ioriotng.bpf.o ]; then rm ioriotng.bpf.o; fi + find . -type f -name ior -delete + if [ -e ior.bpf.o ]; then rm ior.bpf.o; fi make -C ./internal/c clean .PHONY: world diff --git a/README.md b/README.md index 156ed5a..3831ad7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# ioriotng +# I/O Riot NG - + I/O Riot NG is an experiments with BPF. This program traces for synchronous I/O syscalls and then analyses the time taken for each of those syscalls. @@ -12,7 +12,7 @@ To get this running on Fedora 39, run: ```shell mkdir ~/git -git clone https://codeberg.org/snonux/ioriotng +git clone https://codeberg.org/snonux/ior git clone https://github.com/aquasecurity/libbpfgo sudo dnf install -y golang clang bpftool elfutils-libelf-devel zlib-static glibc-static libzstd-static cd libbpfgo diff --git a/assets/ioriotng-small.png b/assets/ioriotng-small.png deleted file mode 100644 index 157df17..0000000 Binary files a/assets/ioriotng-small.png and /dev/null differ diff --git a/assets/ioriotng.png b/assets/ioriotng.png deleted file mode 100644 index 4b08952..0000000 Binary files a/assets/ioriotng.png and /dev/null differ diff --git a/assets/ioriotng.xcf b/assets/ioriotng.xcf deleted file mode 100644 index c9b6665..0000000 Binary files a/assets/ioriotng.xcf and /dev/null differ diff --git a/cmd/ior/main.go b/cmd/ior/main.go new file mode 100644 index 0000000..025abbb --- /dev/null +++ b/cmd/ior/main.go @@ -0,0 +1,10 @@ +package main + +import ( + "ior/internal" + "ior/internal/flags" +) + +func main() { + internal.Run(flags.New()) +} diff --git a/cmd/ioriotng/main.go b/cmd/ioriotng/main.go deleted file mode 100644 index 5173cbb..0000000 --- a/cmd/ioriotng/main.go +++ /dev/null @@ -1,10 +0,0 @@ -package main - -import ( - "ioriotng/internal" - "ioriotng/internal/flags" -) - -func main() { - internal.Run(flags.New()) -} diff --git a/go.mod b/go.mod index 4eff935..51d190a 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module ioriotng +module ior go 1.18 diff --git a/internal/c/generated/tracepoints.c b/internal/c/generated/tracepoints.c index a50a9e3..dc62679 100644 --- a/internal/c/generated/tracepoints.c +++ b/internal/c/generated/tracepoints.c @@ -1,289 +1,289 @@ // Code generated - don't change manually! -// Ignoring sys_enter_getsid sys_exit_getsid as possibly not file I/O related -// Ignoring sys_enter_utimes sys_exit_utimes as possibly not file I/O related -// Ignoring sys_enter_semop sys_exit_semop as possibly not file I/O related -// Ignoring sys_enter_pselect6 sys_exit_pselect6 as possibly not file I/O related -// Ignoring sys_enter_brk sys_exit_brk as possibly not file I/O related -// Ignoring sys_enter_fsetxattr sys_exit_fsetxattr as possibly not file I/O related -// Ignoring sys_enter_settimeofday sys_exit_settimeofday as possibly not file I/O related -// Ignoring sys_enter_fadvise64 sys_exit_fadvise64 as possibly not file I/O related -// Ignoring sys_enter_io_setup sys_exit_io_setup as possibly not file I/O related -// Ignoring sys_enter_getpeername sys_exit_getpeername as possibly not file I/O related -// Ignoring sys_enter_epoll_pwait2 sys_exit_epoll_pwait2 as possibly not file I/O related -// Ignoring sys_enter_uretprobe sys_exit_uretprobe as possibly not file I/O related -// Ignoring sys_enter_epoll_wait sys_exit_epoll_wait as possibly not file I/O related -// Ignoring sys_enter_getgroups sys_exit_getgroups as possibly not file I/O related -// Ignoring sys_enter_semtimedop sys_exit_semtimedop as possibly not file I/O related -// Ignoring sys_enter_setsockopt sys_exit_setsockopt as possibly not file I/O related -// Ignoring sys_enter_setitimer sys_exit_setitimer as possibly not file I/O related -// Ignoring sys_enter_mq_timedreceive sys_exit_mq_timedreceive as possibly not file I/O related -// Ignoring sys_enter_timerfd_gettime sys_exit_timerfd_gettime as possibly not file I/O related +// Ignoring sys_enter_getpgid sys_exit_getpgid as possibly not file I/O related +// Ignoring sys_enter_clone sys_exit_clone as possibly not file I/O related +// Ignoring sys_enter_kexec_load sys_exit_kexec_load as possibly not file I/O related +// Ignoring sys_enter_sync sys_exit_sync as possibly not file I/O related +// Ignoring sys_enter_setuid sys_exit_setuid as possibly not file I/O related +// Ignoring sys_enter_kexec_file_load sys_exit_kexec_file_load as possibly not file I/O related +// Ignoring sys_enter_fsconfig sys_exit_fsconfig as possibly not file I/O related +// Ignoring sys_enter_eventfd2 sys_exit_eventfd2 as possibly not file I/O related +// Ignoring sys_enter_mincore sys_exit_mincore as possibly not file I/O related +// Ignoring sys_enter_connect sys_exit_connect as possibly not file I/O related +// Ignoring sys_enter_clock_adjtime sys_exit_clock_adjtime as possibly not file I/O related +// Ignoring sys_enter_epoll_pwait sys_exit_epoll_pwait as possibly not file I/O related +// Ignoring sys_enter_set_mempolicy_home_node sys_exit_set_mempolicy_home_node as possibly not file I/O related +// Ignoring sys_enter_landlock_add_rule sys_exit_landlock_add_rule as possibly not file I/O related +// Ignoring sys_enter_mq_unlink sys_exit_mq_unlink as possibly not file I/O related +// Ignoring sys_enter_rt_sigtimedwait sys_exit_rt_sigtimedwait as possibly not file I/O related +// Ignoring sys_enter_msgsnd sys_exit_msgsnd as possibly not file I/O related +// Ignoring sys_enter_semget sys_exit_semget as possibly not file I/O related +// Ignoring sys_enter_remap_file_pages sys_exit_remap_file_pages as possibly not file I/O related +// Ignoring sys_enter_pipe2 sys_exit_pipe2 as possibly not file I/O related // Ignoring sys_enter_mq_open sys_exit_mq_open as possibly not file I/O related -// Ignoring sys_enter_mlock sys_exit_mlock as possibly not file I/O related -// Ignoring sys_enter_rt_sigpending sys_exit_rt_sigpending as possibly not file I/O related -// Ignoring sys_enter_clock_gettime sys_exit_clock_gettime as possibly not file I/O related // Ignoring sys_enter_arch_prctl sys_exit_arch_prctl as possibly not file I/O related -// Ignoring sys_enter_dup3 sys_exit_dup3 as possibly not file I/O related -// Ignoring sys_enter_futex_requeue sys_exit_futex_requeue as possibly not file I/O related -// Ignoring sys_enter_dup2 sys_exit_dup2 as possibly not file I/O related -// Ignoring sys_enter_fsconfig sys_exit_fsconfig as possibly not file I/O related -// Ignoring sys_enter_swapon sys_exit_swapon as possibly not file I/O related -// Ignoring sys_enter_sched_getparam sys_exit_sched_getparam as possibly not file I/O related +// Ignoring sys_enter_setitimer sys_exit_setitimer as possibly not file I/O related // Ignoring sys_enter_sysinfo sys_exit_sysinfo as possibly not file I/O related -// Ignoring sys_enter_lsm_list_modules sys_exit_lsm_list_modules as possibly not file I/O related -// Ignoring sys_enter_getegid sys_exit_getegid as possibly not file I/O related -// Ignoring sys_enter_setresuid sys_exit_setresuid as possibly not file I/O related -// Ignoring sys_enter_tkill sys_exit_tkill as possibly not file I/O related -// Ignoring sys_enter_memfd_secret sys_exit_memfd_secret as possibly not file I/O related -// Ignoring sys_enter_process_madvise sys_exit_process_madvise as possibly not file I/O related -// Ignoring sys_enter_msgrcv sys_exit_msgrcv as possibly not file I/O related -// Ignoring sys_enter_iopl sys_exit_iopl as possibly not file I/O related +// Ignoring sys_enter_mq_notify sys_exit_mq_notify as possibly not file I/O related +// Ignoring sys_enter_timer_gettime sys_exit_timer_gettime as possibly not file I/O related +// Ignoring sys_enter_io_setup sys_exit_io_setup as possibly not file I/O related +// Ignoring sys_enter_gettimeofday sys_exit_gettimeofday as possibly not file I/O related +// Ignoring sys_enter_dup sys_exit_dup as possibly not file I/O related +// Ignoring sys_enter_getrusage sys_exit_getrusage as possibly not file I/O related +// Ignoring sys_enter_mprotect sys_exit_mprotect as possibly not file I/O related +// Ignoring sys_enter_setpgid sys_exit_setpgid as possibly not file I/O related +// Ignoring sys_enter_keyctl sys_exit_keyctl as possibly not file I/O related +// Ignoring sys_enter_mount sys_exit_mount as possibly not file I/O related +// Ignoring sys_enter_reboot sys_exit_reboot as possibly not file I/O related +// Ignoring sys_enter_pkey_mprotect sys_exit_pkey_mprotect as possibly not file I/O related +// Ignoring sys_enter_capset sys_exit_capset as possibly not file I/O related +// Ignoring sys_enter_sched_setparam sys_exit_sched_setparam as possibly not file I/O related +// Ignoring sys_enter_munlock sys_exit_munlock as possibly not file I/O related +// Ignoring sys_enter_pipe sys_exit_pipe as possibly not file I/O related // Ignoring sys_enter_newuname sys_exit_newuname as possibly not file I/O related -// Ignoring sys_enter_getpriority sys_exit_getpriority as possibly not file I/O related -// Ignoring sys_enter_futex_wait sys_exit_futex_wait as possibly not file I/O related -// Ignoring sys_enter_clone3 sys_exit_clone3 as possibly not file I/O related +// Ignoring sys_enter_process_vm_readv sys_exit_process_vm_readv as possibly not file I/O related +// Ignoring sys_enter_socket sys_exit_socket as possibly not file I/O related +// Ignoring sys_enter_flistxattr sys_exit_flistxattr as possibly not file I/O related +// Ignoring sys_enter_getsockopt sys_exit_getsockopt as possibly not file I/O related +// Ignoring sys_enter_vmsplice sys_exit_vmsplice as possibly not file I/O related // Ignoring sys_enter_setfsgid sys_exit_setfsgid as possibly not file I/O related -// Ignoring sys_enter_capset sys_exit_capset as possibly not file I/O related -// Ignoring sys_enter_rt_sigaction sys_exit_rt_sigaction as possibly not file I/O related -// Ignoring sys_enter_mincore sys_exit_mincore as possibly not file I/O related +// Ignoring sys_enter_quotactl sys_exit_quotactl as possibly not file I/O related +// Ignoring sys_enter_pkey_alloc sys_exit_pkey_alloc as possibly not file I/O related // Ignoring sys_enter_request_key sys_exit_request_key as possibly not file I/O related -// Ignoring sys_enter_get_robust_list sys_exit_get_robust_list as possibly not file I/O related -// Ignoring sys_enter_io_cancel sys_exit_io_cancel as possibly not file I/O related -// Ignoring sys_enter_shmat sys_exit_shmat as possibly not file I/O related -// Ignoring sys_enter_prlimit64 sys_exit_prlimit64 as possibly not file I/O related -// Ignoring sys_enter_getrusage sys_exit_getrusage as possibly not file I/O related -// Ignoring sys_enter_ioperm sys_exit_ioperm as possibly not file I/O related -// Ignoring sys_enter_getresgid sys_exit_getresgid as possibly not file I/O related -// Ignoring sys_enter_landlock_add_rule sys_exit_landlock_add_rule as possibly not file I/O related -// Ignoring sys_enter_personality sys_exit_personality as possibly not file I/O related -// Ignoring sys_enter_init_module sys_exit_init_module as possibly not file I/O related -// Ignoring sys_enter_accept4 sys_exit_accept4 as possibly not file I/O related -// Ignoring sys_enter_ptrace sys_exit_ptrace as possibly not file I/O related -// Ignoring sys_enter_time sys_exit_time as possibly not file I/O related -// Ignoring sys_enter_sethostname sys_exit_sethostname as possibly not file I/O related +// Ignoring sys_enter_splice sys_exit_splice as possibly not file I/O related // Ignoring sys_enter_kcmp sys_exit_kcmp as possibly not file I/O related -// Ignoring sys_enter_readv sys_exit_readv as possibly not file I/O related -// Ignoring sys_enter_mlock2 sys_exit_mlock2 as possibly not file I/O related -// Ignoring sys_enter_get_mempolicy sys_exit_get_mempolicy as possibly not file I/O related -// Ignoring sys_enter_sync sys_exit_sync as possibly not file I/O related -// Ignoring sys_enter_mq_timedsend sys_exit_mq_timedsend as possibly not file I/O related -// Ignoring sys_enter_clock_getres sys_exit_clock_getres as possibly not file I/O related +// Ignoring sys_enter_fsetxattr sys_exit_fsetxattr as possibly not file I/O related +// Ignoring sys_enter_timer_getoverrun sys_exit_timer_getoverrun as possibly not file I/O related // Ignoring sys_enter_setsid sys_exit_setsid as possibly not file I/O related -// Ignoring sys_enter_tgkill sys_exit_tgkill as possibly not file I/O related -// Ignoring sys_enter_sync_file_range sys_exit_sync_file_range as possibly not file I/O related -// Ignoring sys_enter_truncate sys_exit_truncate as possibly not file I/O related +// Ignoring sys_enter_io_submit sys_exit_io_submit as possibly not file I/O related +// Ignoring sys_enter_prctl sys_exit_prctl as possibly not file I/O related +// Ignoring sys_enter_copy_file_range sys_exit_copy_file_range as possibly not file I/O related +// Ignoring sys_enter_futex_requeue sys_exit_futex_requeue as possibly not file I/O related +// Ignoring sys_enter_mmap sys_exit_mmap as possibly not file I/O related +// Ignoring sys_enter_mq_timedreceive sys_exit_mq_timedreceive as possibly not file I/O related +// Ignoring sys_enter_poll sys_exit_poll as possibly not file I/O related +// Ignoring sys_enter_fsmount sys_exit_fsmount as possibly not file I/O related +// Ignoring sys_enter_epoll_create1 sys_exit_epoll_create1 as possibly not file I/O related +// Ignoring sys_enter_pwritev sys_exit_pwritev as possibly not file I/O related +// Ignoring sys_enter_rt_sigqueueinfo sys_exit_rt_sigqueueinfo as possibly not file I/O related +// Ignoring sys_enter_setrlimit sys_exit_setrlimit as possibly not file I/O related +// Ignoring sys_enter_lsm_list_modules sys_exit_lsm_list_modules as possibly not file I/O related +// Ignoring sys_enter_recvmsg sys_exit_recvmsg as possibly not file I/O related +// Ignoring sys_enter_getpeername sys_exit_getpeername as possibly not file I/O related +// Ignoring sys_enter_clock_gettime sys_exit_clock_gettime as possibly not file I/O related +// Ignoring sys_enter_rt_sigsuspend sys_exit_rt_sigsuspend as possibly not file I/O related +// Ignoring sys_enter_listmount sys_exit_listmount as possibly not file I/O related +// Ignoring sys_enter_pselect6 sys_exit_pselect6 as possibly not file I/O related +// Ignoring sys_enter_shmctl sys_exit_shmctl as possibly not file I/O related +// Ignoring sys_enter_memfd_secret sys_exit_memfd_secret as possibly not file I/O related +// Ignoring sys_enter_pivot_root sys_exit_pivot_root as possibly not file I/O related +// Ignoring sys_enter_readlink sys_exit_readlink as possibly not file I/O related +// Ignoring sys_enter_signalfd sys_exit_signalfd as possibly not file I/O related +// Ignoring sys_enter_inotify_init sys_exit_inotify_init as possibly not file I/O related +// Ignoring sys_enter_dup3 sys_exit_dup3 as possibly not file I/O related +// Ignoring sys_enter_membarrier sys_exit_membarrier as possibly not file I/O related +// Ignoring sys_enter_seccomp sys_exit_seccomp as possibly not file I/O related +// Ignoring sys_enter_landlock_create_ruleset sys_exit_landlock_create_ruleset as possibly not file I/O related +// Ignoring sys_enter_sched_get_priority_min sys_exit_sched_get_priority_min as possibly not file I/O related +// Ignoring sys_enter_time sys_exit_time as possibly not file I/O related +// Ignoring sys_enter_setresgid sys_exit_setresgid as possibly not file I/O related +// Ignoring sys_enter_recvmmsg sys_exit_recvmmsg as possibly not file I/O related +// Ignoring sys_enter_open_by_handle_at sys_exit_open_by_handle_at as possibly not file I/O related +// Ignoring sys_enter_msync sys_exit_msync as possibly not file I/O related +// Ignoring sys_enter_sendmsg sys_exit_sendmsg as possibly not file I/O related +// Ignoring sys_enter_clone3 sys_exit_clone3 as possibly not file I/O related +// Ignoring sys_enter_shmdt sys_exit_shmdt as possibly not file I/O related +// Ignoring sys_enter_bind sys_exit_bind as possibly not file I/O related // Ignoring sys_enter_unshare sys_exit_unshare as possibly not file I/O related -// Ignoring sys_enter_getrandom sys_exit_getrandom as possibly not file I/O related -// Ignoring sys_enter_getsockopt sys_exit_getsockopt as possibly not file I/O related +// Ignoring sys_enter_fsopen sys_exit_fsopen as possibly not file I/O related +// Ignoring sys_enter_mremap sys_exit_mremap as possibly not file I/O related +// Ignoring sys_enter_preadv sys_exit_preadv as possibly not file I/O related +// Ignoring sys_enter_socketpair sys_exit_socketpair as possibly not file I/O related +// Ignoring sys_enter_getppid sys_exit_getppid as possibly not file I/O related // Ignoring sys_enter_io_destroy sys_exit_io_destroy as possibly not file I/O related +// Ignoring sys_enter_fanotify_init sys_exit_fanotify_init as possibly not file I/O related +// Ignoring sys_enter_getpid sys_exit_getpid as possibly not file I/O related +// Ignoring sys_enter_rt_sigprocmask sys_exit_rt_sigprocmask as possibly not file I/O related +// Ignoring sys_enter_sendfile64 sys_exit_sendfile64 as possibly not file I/O related +// Ignoring sys_enter_setresuid sys_exit_setresuid as possibly not file I/O related +// Ignoring sys_enter_memfd_create sys_exit_memfd_create as possibly not file I/O related +// Ignoring sys_enter_rt_sigreturn sys_exit_rt_sigreturn as possibly not file I/O related +// Ignoring sys_enter_sched_setattr sys_exit_sched_setattr as possibly not file I/O related +// Ignoring sys_enter_bpf sys_exit_bpf as possibly not file I/O related +// Ignoring sys_enter_timerfd_create sys_exit_timerfd_create as possibly not file I/O related +// Ignoring sys_enter_process_mrelease sys_exit_process_mrelease as possibly not file I/O related // Ignoring sys_enter_finit_module sys_exit_finit_module as possibly not file I/O related -// Ignoring sys_enter_vhangup sys_exit_vhangup as possibly not file I/O related +// Ignoring sys_enter_io_uring_setup sys_exit_io_uring_setup as possibly not file I/O related +// Ignoring sys_enter_setreuid sys_exit_setreuid as possibly not file I/O related +// Ignoring sys_enter_pidfd_getfd sys_exit_pidfd_getfd as possibly not file I/O related +// Ignoring sys_enter_gettid sys_exit_gettid as possibly not file I/O related +// Ignoring sys_enter_timerfd_gettime sys_exit_timerfd_gettime as possibly not file I/O related +// Ignoring sys_enter_sethostname sys_exit_sethostname as possibly not file I/O related +// Ignoring sys_enter_getcpu sys_exit_getcpu as possibly not file I/O related +// Ignoring sys_enter_lsm_get_self_attr sys_exit_lsm_get_self_attr as possibly not file I/O related +// Ignoring sys_enter_getegid sys_exit_getegid as possibly not file I/O related +// Ignoring sys_enter_shmat sys_exit_shmat as possibly not file I/O related // Ignoring sys_enter_map_shadow_stack sys_exit_map_shadow_stack as possibly not file I/O related -// Ignoring sys_enter_mprotect sys_exit_mprotect as possibly not file I/O related -// Ignoring sys_enter_setuid sys_exit_setuid as possibly not file I/O related -// Ignoring sys_enter_futex sys_exit_futex as possibly not file I/O related -// Ignoring sys_enter_futex_wake sys_exit_futex_wake as possibly not file I/O related -// Ignoring sys_enter_process_vm_writev sys_exit_process_vm_writev as possibly not file I/O related -// Ignoring sys_enter_pipe sys_exit_pipe as possibly not file I/O related -// Ignoring sys_enter_umask sys_exit_umask as possibly not file I/O related -// Ignoring sys_enter_timer_gettime sys_exit_timer_gettime as possibly not file I/O related -// Ignoring sys_enter_bpf sys_exit_bpf as possibly not file I/O related -// Ignoring sys_enter_pause sys_exit_pause as possibly not file I/O related -// Ignoring sys_enter_adjtimex sys_exit_adjtimex as possibly not file I/O related -// Ignoring sys_enter_mseal sys_exit_mseal as possibly not file I/O related -// Ignoring sys_enter_shmget sys_exit_shmget as possibly not file I/O related -// Ignoring sys_enter_bind sys_exit_bind as possibly not file I/O related -// Ignoring sys_enter_mlockall sys_exit_mlockall as possibly not file I/O related -// Ignoring sys_enter_eventfd sys_exit_eventfd as possibly not file I/O related +// Ignoring sys_enter_process_madvise sys_exit_process_madvise as possibly not file I/O related +// Ignoring sys_enter_tee sys_exit_tee as possibly not file I/O related +// Ignoring sys_enter_accept sys_exit_accept as possibly not file I/O related +// Ignoring sys_enter_swapon sys_exit_swapon as possibly not file I/O related +// Ignoring sys_enter_get_robust_list sys_exit_get_robust_list as possibly not file I/O related +// Ignoring sys_enter_wait4 sys_exit_wait4 as possibly not file I/O related +// Ignoring sys_enter_setpriority sys_exit_setpriority as possibly not file I/O related +// Ignoring sys_enter_rt_sigpending sys_exit_rt_sigpending as possibly not file I/O related +// Ignoring sys_enter_acct sys_exit_acct as possibly not file I/O related // Ignoring sys_enter_epoll_create sys_exit_epoll_create as possibly not file I/O related -// Ignoring sys_enter_set_robust_list sys_exit_set_robust_list as possibly not file I/O related -// Ignoring sys_enter_epoll_pwait sys_exit_epoll_pwait as possibly not file I/O related -// Ignoring sys_enter_ppoll sys_exit_ppoll as possibly not file I/O related -// Ignoring sys_enter_perf_event_open sys_exit_perf_event_open as possibly not file I/O related -// Ignoring sys_enter_shmctl sys_exit_shmctl as possibly not file I/O related -// Ignoring sys_enter_sendto sys_exit_sendto as possibly not file I/O related -// Ignoring sys_enter_readlink sys_exit_readlink as possibly not file I/O related +// Ignoring sys_enter_shutdown sys_exit_shutdown as possibly not file I/O related +// Ignoring sys_enter_io_getevents sys_exit_io_getevents as possibly not file I/O related +// Ignoring sys_enter_modify_ldt sys_exit_modify_ldt as possibly not file I/O related +// Ignoring sys_enter_preadv2 sys_exit_preadv2 as possibly not file I/O related +// Ignoring sys_enter_accept4 sys_exit_accept4 as possibly not file I/O related +// Ignoring sys_enter_getresgid sys_exit_getresgid as possibly not file I/O related +// Ignoring sys_enter_clock_nanosleep sys_exit_clock_nanosleep as possibly not file I/O related +// Ignoring sys_enter_munlockall sys_exit_munlockall as possibly not file I/O related +// Ignoring sys_enter_syslog sys_exit_syslog as possibly not file I/O related +// Ignoring sys_enter_rt_tgsigqueueinfo sys_exit_rt_tgsigqueueinfo as possibly not file I/O related +// Ignoring sys_enter_timer_delete sys_exit_timer_delete as possibly not file I/O related +// Ignoring sys_enter_alarm sys_exit_alarm as possibly not file I/O related +// Ignoring sys_enter_timerfd_settime sys_exit_timerfd_settime as possibly not file I/O related // Ignoring sys_enter_semctl sys_exit_semctl as possibly not file I/O related +// Ignoring sys_enter_readv sys_exit_readv as possibly not file I/O related // Ignoring sys_enter_fremovexattr sys_exit_fremovexattr as possibly not file I/O related -// Ignoring sys_enter_getcpu sys_exit_getcpu as possibly not file I/O related +// Ignoring sys_enter_perf_event_open sys_exit_perf_event_open as possibly not file I/O related +// Ignoring sys_enter_exit sys_exit_exit as possibly not file I/O related +// Ignoring sys_enter_dup2 sys_exit_dup2 as possibly not file I/O related +// Ignoring sys_enter_iopl sys_exit_iopl as possibly not file I/O related +// Ignoring sys_enter_set_mempolicy sys_exit_set_mempolicy as possibly not file I/O related +// Ignoring sys_enter_setns sys_exit_setns as possibly not file I/O related +// Ignoring sys_enter_recvfrom sys_exit_recvfrom as possibly not file I/O related +// Ignoring sys_enter_epoll_wait sys_exit_epoll_wait as possibly not file I/O related // Ignoring sys_enter_madvise sys_exit_madvise as possibly not file I/O related -// Ignoring sys_enter_io_getevents sys_exit_io_getevents as possibly not file I/O related -// Ignoring sys_enter_move_pages sys_exit_move_pages as possibly not file I/O related -// Ignoring sys_enter_mq_unlink sys_exit_mq_unlink as possibly not file I/O related -// Ignoring sys_enter_vmsplice sys_exit_vmsplice as possibly not file I/O related -// Ignoring sys_enter_signalfd sys_exit_signalfd as possibly not file I/O related +// Ignoring sys_enter_tgkill sys_exit_tgkill as possibly not file I/O related +// Ignoring sys_enter_mlockall sys_exit_mlockall as possibly not file I/O related +// Ignoring sys_enter_epoll_ctl sys_exit_epoll_ctl as possibly not file I/O related +// Ignoring sys_enter_umount sys_exit_umount as possibly not file I/O related +// Ignoring sys_enter_semtimedop sys_exit_semtimedop as possibly not file I/O related +// Ignoring sys_enter_getresuid sys_exit_getresuid as possibly not file I/O related +// Ignoring sys_enter_getuid sys_exit_getuid as possibly not file I/O related +// Ignoring sys_enter_pkey_free sys_exit_pkey_free as possibly not file I/O related +// Ignoring sys_enter_sched_getattr sys_exit_sched_getattr as possibly not file I/O related +// Ignoring sys_enter_msgrcv sys_exit_msgrcv as possibly not file I/O related +// Ignoring sys_enter_capget sys_exit_capget as possibly not file I/O related +// Ignoring sys_enter_sigaltstack sys_exit_sigaltstack as possibly not file I/O related // Ignoring sys_enter_nanosleep sys_exit_nanosleep as possibly not file I/O related -// Ignoring sys_enter_setregid sys_exit_setregid as possibly not file I/O related -// Ignoring sys_enter_restart_syscall sys_exit_restart_syscall as possibly not file I/O related -// Ignoring sys_enter_pkey_mprotect sys_exit_pkey_mprotect as possibly not file I/O related -// Ignoring sys_enter_sched_setaffinity sys_exit_sched_setaffinity as possibly not file I/O related -// Ignoring sys_enter_timer_create sys_exit_timer_create as possibly not file I/O related -// Ignoring sys_enter_pwritev sys_exit_pwritev as possibly not file I/O related -// Ignoring sys_enter_landlock_restrict_self sys_exit_landlock_restrict_self as possibly not file I/O related -// Ignoring sys_enter_swapoff sys_exit_swapoff as possibly not file I/O related -// Ignoring sys_enter_wait4 sys_exit_wait4 as possibly not file I/O related -// Ignoring sys_enter_sched_get_priority_max sys_exit_sched_get_priority_max as possibly not file I/O related -// Ignoring sys_enter_sched_setparam sys_exit_sched_setparam as possibly not file I/O related -// Ignoring sys_enter_fanotify_init sys_exit_fanotify_init as possibly not file I/O related -// Ignoring sys_enter_rt_sigqueueinfo sys_exit_rt_sigqueueinfo as possibly not file I/O related -// Ignoring sys_enter_clone sys_exit_clone as possibly not file I/O related -// Ignoring sys_enter_rt_sigprocmask sys_exit_rt_sigprocmask as possibly not file I/O related -// Ignoring sys_enter_mount sys_exit_mount as possibly not file I/O related -// Ignoring sys_enter_name_to_handle_at sys_exit_name_to_handle_at as possibly not file I/O related -// Ignoring sys_enter_getppid sys_exit_getppid as possibly not file I/O related -// Ignoring sys_enter_recvfrom sys_exit_recvfrom as possibly not file I/O related -// Ignoring sys_enter_getcwd sys_exit_getcwd as possibly not file I/O related -// Ignoring sys_enter_move_mount sys_exit_move_mount as possibly not file I/O related -// Ignoring sys_enter_mq_notify sys_exit_mq_notify as possibly not file I/O related -// Ignoring sys_enter_io_uring_setup sys_exit_io_uring_setup as possibly not file I/O related -// Ignoring sys_enter_poll sys_exit_poll as possibly not file I/O related -// Ignoring sys_enter_socketpair sys_exit_socketpair as possibly not file I/O related -// Ignoring sys_enter_listen sys_exit_listen as possibly not file I/O related -// Ignoring sys_enter_landlock_create_ruleset sys_exit_landlock_create_ruleset as possibly not file I/O related -// Ignoring sys_enter_socket sys_exit_socket as possibly not file I/O related -// Ignoring sys_enter_tee sys_exit_tee as possibly not file I/O related -// Ignoring sys_enter_sysfs sys_exit_sysfs as possibly not file I/O related -// Ignoring sys_enter_syslog sys_exit_syslog as possibly not file I/O related -// Ignoring sys_enter_setfsuid sys_exit_setfsuid as possibly not file I/O related -// Ignoring sys_enter_dup sys_exit_dup as possibly not file I/O related -// Ignoring sys_enter_lsm_get_self_attr sys_exit_lsm_get_self_attr as possibly not file I/O related -// Ignoring sys_enter_syncfs sys_exit_syncfs as possibly not file I/O related -// Ignoring sys_enter_kill sys_exit_kill as possibly not file I/O related -// Ignoring sys_enter_prctl sys_exit_prctl as possibly not file I/O related -// Ignoring sys_enter_sched_getscheduler sys_exit_sched_getscheduler as possibly not file I/O related -// Ignoring sys_enter_futex_waitv sys_exit_futex_waitv as possibly not file I/O related -// Ignoring sys_enter_sched_getaffinity sys_exit_sched_getaffinity as possibly not file I/O related -// Ignoring sys_enter_acct sys_exit_acct as possibly not file I/O related +// Ignoring sys_enter_utime sys_exit_utime as possibly not file I/O related // Ignoring sys_enter_ustat sys_exit_ustat as possibly not file I/O related -// Ignoring sys_enter_getitimer sys_exit_getitimer as possibly not file I/O related -// Ignoring sys_enter_setresgid sys_exit_setresgid as possibly not file I/O related -// Ignoring sys_enter_ioprio_set sys_exit_ioprio_set as possibly not file I/O related -// Ignoring sys_enter_mmap sys_exit_mmap as possibly not file I/O related -// Ignoring sys_enter_sendfile64 sys_exit_sendfile64 as possibly not file I/O related -// Ignoring sys_enter_timer_getoverrun sys_exit_timer_getoverrun as possibly not file I/O related -// Ignoring sys_enter_getresuid sys_exit_getresuid as possibly not file I/O related -// Ignoring sys_enter_fgetxattr sys_exit_fgetxattr as possibly not file I/O related -// Ignoring sys_enter_gettid sys_exit_gettid as possibly not file I/O related -// Ignoring sys_enter_timerfd_create sys_exit_timerfd_create as possibly not file I/O related -// Ignoring sys_enter_alarm sys_exit_alarm as possibly not file I/O related -// Ignoring sys_enter_splice sys_exit_splice as possibly not file I/O related -// Ignoring sys_enter_sched_setscheduler sys_exit_sched_setscheduler as possibly not file I/O related +// Ignoring sys_enter_select sys_exit_select as possibly not file I/O related +// Ignoring sys_enter_io_cancel sys_exit_io_cancel as possibly not file I/O related +// Ignoring sys_enter_name_to_handle_at sys_exit_name_to_handle_at as possibly not file I/O related +// Ignoring sys_enter_getsockname sys_exit_getsockname as possibly not file I/O related +// Ignoring sys_enter_getpgrp sys_exit_getpgrp as possibly not file I/O related // Ignoring sys_enter_getgid sys_exit_getgid as possibly not file I/O related -// Ignoring sys_enter_fsmount sys_exit_fsmount as possibly not file I/O related -// Ignoring sys_enter_munlockall sys_exit_munlockall as possibly not file I/O related -// Ignoring sys_enter_pivot_root sys_exit_pivot_root as possibly not file I/O related -// Ignoring sys_enter_inotify_rm_watch sys_exit_inotify_rm_watch as possibly not file I/O related -// Ignoring sys_enter_setgid sys_exit_setgid as possibly not file I/O related -// Ignoring sys_enter_getrlimit sys_exit_getrlimit as possibly not file I/O related -// Ignoring sys_enter_accept sys_exit_accept as possibly not file I/O related -// Ignoring sys_enter_exit_group sys_exit_exit_group as possibly not file I/O related // Ignoring sys_enter_sched_yield sys_exit_sched_yield as possibly not file I/O related -// Ignoring sys_enter_shmdt sys_exit_shmdt as possibly not file I/O related -// Ignoring sys_enter_pkey_alloc sys_exit_pkey_alloc as possibly not file I/O related -// Ignoring sys_enter_setdomainname sys_exit_setdomainname as possibly not file I/O related -// Ignoring sys_enter_inotify_init sys_exit_inotify_init as possibly not file I/O related -// Ignoring sys_enter_clock_adjtime sys_exit_clock_adjtime as possibly not file I/O related -// Ignoring sys_enter_process_vm_readv sys_exit_process_vm_readv as possibly not file I/O related -// Ignoring sys_enter_sched_get_priority_min sys_exit_sched_get_priority_min as possibly not file I/O related -// Ignoring sys_enter_inotify_init1 sys_exit_inotify_init1 as possibly not file I/O related -// Ignoring sys_enter_seccomp sys_exit_seccomp as possibly not file I/O related +// Ignoring sys_enter_statmount sys_exit_statmount as possibly not file I/O related +// Ignoring sys_enter_times sys_exit_times as possibly not file I/O related +// Ignoring sys_enter_sched_setscheduler sys_exit_sched_setscheduler as possibly not file I/O related // Ignoring sys_enter_set_tid_address sys_exit_set_tid_address as possibly not file I/O related -// Ignoring sys_enter_getpgrp sys_exit_getpgrp as possibly not file I/O related -// Ignoring sys_enter_pidfd_getfd sys_exit_pidfd_getfd as possibly not file I/O related -// Ignoring sys_enter_setns sys_exit_setns as possibly not file I/O related -// Ignoring sys_enter_pidfd_open sys_exit_pidfd_open as possibly not file I/O related -// Ignoring sys_enter_mount_setattr sys_exit_mount_setattr as possibly not file I/O related -// Ignoring sys_enter_mq_getsetattr sys_exit_mq_getsetattr as possibly not file I/O related -// Ignoring sys_enter_getpgid sys_exit_getpgid as possibly not file I/O related -// Ignoring sys_enter_fsopen sys_exit_fsopen as possibly not file I/O related -// Ignoring sys_enter_migrate_pages sys_exit_migrate_pages as possibly not file I/O related -// Ignoring sys_enter_signalfd4 sys_exit_signalfd4 as possibly not file I/O related +// Ignoring sys_enter_kill sys_exit_kill as possibly not file I/O related +// Ignoring sys_enter_clock_getres sys_exit_clock_getres as possibly not file I/O related +// Ignoring sys_enter_epoll_pwait2 sys_exit_epoll_pwait2 as possibly not file I/O related +// Ignoring sys_enter_timer_settime sys_exit_timer_settime as possibly not file I/O related +// Ignoring sys_enter_mseal sys_exit_mseal as possibly not file I/O related +// Ignoring sys_enter_exit_group sys_exit_exit_group as possibly not file I/O related +// Ignoring sys_enter_ppoll sys_exit_ppoll as possibly not file I/O related +// Ignoring sys_enter_waitid sys_exit_waitid as possibly not file I/O related +// Ignoring sys_enter_uretprobe sys_exit_uretprobe as possibly not file I/O related +// Ignoring sys_enter_futex_wait sys_exit_futex_wait as possibly not file I/O related +// Ignoring sys_enter_timer_create sys_exit_timer_create as possibly not file I/O related +// Ignoring sys_enter_listen sys_exit_listen as possibly not file I/O related +// Ignoring sys_enter_mq_timedsend sys_exit_mq_timedsend as possibly not file I/O related // Ignoring sys_enter_writev sys_exit_writev as possibly not file I/O related +// Ignoring sys_enter_delete_module sys_exit_delete_module as possibly not file I/O related +// Ignoring sys_enter_move_pages sys_exit_move_pages as possibly not file I/O related +// Ignoring sys_enter_futex_waitv sys_exit_futex_waitv as possibly not file I/O related +// Ignoring sys_enter_userfaultfd sys_exit_userfaultfd as possibly not file I/O related // Ignoring sys_enter_sendmmsg sys_exit_sendmmsg as possibly not file I/O related -// Ignoring sys_enter_timer_settime sys_exit_timer_settime as possibly not file I/O related -// Ignoring sys_enter_rt_sigtimedwait sys_exit_rt_sigtimedwait as possibly not file I/O related -// Ignoring sys_enter_setpgid sys_exit_setpgid as possibly not file I/O related -// Ignoring sys_enter_setrlimit sys_exit_setrlimit as possibly not file I/O related -// Ignoring sys_enter_lsm_set_self_attr sys_exit_lsm_set_self_attr as possibly not file I/O related -// Ignoring sys_enter_times sys_exit_times as possibly not file I/O related -// Ignoring sys_enter_process_mrelease sys_exit_process_mrelease as possibly not file I/O related -// Ignoring sys_enter_getsockname sys_exit_getsockname as possibly not file I/O related -// Ignoring sys_enter_connect sys_exit_connect as possibly not file I/O related +// Ignoring sys_enter_futex_wake sys_exit_futex_wake as possibly not file I/O related +// Ignoring sys_enter_sched_getaffinity sys_exit_sched_getaffinity as possibly not file I/O related +// Ignoring sys_enter_getrlimit sys_exit_getrlimit as possibly not file I/O related +// Ignoring sys_enter_vfork sys_exit_vfork as possibly not file I/O related +// Ignoring sys_enter_fgetxattr sys_exit_fgetxattr as possibly not file I/O related +// Ignoring sys_enter_sched_rr_get_interval sys_exit_sched_rr_get_interval as possibly not file I/O related +// Ignoring sys_enter_set_robust_list sys_exit_set_robust_list as possibly not file I/O related +// Ignoring sys_enter_inotify_init1 sys_exit_inotify_init1 as possibly not file I/O related +// Ignoring sys_enter_shmget sys_exit_shmget as possibly not file I/O related +// Ignoring sys_enter_fspick sys_exit_fspick as possibly not file I/O related +// Ignoring sys_enter_sync_file_range sys_exit_sync_file_range as possibly not file I/O related +// Ignoring sys_enter_personality sys_exit_personality as possibly not file I/O related +// Ignoring sys_enter_clock_settime sys_exit_clock_settime as possibly not file I/O related +// Ignoring sys_enter_pause sys_exit_pause as possibly not file I/O related +// Ignoring sys_enter_umask sys_exit_umask as possibly not file I/O related +// Ignoring sys_enter_utimes sys_exit_utimes as possibly not file I/O related // Ignoring sys_enter_geteuid sys_exit_geteuid as possibly not file I/O related -// Ignoring sys_enter_utime sys_exit_utime as possibly not file I/O related -// Ignoring sys_enter_copy_file_range sys_exit_copy_file_range as possibly not file I/O related -// Ignoring sys_enter_shutdown sys_exit_shutdown as possibly not file I/O related -// Ignoring sys_enter_membarrier sys_exit_membarrier as possibly not file I/O related -// Ignoring sys_enter_msgget sys_exit_msgget as possibly not file I/O related -// Ignoring sys_enter_kexec_load sys_exit_kexec_load as possibly not file I/O related -// Ignoring sys_enter_userfaultfd sys_exit_userfaultfd as possibly not file I/O related -// Ignoring sys_enter_mremap sys_exit_mremap as possibly not file I/O related -// Ignoring sys_enter_sched_setattr sys_exit_sched_setattr as possibly not file I/O related -// Ignoring sys_enter_recvmsg sys_exit_recvmsg as possibly not file I/O related +// Ignoring sys_enter_ptrace sys_exit_ptrace as possibly not file I/O related +// Ignoring sys_enter_setgid sys_exit_setgid as possibly not file I/O related +// Ignoring sys_enter_mlock sys_exit_mlock as possibly not file I/O related // Ignoring sys_enter_add_key sys_exit_add_key as possibly not file I/O related -// Ignoring sys_enter_epoll_create1 sys_exit_epoll_create1 as possibly not file I/O related -// Ignoring sys_enter_setpriority sys_exit_setpriority as possibly not file I/O related -// Ignoring sys_enter_ioprio_get sys_exit_ioprio_get as possibly not file I/O related -// Ignoring sys_enter_io_submit sys_exit_io_submit as possibly not file I/O related -// Ignoring sys_enter_kexec_file_load sys_exit_kexec_file_load as possibly not file I/O related -// Ignoring sys_enter_waitid sys_exit_waitid as possibly not file I/O related -// Ignoring sys_enter_msgctl sys_exit_msgctl as possibly not file I/O related -// Ignoring sys_enter_rt_sigreturn sys_exit_rt_sigreturn as possibly not file I/O related -// Ignoring sys_enter_rseq sys_exit_rseq as possibly not file I/O related -// Ignoring sys_enter_umount sys_exit_umount as possibly not file I/O related -// Ignoring sys_enter_setreuid sys_exit_setreuid as possibly not file I/O related -// Ignoring sys_enter_clock_settime sys_exit_clock_settime as possibly not file I/O related -// Ignoring sys_enter_memfd_create sys_exit_memfd_create as possibly not file I/O related -// Ignoring sys_enter_sched_rr_get_interval sys_exit_sched_rr_get_interval as possibly not file I/O related -// Ignoring sys_enter_preadv2 sys_exit_preadv2 as possibly not file I/O related -// Ignoring sys_enter_timer_delete sys_exit_timer_delete as possibly not file I/O related -// Ignoring sys_enter_fallocate sys_exit_fallocate as possibly not file I/O related -// Ignoring sys_enter_readahead sys_exit_readahead as possibly not file I/O related -// Ignoring sys_enter_getuid sys_exit_getuid as possibly not file I/O related -// Ignoring sys_enter_listmount sys_exit_listmount as possibly not file I/O related // Ignoring sys_enter_munmap sys_exit_munmap as possibly not file I/O related -// Ignoring sys_enter_sendmsg sys_exit_sendmsg as possibly not file I/O related -// Ignoring sys_enter_sched_getattr sys_exit_sched_getattr as possibly not file I/O related -// Ignoring sys_enter_quotactl sys_exit_quotactl as possibly not file I/O related -// Ignoring sys_enter_clock_nanosleep sys_exit_clock_nanosleep as possibly not file I/O related -// Ignoring sys_enter_sigaltstack sys_exit_sigaltstack as possibly not file I/O related -// Ignoring sys_enter_open_by_handle_at sys_exit_open_by_handle_at as possibly not file I/O related -// Ignoring sys_enter_msgsnd sys_exit_msgsnd as possibly not file I/O related -// Ignoring sys_enter_rt_sigsuspend sys_exit_rt_sigsuspend as possibly not file I/O related -// Ignoring sys_enter_delete_module sys_exit_delete_module as possibly not file I/O related // Ignoring sys_enter_pidfd_send_signal sys_exit_pidfd_send_signal as possibly not file I/O related -// Ignoring sys_enter_io_pgetevents sys_exit_io_pgetevents as possibly not file I/O related -// Ignoring sys_enter_exit sys_exit_exit as possibly not file I/O related -// Ignoring sys_enter_modify_ldt sys_exit_modify_ldt as possibly not file I/O related -// Ignoring sys_enter_msync sys_exit_msync as possibly not file I/O related -// Ignoring sys_enter_select sys_exit_select as possibly not file I/O related -// Ignoring sys_enter_statmount sys_exit_statmount as possibly not file I/O related -// Ignoring sys_enter_rt_tgsigqueueinfo sys_exit_rt_tgsigqueueinfo as possibly not file I/O related -// Ignoring sys_enter_set_mempolicy sys_exit_set_mempolicy as possibly not file I/O related -// Ignoring sys_enter_remap_file_pages sys_exit_remap_file_pages as possibly not file I/O related -// Ignoring sys_enter_eventfd2 sys_exit_eventfd2 as possibly not file I/O related -// Ignoring sys_enter_capget sys_exit_capget as possibly not file I/O related -// Ignoring sys_enter_vfork sys_exit_vfork as possibly not file I/O related +// Ignoring sys_enter_readahead sys_exit_readahead as possibly not file I/O related +// Ignoring sys_enter_sched_getparam sys_exit_sched_getparam as possibly not file I/O related +// Ignoring sys_enter_tkill sys_exit_tkill as possibly not file I/O related +// Ignoring sys_enter_inotify_rm_watch sys_exit_inotify_rm_watch as possibly not file I/O related +// Ignoring sys_enter_getgroups sys_exit_getgroups as possibly not file I/O related +// Ignoring sys_enter_process_vm_writev sys_exit_process_vm_writev as possibly not file I/O related +// Ignoring sys_enter_msgget sys_exit_msgget as possibly not file I/O related +// Ignoring sys_enter_mlock2 sys_exit_mlock2 as possibly not file I/O related +// Ignoring sys_enter_adjtimex sys_exit_adjtimex as possibly not file I/O related +// Ignoring sys_enter_fadvise64 sys_exit_fadvise64 as possibly not file I/O related +// Ignoring sys_enter_pwritev2 sys_exit_pwritev2 as possibly not file I/O related +// Ignoring sys_enter_futex sys_exit_futex as possibly not file I/O related +// Ignoring sys_enter_mount_setattr sys_exit_mount_setattr as possibly not file I/O related +// Ignoring sys_enter_mbind sys_exit_mbind as possibly not file I/O related +// Ignoring sys_enter_syncfs sys_exit_syncfs as possibly not file I/O related +// Ignoring sys_enter_setregid sys_exit_setregid as possibly not file I/O related +// Ignoring sys_enter_migrate_pages sys_exit_migrate_pages as possibly not file I/O related +// Ignoring sys_enter_vhangup sys_exit_vhangup as possibly not file I/O related +// Ignoring sys_enter_swapoff sys_exit_swapoff as possibly not file I/O related +// Ignoring sys_enter_sendto sys_exit_sendto as possibly not file I/O related +// Ignoring sys_enter_sched_setaffinity sys_exit_sched_setaffinity as possibly not file I/O related +// Ignoring sys_enter_ioprio_set sys_exit_ioprio_set as possibly not file I/O related +// Ignoring sys_enter_restart_syscall sys_exit_restart_syscall as possibly not file I/O related +// Ignoring sys_enter_mq_getsetattr sys_exit_mq_getsetattr as possibly not file I/O related +// Ignoring sys_enter_getsid sys_exit_getsid as possibly not file I/O related +// Ignoring sys_enter_fallocate sys_exit_fallocate as possibly not file I/O related +// Ignoring sys_enter_prlimit64 sys_exit_prlimit64 as possibly not file I/O related +// Ignoring sys_enter_signalfd4 sys_exit_signalfd4 as possibly not file I/O related +// Ignoring sys_enter_rt_sigaction sys_exit_rt_sigaction as possibly not file I/O related +// Ignoring sys_enter_sched_get_priority_max sys_exit_sched_get_priority_max as possibly not file I/O related // Ignoring sys_enter_setgroups sys_exit_setgroups as possibly not file I/O related -// Ignoring sys_enter_preadv sys_exit_preadv as possibly not file I/O related -// Ignoring sys_enter_pipe2 sys_exit_pipe2 as possibly not file I/O related -// Ignoring sys_enter_reboot sys_exit_reboot as possibly not file I/O related -// Ignoring sys_enter_fspick sys_exit_fspick as possibly not file I/O related -// Ignoring sys_enter_getpid sys_exit_getpid as possibly not file I/O related -// Ignoring sys_enter_timerfd_settime sys_exit_timerfd_settime as possibly not file I/O related -// Ignoring sys_enter_semget sys_exit_semget as possibly not file I/O related -// Ignoring sys_enter_keyctl sys_exit_keyctl as possibly not file I/O related +// Ignoring sys_enter_settimeofday sys_exit_settimeofday as possibly not file I/O related +// Ignoring sys_enter_landlock_restrict_self sys_exit_landlock_restrict_self as possibly not file I/O related +// Ignoring sys_enter_rseq sys_exit_rseq as possibly not file I/O related +// Ignoring sys_enter_truncate sys_exit_truncate as possibly not file I/O related +// Ignoring sys_enter_eventfd sys_exit_eventfd as possibly not file I/O related +// Ignoring sys_enter_ioprio_get sys_exit_ioprio_get as possibly not file I/O related +// Ignoring sys_enter_getitimer sys_exit_getitimer as possibly not file I/O related +// Ignoring sys_enter_io_pgetevents sys_exit_io_pgetevents as possibly not file I/O related +// Ignoring sys_enter_setfsuid sys_exit_setfsuid as possibly not file I/O related // Ignoring sys_enter_fork sys_exit_fork as possibly not file I/O related -// Ignoring sys_enter_pkey_free sys_exit_pkey_free as possibly not file I/O related -// Ignoring sys_enter_munlock sys_exit_munlock as possibly not file I/O related -// Ignoring sys_enter_mbind sys_exit_mbind as possibly not file I/O related -// Ignoring sys_enter_gettimeofday sys_exit_gettimeofday as possibly not file I/O related -// Ignoring sys_enter_epoll_ctl sys_exit_epoll_ctl as possibly not file I/O related -// Ignoring sys_enter_flistxattr sys_exit_flistxattr as possibly not file I/O related -// Ignoring sys_enter_recvmmsg sys_exit_recvmmsg as possibly not file I/O related -// Ignoring sys_enter_pwritev2 sys_exit_pwritev2 as possibly not file I/O related -// Ignoring sys_enter_set_mempolicy_home_node sys_exit_set_mempolicy_home_node as possibly not file I/O related +// Ignoring sys_enter_setdomainname sys_exit_setdomainname as possibly not file I/O related +// Ignoring sys_enter_getrandom sys_exit_getrandom as possibly not file I/O related +// Ignoring sys_enter_move_mount sys_exit_move_mount as possibly not file I/O related +// Ignoring sys_enter_sched_getscheduler sys_exit_sched_getscheduler as possibly not file I/O related +// Ignoring sys_enter_get_mempolicy sys_exit_get_mempolicy as possibly not file I/O related +// Ignoring sys_enter_msgctl sys_exit_msgctl as possibly not file I/O related +// Ignoring sys_enter_ioperm sys_exit_ioperm as possibly not file I/O related +// Ignoring sys_enter_pidfd_open sys_exit_pidfd_open as possibly not file I/O related +// Ignoring sys_enter_semop sys_exit_semop as possibly not file I/O related +// Ignoring sys_enter_init_module sys_exit_init_module as possibly not file I/O related +// Ignoring sys_enter_brk sys_exit_brk as possibly not file I/O related +// Ignoring sys_enter_setsockopt sys_exit_setsockopt as possibly not file I/O related +// Ignoring sys_enter_sysfs sys_exit_sysfs as possibly not file I/O related +// Ignoring sys_enter_lsm_set_self_attr sys_exit_lsm_set_self_attr as possibly not file I/O related +// Ignoring sys_enter_getcwd sys_exit_getcwd as possibly not file I/O related +// Ignoring sys_enter_getpriority sys_exit_getpriority as possibly not file I/O related #define SYS_ENTER_IO_URING_REGISTER 1485 #define SYS_EXIT_IO_URING_REGISTER 1484 diff --git a/internal/c/ioriotng.bpf.c b/internal/c/ioriotng.bpf.c deleted file mode 100644 index 7c41551..0000000 --- a/internal/c/ioriotng.bpf.c +++ /dev/null @@ -1,20 +0,0 @@ -//+build ignore - -#include "vmlinux.h" -#include -#include "types.h" -#include "maps.h" -#include "flags.h" - -/** - * Including .c files, as linking several .o files into one single .o file doesn't work - * with shared BPF state such as ring buffers, maps and globals so well. Other BPF projects - * come along with one huuuuughe .c file with all the BPF code in it. I am rather - * splitting the code up into several smaller files. - */ -#include "filter.c" - -// Auto-generated tracepoints. -#include "generated/tracepoints.c" - -char LICENSE[] SEC("license") = "Dual BSD/GPL"; diff --git a/internal/event.go b/internal/event.go index f5d0fa3..e638223 100644 --- a/internal/event.go +++ b/internal/event.go @@ -2,7 +2,7 @@ package internal import ( "fmt" - . "ioriotng/internal/generated/types" + . "ior/internal/generated/types" "strconv" "strings" "sync" diff --git a/internal/eventfilter.go b/internal/eventfilter.go index c3e2df5..1edda5a 100644 --- a/internal/eventfilter.go +++ b/internal/eventfilter.go @@ -2,8 +2,8 @@ package internal import ( "bytes" - "ioriotng/internal/flags" - "ioriotng/internal/generated/types" + "ior/internal/flags" + "ior/internal/generated/types" ) type eventFilter struct { diff --git a/internal/eventloop.go b/internal/eventloop.go index 90594b5..4961f80 100644 --- a/internal/eventloop.go +++ b/internal/eventloop.go @@ -6,11 +6,12 @@ import ( "fmt" "os" - "ioriotng/internal/flags" - . "ioriotng/internal/generated/types" + "ior/internal/flags" + . "ior/internal/generated/types" ) type eventLoop struct { + flags flags.Flags filter *eventFilter enterEvs map[uint32]*eventPair // Temp. store of sys_enter tracepoints per Tid. files map[int32]file // Track all open files by file descriptor. @@ -20,6 +21,7 @@ type eventLoop struct { func newEventLoop(flags flags.Flags) *eventLoop { return &eventLoop{ + flags: flags, filter: newEventFilter(flags), enterEvs: make(map[uint32]*eventPair), files: make(map[int32]file), @@ -29,9 +31,14 @@ func newEventLoop(flags flags.Flags) *eventLoop { } func (e *eventLoop) run(rawCh <-chan []byte) { - fmt.Println(eventStreamHeader) + if e.flags.PprofEnable { + fmt.Println("Profiling, press Ctrl+C to stop") + fmt.Println(eventStreamHeader) + } for ev := range e.events(rawCh) { - fmt.Println(ev.String()) + if !e.flags.PprofEnable { + fmt.Println(ev.String()) + } if ev.prevPair != nil { // Only recycle the previous event, as the current event is the previous event of the next event! ev.prevPair.recycle() @@ -121,7 +128,6 @@ func (e *eventLoop) syscallExit(exitEv event, ch chan<- *eventPair) { } ev.file = file - // TODO: Filter out all other events not matching comm filter as well when comm filter enabled e.comms[openEv.Tid] = string(openEv.Comm[:]) case *NameEvent: diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 2c655fa..c22bb75 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -12,6 +12,7 @@ type Flags struct { TidFilter int EventMapSize int CommFilter string + PprofEnable bool } func New() (flags Flags) { @@ -19,6 +20,7 @@ func New() (flags Flags) { flag.IntVar(&flags.TidFilter, "tid", -1, "Filter for thread ID") flag.IntVar(&flags.EventMapSize, "mapSize", 4096*16, "BPF FD event ring buffer map size") flag.StringVar(&flags.CommFilter, "comm", "", "Command to filter for") + flag.BoolVar(&flags.PprofEnable, "pprof", false, "Enable profiling") flag.Parse() return flags diff --git a/internal/ioriotng.go b/internal/ioriotng.go deleted file mode 100644 index e3332b2..0000000 --- a/internal/ioriotng.go +++ /dev/null @@ -1,66 +0,0 @@ -package internal - -import "C" - -import ( - "fmt" - - "ioriotng/internal/flags" - "ioriotng/internal/generated/tracepoints" - - bpf "github.com/aquasecurity/libbpfgo" -) - -func attachTracepoints(bpfModule *bpf.Module) error { - for _, name := range tracepoints.List { - prog, err := bpfModule.GetProgram(fmt.Sprintf("handle_%s", name)) - if err != nil { - return fmt.Errorf("Failed to get BPF program handle_%s: %v", name, err) - } - fmt.Println("Attached prog handle_" + name) - - if _, err = prog.AttachTracepoint("syscalls", name); err != nil { - // OK, older Kernel versions may not have this tracepoint! - fmt.Println(fmt.Errorf("Failed to attach to %s tracepoint: %v", name, err)) - continue - } - fmt.Println("Attached tracepoint " + name) - } - - return nil -} - -func Run(flags flags.Flags) { - bpfModule, err := bpf.NewModuleFromFile("ioriotng.bpf.o") - if err != nil { - panic(err) - } - defer bpfModule.Close() - - if err := flags.ResizeBPFMaps(bpfModule); err != nil { - panic(err) - } - - if err := flags.SetBPF(bpfModule); err != nil { - panic(err) - } - - if err := bpfModule.BPFLoadObject(); err != nil { - panic(err) - } - - if err := attachTracepoints(bpfModule); err != nil { - panic(err) - } - - // 4096 channel size, minimises event drops - ch := make(chan []byte, 4096) - rb, err := bpfModule.InitRingBuf("event_map", ch) - if err != nil { - panic(err) - } - rb.Poll(300) - newEventLoop(flags).run(ch) - - fmt.Println("Good bye") -} -- cgit v1.2.3