From 7cae9d4881019c4676d7cbe2e5f638c2c28ba763 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 16 Mar 2025 22:06:58 +0200 Subject: refactor directories --- internal/c/generated_tracepoints.c | 518 +++++++++++----------- internal/event/event.go | 2 +- internal/eventfilter.go | 2 +- internal/eventloop.go | 2 +- internal/flamegraph/flamegraph.go | 2 +- internal/generated/Makefile | 17 - internal/generated/generated.go | 2 - internal/generated/nqc.raku | 197 -------- internal/generated/tracepoints.raku | 16 - internal/generated/tracepoints/tracepoints.go | 153 ------- internal/generated/types/types.go | 502 --------------------- internal/ior.go | 2 +- internal/tracepoints/Makefile | 8 + internal/tracepoints/generate_tracepoints_go.raku | 16 + internal/tracepoints/generated_tracepoints.go | 153 +++++++ internal/types/Makefile | 8 + internal/types/generate_types_go.raku | 197 ++++++++ internal/types/generated_types.go | 502 +++++++++++++++++++++ 18 files changed, 1148 insertions(+), 1151 deletions(-) delete mode 100644 internal/generated/Makefile delete mode 100644 internal/generated/generated.go delete mode 100644 internal/generated/nqc.raku delete mode 100644 internal/generated/tracepoints.raku delete mode 100644 internal/generated/tracepoints/tracepoints.go delete mode 100644 internal/generated/types/types.go create mode 100644 internal/tracepoints/Makefile create mode 100644 internal/tracepoints/generate_tracepoints_go.raku create mode 100644 internal/tracepoints/generated_tracepoints.go create mode 100644 internal/types/Makefile create mode 100644 internal/types/generate_types_go.raku create mode 100644 internal/types/generated_types.go (limited to 'internal') diff --git a/internal/c/generated_tracepoints.c b/internal/c/generated_tracepoints.c index c626170..4854c09 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_getsockname sys_exit_getsockname as possibly not file I/O related -// Ignoring sys_enter_time sys_exit_time as possibly not file I/O related -// Ignoring sys_enter_pwritev2 sys_exit_pwritev2 as possibly not file I/O related -// Ignoring sys_enter_setreuid sys_exit_setreuid as possibly not file I/O related -// Ignoring sys_enter_shutdown sys_exit_shutdown as possibly not file I/O related -// Ignoring sys_enter_kcmp sys_exit_kcmp 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_epoll_pwait sys_exit_epoll_pwait as possibly not file I/O related -// Ignoring sys_enter_fadvise64 sys_exit_fadvise64 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_setresuid sys_exit_setresuid as possibly not file I/O related -// Ignoring sys_enter_mremap sys_exit_mremap 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_fsopen sys_exit_fsopen as possibly not file I/O related -// Ignoring sys_enter_uretprobe sys_exit_uretprobe as possibly not file I/O related -// Ignoring sys_enter_kill sys_exit_kill as possibly not file I/O related -// Ignoring sys_enter_dup3 sys_exit_dup3 as possibly not file I/O related -// Ignoring sys_enter_recvmmsg sys_exit_recvmmsg 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_semop sys_exit_semop as possibly not file I/O related -// Ignoring sys_enter_setuid sys_exit_setuid as possibly not file I/O related -// Ignoring sys_enter_splice sys_exit_splice 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_get_robust_list sys_exit_get_robust_list as possibly not file I/O related -// Ignoring sys_enter_setsid sys_exit_setsid 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_tkill sys_exit_tkill as possibly not file I/O related -// Ignoring sys_enter_setpgid sys_exit_setpgid as possibly not file I/O related -// Ignoring sys_enter_swapoff sys_exit_swapoff 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_request_key sys_exit_request_key as possibly not file I/O related +// Ignoring sys_enter_recvfrom sys_exit_recvfrom as possibly not file I/O related +// Ignoring sys_enter_membarrier sys_exit_membarrier as possibly not file I/O related +// Ignoring sys_enter_capget sys_exit_capget as possibly not file I/O related +// Ignoring sys_enter_nanosleep sys_exit_nanosleep as possibly not file I/O related +// Ignoring sys_enter_statmount sys_exit_statmount as possibly not file I/O related +// Ignoring sys_enter_bind sys_exit_bind as possibly not file I/O related +// Ignoring sys_enter_shmctl sys_exit_shmctl as possibly not file I/O related +// Ignoring sys_enter_mount sys_exit_mount as possibly not file I/O related +// Ignoring sys_enter_pause sys_exit_pause as possibly not file I/O related +// Ignoring sys_enter_semctl sys_exit_semctl 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_socketpair sys_exit_socketpair as possibly not file I/O related -// Ignoring sys_enter_fspick sys_exit_fspick as possibly not file I/O related -// Ignoring sys_enter_clone sys_exit_clone as possibly not file I/O related -// Ignoring sys_enter_vhangup sys_exit_vhangup as possibly not file I/O related -// Ignoring sys_enter_listmount sys_exit_listmount 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_fgetxattr sys_exit_fgetxattr as possibly not file I/O related -// Ignoring sys_enter_setsockopt sys_exit_setsockopt 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_fsetxattr sys_exit_fsetxattr as possibly not file I/O related -// Ignoring sys_enter_setitimer sys_exit_setitimer 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_preadv2 sys_exit_preadv2 as possibly not file I/O related -// Ignoring sys_enter_mlock sys_exit_mlock 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_inotify_rm_watch sys_exit_inotify_rm_watch as possibly not file I/O related -// Ignoring sys_enter_shmdt sys_exit_shmdt as possibly not file I/O related -// Ignoring sys_enter_msgget sys_exit_msgget 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_setfsgid sys_exit_setfsgid as possibly not file I/O related -// Ignoring sys_enter_pipe sys_exit_pipe as possibly not file I/O related -// Ignoring sys_enter_userfaultfd sys_exit_userfaultfd as possibly not file I/O related -// Ignoring sys_enter_dup sys_exit_dup 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_swapon sys_exit_swapon as possibly not file I/O related -// Ignoring sys_enter_newuname sys_exit_newuname as possibly not file I/O related -// Ignoring sys_enter_eventfd2 sys_exit_eventfd2 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_geteuid sys_exit_geteuid 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_vm_writev sys_exit_process_vm_writev as possibly not file I/O related -// Ignoring sys_enter_gettid sys_exit_gettid 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_rt_sigreturn sys_exit_rt_sigreturn as possibly not file I/O related -// Ignoring sys_enter_keyctl sys_exit_keyctl as possibly not file I/O related -// Ignoring sys_enter_getgroups sys_exit_getgroups as possibly not file I/O related -// Ignoring sys_enter_getsid sys_exit_getsid 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_accept sys_exit_accept as possibly not file I/O related -// Ignoring sys_enter_mbind sys_exit_mbind 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_connect sys_exit_connect 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_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_getresgid sys_exit_getresgid as possibly not file I/O related +// Ignoring sys_enter_poll sys_exit_poll 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_sendmsg sys_exit_sendmsg 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_getaffinity sys_exit_sched_getaffinity as possibly not file I/O related +// Ignoring sys_enter_readahead sys_exit_readahead 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_getegid sys_exit_getegid as possibly not file I/O related -// Ignoring sys_enter_getrusage sys_exit_getrusage as possibly not file I/O related +// Ignoring sys_enter_truncate sys_exit_truncate as possibly not file I/O related +// Ignoring sys_enter_ustat sys_exit_ustat as possibly not file I/O related +// Ignoring sys_enter_accept sys_exit_accept 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_select sys_exit_select 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_bpf sys_exit_bpf 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_io_getevents sys_exit_io_getevents 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_sched_get_priority_min sys_exit_sched_get_priority_min 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_io_submit sys_exit_io_submit as possibly not file I/O related -// Ignoring sys_enter_semctl sys_exit_semctl 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_signalfd4 sys_exit_signalfd4 as possibly not file I/O related -// Ignoring sys_enter_setns sys_exit_setns as possibly not file I/O related -// Ignoring sys_enter_mincore sys_exit_mincore 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_setrlimit sys_exit_setrlimit as possibly not file I/O related // Ignoring sys_enter_ptrace sys_exit_ptrace 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_pselect6 sys_exit_pselect6 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_kexec_load sys_exit_kexec_load 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_timer_delete sys_exit_timer_delete as possibly not file I/O related +// Ignoring sys_enter_setresuid sys_exit_setresuid as possibly not file I/O related +// Ignoring sys_enter_vhangup sys_exit_vhangup as possibly not file I/O related +// Ignoring sys_enter_clone3 sys_exit_clone3 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_prlimit64 sys_exit_prlimit64 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_remap_file_pages sys_exit_remap_file_pages as possibly not file I/O related -// Ignoring sys_enter_pwritev sys_exit_pwritev 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_utimes sys_exit_utimes as possibly not file I/O related -// Ignoring sys_enter_capset sys_exit_capset as possibly not file I/O related -// Ignoring sys_enter_msgsnd sys_exit_msgsnd 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_adjtimex sys_exit_adjtimex 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_mmap sys_exit_mmap as possibly not file I/O related -// Ignoring sys_enter_setgid sys_exit_setgid as possibly not file I/O related -// Ignoring sys_enter_syncfs sys_exit_syncfs as possibly not file I/O related +// Ignoring sys_enter_setns sys_exit_setns as possibly not file I/O related +// Ignoring sys_enter_getpid sys_exit_getpid as possibly not file I/O related +// Ignoring sys_enter_getpriority sys_exit_getpriority as possibly not file I/O related +// Ignoring sys_enter_socket sys_exit_socket as possibly not file I/O related +// Ignoring sys_enter_vmsplice sys_exit_vmsplice as possibly not file I/O related // Ignoring sys_enter_setfsuid sys_exit_setfsuid as possibly not file I/O related -// Ignoring sys_enter_truncate sys_exit_truncate 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_fsconfig sys_exit_fsconfig as possibly not file I/O related -// Ignoring sys_enter_fork sys_exit_fork 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_readlink sys_exit_readlink as possibly not file I/O related -// Ignoring sys_enter_nanosleep sys_exit_nanosleep 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_pkey_free sys_exit_pkey_free 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_shmdt sys_exit_shmdt as possibly not file I/O related +// Ignoring sys_enter_umask sys_exit_umask as possibly not file I/O related +// Ignoring sys_enter_mlock sys_exit_mlock 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_rseq sys_exit_rseq 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_rt_tgsigqueueinfo sys_exit_rt_tgsigqueueinfo 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_io_destroy sys_exit_io_destroy as possibly not file I/O related -// Ignoring sys_enter_getpgid sys_exit_getpgid 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_futex_requeue sys_exit_futex_requeue 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_msgrcv sys_exit_msgrcv as possibly not file I/O related +// Ignoring sys_enter_quotactl sys_exit_quotactl 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_sched_setscheduler sys_exit_sched_setscheduler as possibly not file I/O related +// Ignoring sys_enter_fsopen sys_exit_fsopen as possibly not file I/O related +// Ignoring sys_enter_semget sys_exit_semget as possibly not file I/O related +// Ignoring sys_enter_gettid sys_exit_gettid as possibly not file I/O related // Ignoring sys_enter_msgctl sys_exit_msgctl 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_sendmmsg sys_exit_sendmmsg 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_rt_sigtimedwait sys_exit_rt_sigtimedwait 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_setregid sys_exit_setregid as possibly not file I/O related -// Ignoring sys_enter_sethostname sys_exit_sethostname 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_init_module sys_exit_init_module 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_getcwd sys_exit_getcwd as possibly not file I/O related -// Ignoring sys_enter_shmat sys_exit_shmat as possibly not file I/O related -// Ignoring sys_enter_gettimeofday sys_exit_gettimeofday 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_getcpu sys_exit_getcpu 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_epoll_wait sys_exit_epoll_wait as possibly not file I/O related -// Ignoring sys_enter_acct sys_exit_acct 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_mprotect sys_exit_mprotect as possibly not file I/O related -// Ignoring sys_enter_sendmmsg sys_exit_sendmmsg 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_wait4 sys_exit_wait4 as possibly not file I/O related -// Ignoring sys_enter_getgid sys_exit_getgid 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_bind sys_exit_bind as possibly not file I/O related -// Ignoring sys_enter_semtimedop sys_exit_semtimedop as possibly not file I/O related -// Ignoring sys_enter_signalfd sys_exit_signalfd 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_pipe2 sys_exit_pipe2 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_getsetattr sys_exit_mq_getsetattr as possibly not file I/O related -// Ignoring sys_enter_sync sys_exit_sync 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_vmsplice sys_exit_vmsplice as possibly not file I/O related -// Ignoring sys_enter_sendmsg sys_exit_sendmsg as possibly not file I/O related -// Ignoring sys_enter_ustat sys_exit_ustat as possibly not file I/O related -// Ignoring sys_enter_capget sys_exit_capget 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_sched_setscheduler sys_exit_sched_setscheduler 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_sched_getparam sys_exit_sched_getparam 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_sched_setaffinity sys_exit_sched_setaffinity as possibly not file I/O related -// Ignoring sys_enter_munlock sys_exit_munlock 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_syslog sys_exit_syslog as possibly not file I/O related -// Ignoring sys_enter_getpeername sys_exit_getpeername 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_mlockall sys_exit_mlockall 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_mount sys_exit_mount as possibly not file I/O related -// Ignoring sys_enter_pause sys_exit_pause 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_lsm_get_self_attr sys_exit_lsm_get_self_attr as possibly not file I/O related -// Ignoring sys_enter_fremovexattr sys_exit_fremovexattr as possibly not file I/O related -// Ignoring sys_enter_waitid sys_exit_waitid as possibly not file I/O related -// Ignoring sys_enter_getitimer sys_exit_getitimer as possibly not file I/O related -// Ignoring sys_enter_select sys_exit_select 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_setpriority sys_exit_setpriority 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_timer_getoverrun sys_exit_timer_getoverrun 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_munmap sys_exit_munmap as possibly not file I/O related -// Ignoring sys_enter_preadv sys_exit_preadv 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_set_robust_list sys_exit_set_robust_list as possibly not file I/O related -// Ignoring sys_enter_recvmsg sys_exit_recvmsg as possibly not file I/O related -// Ignoring sys_enter_readv sys_exit_readv as possibly not file I/O related -// Ignoring sys_enter_getppid sys_exit_getppid 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_semget sys_exit_semget as possibly not file I/O related -// Ignoring sys_enter_accept4 sys_exit_accept4 as possibly not file I/O related -// Ignoring sys_enter_recvfrom sys_exit_recvfrom as possibly not file I/O related -// Ignoring sys_enter_msgrcv sys_exit_msgrcv 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_delete_module sys_exit_delete_module 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_kexec_load sys_exit_kexec_load as possibly not file I/O related +// Ignoring sys_enter_signalfd4 sys_exit_signalfd4 as possibly not file I/O related +// Ignoring sys_enter_setpgid sys_exit_setpgid as possibly not file I/O related +// Ignoring sys_enter_ppoll sys_exit_ppoll 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_prctl sys_exit_prctl as possibly not file I/O related +// Ignoring sys_enter_vfork sys_exit_vfork 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_timer_gettime sys_exit_timer_gettime 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_name_to_handle_at sys_exit_name_to_handle_at as possibly not file I/O related +// Ignoring sys_enter_splice sys_exit_splice 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_kcmp sys_exit_kcmp 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_set_robust_list sys_exit_set_robust_list 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_recvmsg sys_exit_recvmsg as possibly not file I/O related +// Ignoring sys_enter_sysinfo sys_exit_sysinfo as possibly not file I/O related // Ignoring sys_enter_umount sys_exit_umount as possibly not file I/O related // Ignoring sys_enter_iopl sys_exit_iopl as possibly not file I/O related -// Ignoring sys_enter_shmctl sys_exit_shmctl as possibly not file I/O related -// Ignoring sys_enter_settimeofday sys_exit_settimeofday 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_setresgid sys_exit_setresgid as possibly not file I/O related -// Ignoring sys_enter_membarrier sys_exit_membarrier 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_mq_notify sys_exit_mq_notify 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_sendfile64 sys_exit_sendfile64 as possibly not file I/O related -// Ignoring sys_enter_writev sys_exit_writev as possibly not file I/O related -// Ignoring sys_enter_rseq sys_exit_rseq as possibly not file I/O related -// Ignoring sys_enter_futex sys_exit_futex as possibly not file I/O related -// Ignoring sys_enter_getrandom sys_exit_getrandom 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_pidfd_open sys_exit_pidfd_open as possibly not file I/O related -// Ignoring sys_enter_getuid sys_exit_getuid as possibly not file I/O related -// Ignoring sys_enter_getpgrp sys_exit_getpgrp as possibly not file I/O related -// Ignoring sys_enter_alarm sys_exit_alarm 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_mseal sys_exit_mseal 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_poll sys_exit_poll as possibly not file I/O related -// Ignoring sys_enter_readahead sys_exit_readahead as possibly not file I/O related -// Ignoring sys_enter_getsockopt sys_exit_getsockopt as possibly not file I/O related -// Ignoring sys_enter_getresuid sys_exit_getresuid 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_shmget sys_exit_shmget as possibly not file I/O related // Ignoring sys_enter_tee sys_exit_tee 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_remap_file_pages sys_exit_remap_file_pages 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_utimes sys_exit_utimes as possibly not file I/O related +// Ignoring sys_enter_listen sys_exit_listen as possibly not file I/O related +// Ignoring sys_enter_syncfs sys_exit_syncfs 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_times sys_exit_times 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_process_madvise sys_exit_process_madvise as possibly not file I/O related -// Ignoring sys_enter_utime sys_exit_utime as possibly not file I/O related -// Ignoring sys_enter_exit sys_exit_exit 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_set_mempolicy sys_exit_set_mempolicy 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_timer_delete sys_exit_timer_delete 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_personality sys_exit_personality as possibly not file I/O related // Ignoring sys_enter_sigaltstack sys_exit_sigaltstack as possibly not file I/O related -// Ignoring sys_enter_statmount sys_exit_statmount as possibly not file I/O related -// Ignoring sys_enter_fsmount sys_exit_fsmount as possibly not file I/O related +// Ignoring sys_enter_preadv2 sys_exit_preadv2 as possibly not file I/O related +// Ignoring sys_enter_fallocate sys_exit_fallocate as possibly not file I/O related +// Ignoring sys_enter_semtimedop sys_exit_semtimedop as possibly not file I/O related +// Ignoring sys_enter_getcwd sys_exit_getcwd as possibly not file I/O related +// Ignoring sys_enter_pipe sys_exit_pipe as possibly not file I/O related +// Ignoring sys_enter_settimeofday sys_exit_settimeofday as possibly not file I/O related +// Ignoring sys_enter_listmount sys_exit_listmount 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_clone sys_exit_clone as possibly not file I/O related +// Ignoring sys_enter_tkill sys_exit_tkill as possibly not file I/O related +// Ignoring sys_enter_getrandom sys_exit_getrandom as possibly not file I/O related +// Ignoring sys_enter_setreuid sys_exit_setreuid as possibly not file I/O related +// Ignoring sys_enter_futex sys_exit_futex 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_futex_waitv sys_exit_futex_waitv 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_mount_setattr sys_exit_mount_setattr 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_shmat sys_exit_shmat as possibly not file I/O related +// Ignoring sys_enter_ioperm sys_exit_ioperm as possibly not file I/O related +// Ignoring sys_enter_mprotect sys_exit_mprotect as possibly not file I/O related +// Ignoring sys_enter_uretprobe sys_exit_uretprobe 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_setgid sys_exit_setgid as possibly not file I/O related // Ignoring sys_enter_unshare sys_exit_unshare 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_flistxattr sys_exit_flistxattr as possibly not file I/O related -// Ignoring sys_enter_prctl sys_exit_prctl 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_swapon sys_exit_swapon as possibly not file I/O related +// Ignoring sys_enter_fspick sys_exit_fspick 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_readlink sys_exit_readlink as possibly not file I/O related +// Ignoring sys_enter_shmget sys_exit_shmget as possibly not file I/O related +// Ignoring sys_enter_setgroups sys_exit_setgroups as possibly not file I/O related +// Ignoring sys_enter_acct sys_exit_acct 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_get_robust_list sys_exit_get_robust_list as possibly not file I/O related +// Ignoring sys_enter_alarm sys_exit_alarm 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_exit sys_exit_exit 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_futex_wait sys_exit_futex_wait 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_pidfd_getfd sys_exit_pidfd_getfd 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_tgkill sys_exit_tgkill as possibly not file I/O related -// Ignoring sys_enter_mlock2 sys_exit_mlock2 as possibly not file I/O related -// Ignoring sys_enter_msync sys_exit_msync as possibly not file I/O related -// Ignoring sys_enter_dup2 sys_exit_dup2 as possibly not file I/O related -// Ignoring sys_enter_sysfs sys_exit_sysfs 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_clock_getres sys_exit_clock_getres as possibly not file I/O related -// Ignoring sys_enter_fallocate sys_exit_fallocate as possibly not file I/O related -// Ignoring sys_enter_getpid sys_exit_getpid as possibly not file I/O related +// Ignoring sys_enter_socketpair sys_exit_socketpair 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_dup sys_exit_dup as possibly not file I/O related +// Ignoring sys_enter_getuid sys_exit_getuid 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_connect sys_exit_connect as possibly not file I/O related // Ignoring sys_enter_getrlimit sys_exit_getrlimit as possibly not file I/O related -// Ignoring sys_enter_madvise sys_exit_madvise as possibly not file I/O related +// Ignoring sys_enter_setsockopt sys_exit_setsockopt as possibly not file I/O related +// Ignoring sys_enter_getitimer sys_exit_getitimer 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_pwritev2 sys_exit_pwritev2 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_clock_adjtime sys_exit_clock_adjtime 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_socket sys_exit_socket as possibly not file I/O related -// Ignoring sys_enter_umask sys_exit_umask 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_sysinfo sys_exit_sysinfo as possibly not file I/O related -// Ignoring sys_enter_quotactl sys_exit_quotactl as possibly not file I/O related -// Ignoring sys_enter_setgroups sys_exit_setgroups as possibly not file I/O related +// Ignoring sys_enter_fremovexattr sys_exit_fremovexattr 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_sched_setaffinity sys_exit_sched_setaffinity 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_reboot sys_exit_reboot as possibly not file I/O related -// Ignoring sys_enter_getpriority sys_exit_getpriority as possibly not file I/O related -// Ignoring sys_enter_clone3 sys_exit_clone3 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_seccomp sys_exit_seccomp 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_inotify_rm_watch sys_exit_inotify_rm_watch as possibly not file I/O related +// Ignoring sys_enter_madvise sys_exit_madvise as possibly not file I/O related +// Ignoring sys_enter_mlock2 sys_exit_mlock2 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_ioprio_get sys_exit_ioprio_get as possibly not file I/O related +// Ignoring sys_enter_keyctl sys_exit_keyctl as possibly not file I/O related +// Ignoring sys_enter_getrusage sys_exit_getrusage 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_modify_ldt sys_exit_modify_ldt as possibly not file I/O related +// Ignoring sys_enter_preadv sys_exit_preadv as possibly not file I/O related +// Ignoring sys_enter_setitimer sys_exit_setitimer as possibly not file I/O related +// Ignoring sys_enter_geteuid sys_exit_geteuid 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_timerfd_create sys_exit_timerfd_create as possibly not file I/O related +// Ignoring sys_enter_getgid sys_exit_getgid as possibly not file I/O related +// Ignoring sys_enter_getsockname sys_exit_getsockname as possibly not file I/O related +// Ignoring sys_enter_getppid sys_exit_getppid as possibly not file I/O related +// Ignoring sys_enter_msync sys_exit_msync 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_futex_wake sys_exit_futex_wake as possibly not file I/O related +// Ignoring sys_enter_pwritev sys_exit_pwritev as possibly not file I/O related +// Ignoring sys_enter_mremap sys_exit_mremap 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_accept4 sys_exit_accept4 as possibly not file I/O related +// Ignoring sys_enter_mbind sys_exit_mbind as possibly not file I/O related +// Ignoring sys_enter_semop sys_exit_semop as possibly not file I/O related +// Ignoring sys_enter_getpgid sys_exit_getpgid as possibly not file I/O related +// Ignoring sys_enter_writev sys_exit_writev 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_setsid sys_exit_setsid as possibly not file I/O related +// Ignoring sys_enter_fadvise64 sys_exit_fadvise64 as possibly not file I/O related +// Ignoring sys_enter_eventfd2 sys_exit_eventfd2 as possibly not file I/O related +// Ignoring sys_enter_setpriority sys_exit_setpriority as possibly not file I/O related +// Ignoring sys_enter_kill sys_exit_kill 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_shutdown sys_exit_shutdown as possibly not file I/O related +// Ignoring sys_enter_munmap sys_exit_munmap as possibly not file I/O related +// Ignoring sys_enter_mincore sys_exit_mincore as possibly not file I/O related +// Ignoring sys_enter_setresgid sys_exit_setresgid 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_rt_sigpending sys_exit_rt_sigpending as possibly not file I/O related +// Ignoring sys_enter_utime sys_exit_utime 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_clock_nanosleep sys_exit_clock_nanosleep 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_ppoll sys_exit_ppoll as possibly not file I/O related -// Ignoring sys_enter_vfork sys_exit_vfork 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_capset sys_exit_capset as possibly not file I/O related +// Ignoring sys_enter_getsockopt sys_exit_getsockopt as possibly not file I/O related +// Ignoring sys_enter_msgget sys_exit_msgget as possibly not file I/O related +// Ignoring sys_enter_getpeername sys_exit_getpeername as possibly not file I/O related +// Ignoring sys_enter_syslog sys_exit_syslog 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_fsetxattr sys_exit_fsetxattr as possibly not file I/O related +// Ignoring sys_enter_getsid sys_exit_getsid 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_sched_setattr sys_exit_sched_setattr as possibly not file I/O related +// Ignoring sys_enter_fsconfig sys_exit_fsconfig as possibly not file I/O related +// Ignoring sys_enter_getresuid sys_exit_getresuid as possibly not file I/O related +// Ignoring sys_enter_waitid sys_exit_waitid 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_dup3 sys_exit_dup3 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_recvmmsg sys_exit_recvmmsg as possibly not file I/O related +// Ignoring sys_enter_sync sys_exit_sync as possibly not file I/O related +// Ignoring sys_enter_mlockall sys_exit_mlockall as possibly not file I/O related +// Ignoring sys_enter_brk sys_exit_brk 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_io_cancel sys_exit_io_cancel 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_prlimit64 sys_exit_prlimit64 as possibly not file I/O related +// Ignoring sys_enter_mmap sys_exit_mmap as possibly not file I/O related +// Ignoring sys_enter_sysfs sys_exit_sysfs 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_newuname sys_exit_newuname 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_gettimeofday sys_exit_gettimeofday as possibly not file I/O related +// Ignoring sys_enter_setdomainname sys_exit_setdomainname as possibly not file I/O related +// Ignoring sys_enter_sethostname sys_exit_sethostname 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_wait4 sys_exit_wait4 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_mseal sys_exit_mseal as possibly not file I/O related +// Ignoring sys_enter_readv sys_exit_readv 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_io_destroy sys_exit_io_destroy as possibly not file I/O related +// Ignoring sys_enter_times sys_exit_times 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_getcpu sys_exit_getcpu 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_seccomp sys_exit_seccomp 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_pselect6 sys_exit_pselect6 as possibly not file I/O related +// Ignoring sys_enter_munlock sys_exit_munlock as possibly not file I/O related +// Ignoring sys_enter_signalfd sys_exit_signalfd as possibly not file I/O related +// Ignoring sys_enter_time sys_exit_time as possibly not file I/O related +// Ignoring sys_enter_setregid sys_exit_setregid as possibly not file I/O related +// Ignoring sys_enter_swapoff sys_exit_swapoff 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_getpgrp sys_exit_getpgrp as possibly not file I/O related +// Ignoring sys_enter_getgroups sys_exit_getgroups 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_sched_get_priority_min sys_exit_sched_get_priority_min as possibly not file I/O related +// Ignoring sys_enter_eventfd sys_exit_eventfd as possibly not file I/O related +// Ignoring sys_enter_flistxattr sys_exit_flistxattr as possibly not file I/O related +// Ignoring sys_enter_dup2 sys_exit_dup2 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_fgetxattr sys_exit_fgetxattr as possibly not file I/O related +// Ignoring sys_enter_setuid sys_exit_setuid 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_sendto sys_exit_sendto 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_fork sys_exit_fork as possibly not file I/O related +// Ignoring sys_enter_msgsnd sys_exit_msgsnd 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_setfsgid sys_exit_setfsgid 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_epoll_pwait2 sys_exit_epoll_pwait2 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_mq_timedsend sys_exit_mq_timedsend as possibly not file I/O related -// Ignoring sys_enter_setdomainname sys_exit_setdomainname as possibly not file I/O related +// Ignoring sys_enter_userfaultfd sys_exit_userfaultfd as possibly not file I/O related +// Ignoring sys_enter_adjtimex sys_exit_adjtimex as possibly not file I/O related +// Ignoring sys_enter_ioprio_set sys_exit_ioprio_set 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/event/event.go b/internal/event/event.go index 680ee62..45b5c9d 100644 --- a/internal/event/event.go +++ b/internal/event/event.go @@ -3,7 +3,7 @@ package event import ( "fmt" "ior/internal/file" - . "ior/internal/generated/types" + . "ior/internal/types" "strconv" "strings" "sync" diff --git a/internal/eventfilter.go b/internal/eventfilter.go index 4ecb6ac..ae58cb2 100644 --- a/internal/eventfilter.go +++ b/internal/eventfilter.go @@ -4,7 +4,7 @@ import ( "fmt" "ior/internal/event" "ior/internal/flags" - "ior/internal/generated/types" + "ior/internal/types" "strings" ) diff --git a/internal/eventloop.go b/internal/eventloop.go index e17095a..2c1607b 100644 --- a/internal/eventloop.go +++ b/internal/eventloop.go @@ -13,7 +13,7 @@ import ( "ior/internal/file" "ior/internal/flags" "ior/internal/flamegraph" - . "ior/internal/generated/types" + . "ior/internal/types" ) type eventLoop struct { diff --git a/internal/flamegraph/flamegraph.go b/internal/flamegraph/flamegraph.go index 5e808b3..9c51cb2 100644 --- a/internal/flamegraph/flamegraph.go +++ b/internal/flamegraph/flamegraph.go @@ -4,7 +4,7 @@ import ( "context" "fmt" "ior/internal/event" - "ior/internal/generated/types" + "ior/internal/types" "os" "strings" "sync" diff --git a/internal/generated/Makefile b/internal/generated/Makefile deleted file mode 100644 index ffa3400..0000000 --- a/internal/generated/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -all: generate - -generate: tracepoints types - -.PHONY: generate_tracepoints -tracepoints: - cat ../c/generated_tracepoints.c \ - | raku tracepoints.raku \ - | goimports | gofmt \ - > tracepoints/tracepoints.go - -.PHONY: types -types: - ( cat ../c/types.h; grep -h '^#define' ../c/generated_tracepoints.c ) \ - | raku nqc.raku \ - | goimports | gofmt \ - > types/types.go diff --git a/internal/generated/generated.go b/internal/generated/generated.go deleted file mode 100644 index 731aee8..0000000 --- a/internal/generated/generated.go +++ /dev/null @@ -1,2 +0,0 @@ -// All Go code in this package is auto-generated. Don't change manually! -package generated diff --git a/internal/generated/nqc.raku b/internal/generated/nqc.raku deleted file mode 100644 index be4345e..0000000 --- a/internal/generated/nqc.raku +++ /dev/null @@ -1,197 +0,0 @@ -#!/usr/bin/env raku -# -# This Raku program takes a list of C struct and constant definitions and converts -# it to valid Go code. - -use v6.d; -#use Grammar::Debugger; - -# Not quite C -grammar NQC { - rule TOP { * } - rule construct { | | } - rule constant { '#define' } - rule statement { ';' } - rule struct { 'struct' '{' + %% ';' '}' } - rule member { ? } - rule comment { | } - rule single-line-comment { '//' <-[\n]>+ } - rule multi-line-comment { '/*' .*? '*/' } - token arraysize { '[' ']' } - token type { 'char' | '__s32' | '__u32' | '__s64' | '__u64' } - token identifier { <[a..z A..Z 0..9 _]>+ } - token number { \d+ } -} - -class Constant { - has Str $.name is required; - has Int $.value is required; -} - -role StructGoMethods { - method struct-go-methods($/) returns Str { - my Str $self-ref = $.lc.substr(0,1); - my Str @format = $.map({ $_..made ~ ':%v' }); - - my Str @args = $.map({ - my Str $ref = "$self-ref." ~ $_..made; - # Need to convert char-arrays into a Go slice, and then convert via string(...) - ($_. eq 'char' && $_.) ?? "string({$ref}[:])" !! $ref; - }); - - qq:to/END/; - func ($self-ref {$.made}) String() string \{ - return fmt.Sprintf("{@format.join(' ')}", {@args.join(', ')}) - \} - - func ($self-ref *{$.made}) GetEventType() EventType \{ - return $self-ref.EventType - \} - - func ($self-ref *{$.made}) GetTraceId() TraceId \{ - return $self-ref.TraceId - \} - - func ($self-ref *{$.made}) GetPid() uint32 \{ - return $self-ref.Pid - \} - - func ($self-ref *{$.made}) GetTid() uint32 \{ - return $self-ref.Tid - \} - - func ($self-ref *{$.made}) GetTime() uint64 \{ - return $self-ref.Time - \} - END - } - - method struct-go-sync-pool($/) returns Str { - my Str $identifier = $/.made; - my Str $self-ref = $identifier.lc.substr(0,1); - - qq:to/END/; - var poolOf{$identifier}s = sync.Pool\{ - New: func() interface\{\} \{ return &$identifier\{\} \}, - \} - - func New{$identifier}(raw []byte) *$identifier \{ - $self-ref := poolOf{$identifier}s.Get().(*$identifier); - if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, $self-ref); err != nil \{ - fmt.Println($self-ref, raw, len(raw), err) - panic(raw) - \} - return $self-ref - \} - - func ($self-ref *$identifier) Recycle() \{ - poolOf{$identifier}s.Put($self-ref) - \} - END - } -} - -role ConstantGoMethods { - has Constant @!constants; - - method constant-go-methods returns Str { - qq:to/END/; - type EventType uint32 - type TraceId uint32 - - var traceId2String = map[TraceId]string\{ - {@!constants.grep({ $_.name ~~ /^SYS_/ }).map({ - "{$_.value}: \"{$_.name.subst('SYS_', '').lc}\"" - }).join(', ')}, - \} - - var traceId2Name = map[TraceId]string\{ - {@!constants.grep({ $_.name ~~ /^SYS_/ }).map({ - "{$_.value}: \"{$_.name.subst(/'SYS_ENTER_'|'SYS_EXIT_'/, '').lc}\"" - }).join(', ')}, - \} - - func (s TraceId) String() string \{ - str, ok := traceId2String[s] - if !ok \{ - panic(fmt.Sprintf("no string representation for trace ID %d found", s)) - \} - return str - \} - - func (s TraceId) Name() string \{ - str, ok := traceId2Name[s] - if !ok \{ - panic(fmt.Sprintf("no name for trace ID %d found", s)) - \} - return str - \} - END - } - -} - -class NQCToGoActions does StructGoMethods does ConstantGoMethods { - has Bool $!constant-type-set; - - method TOP($/) { - make qq:to/END/; - // Code generated - don't change manually! - package types - - {self.constant-go-methods} - {$.map(*.made).join('')} - END - } - - method construct($/) { - make $.made // $.made // ''; - } - - method statement($/) { - make "\n" ~ $.made; - } - - method constant($/) { - push @!constants: Constant.new(:name(~$), :value(+$)); - my $const-type = $.starts-with('SYS_') ?? ' TraceId ' !! ''; - - make qq:to/END/; - const {$}$const-type = {$} - END - } - - method struct($/) { - make qq:to/END/; - type {$.made} struct \{ - {$.map(*.made).join('; ')} - \} - - {self.struct-go-methods($/)} - {($.made.ends-with('Event') ?? "\n" ~ self.struct-go-sync-pool($/) !! '')} - END - } - - method member($/) { - my Str $type = $.made eq 'TraceId' ?? 'TraceId' !! $.made; - $type = 'EventType' if $.made eq 'EventType'; - make $.made ~ ' ' ~ ($ // '') ~ $type; - } - - method type($/) { - make do given ~$/ { - when 'char' { 'byte' } - when '__s32' { 'int32' } - when '__u32' { 'uint32' } - when '__s64' { 'int64' } - when '__u64' { 'uint64' } - } - } - - method identifier($/) { - # Convert identifier from snake_case (C) to CamelCase (Go) - make $/.Str.split('_').map(*.tc).join(''); - } -} - -say NQC.parse($*IN.slurp, actions => NQCToGoActions.new).made; diff --git a/internal/generated/tracepoints.raku b/internal/generated/tracepoints.raku deleted file mode 100644 index 90834a1..0000000 --- a/internal/generated/tracepoints.raku +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env raku - -use v6.d; - -my @tracepoints = gather for $*IN.slurp.split("\n") { - take $/.Str if /^SEC.*sys_$=(<[a..z_0..9]>+)/; -} - -say qq:to/END/; -// Code generated - don't change manually! -package tracepoints - -var List = []string\{ - {@tracepoints.map({ "\"sys_$_\"," }).join("\n\t") } -\} -END diff --git a/internal/generated/tracepoints/tracepoints.go b/internal/generated/tracepoints/tracepoints.go deleted file mode 100644 index 2b615b7..0000000 --- a/internal/generated/tracepoints/tracepoints.go +++ /dev/null @@ -1,153 +0,0 @@ -// Code generated - don't change manually! -package tracepoints - -var List = []string{ - "sys_enter_io_uring_register", - "sys_exit_io_uring_register", - "sys_enter_io_uring_enter", - "sys_exit_io_uring_enter", - "sys_enter_quotactl_fd", - "sys_exit_quotactl_fd", - "sys_enter_flock", - "sys_exit_flock", - "sys_enter_fanotify_mark", - "sys_exit_fanotify_mark", - "sys_enter_inotify_add_watch", - "sys_exit_inotify_add_watch", - "sys_enter_statfs", - "sys_exit_statfs", - "sys_enter_fstatfs", - "sys_exit_fstatfs", - "sys_enter_utimensat", - "sys_exit_utimensat", - "sys_enter_futimesat", - "sys_exit_futimesat", - "sys_enter_fsync", - "sys_exit_fsync", - "sys_enter_fdatasync", - "sys_exit_fdatasync", - "sys_enter_setxattr", - "sys_exit_setxattr", - "sys_enter_lsetxattr", - "sys_exit_lsetxattr", - "sys_enter_getxattr", - "sys_exit_getxattr", - "sys_enter_lgetxattr", - "sys_exit_lgetxattr", - "sys_enter_listxattr", - "sys_exit_listxattr", - "sys_enter_llistxattr", - "sys_exit_llistxattr", - "sys_enter_removexattr", - "sys_exit_removexattr", - "sys_enter_lremovexattr", - "sys_exit_lremovexattr", - "sys_enter_open_tree", - "sys_exit_open_tree", - "sys_enter_getdents", - "sys_exit_getdents", - "sys_enter_getdents64", - "sys_exit_getdents64", - "sys_enter_ioctl", - "sys_exit_ioctl", - "sys_enter_fcntl", - "sys_exit_fcntl", - "sys_enter_mknodat", - "sys_exit_mknodat", - "sys_enter_mknod", - "sys_exit_mknod", - "sys_enter_mkdirat", - "sys_exit_mkdirat", - "sys_enter_mkdir", - "sys_exit_mkdir", - "sys_enter_rmdir", - "sys_exit_rmdir", - "sys_enter_unlinkat", - "sys_exit_unlinkat", - "sys_enter_unlink", - "sys_exit_unlink", - "sys_enter_symlinkat", - "sys_exit_symlinkat", - "sys_enter_symlink", - "sys_exit_symlink", - "sys_enter_linkat", - "sys_exit_linkat", - "sys_enter_link", - "sys_exit_link", - "sys_enter_renameat2", - "sys_exit_renameat2", - "sys_enter_renameat", - "sys_exit_renameat", - "sys_enter_rename", - "sys_exit_rename", - "sys_enter_execve", - "sys_exit_execve", - "sys_enter_execveat", - "sys_exit_execveat", - "sys_enter_newstat", - "sys_exit_newstat", - "sys_enter_newlstat", - "sys_exit_newlstat", - "sys_enter_newfstatat", - "sys_exit_newfstatat", - "sys_enter_newfstat", - "sys_exit_newfstat", - "sys_enter_readlinkat", - "sys_exit_readlinkat", - "sys_enter_statx", - "sys_exit_statx", - "sys_enter_lseek", - "sys_exit_lseek", - "sys_enter_read", - "sys_exit_read", - "sys_enter_write", - "sys_exit_write", - "sys_enter_pread64", - "sys_exit_pread64", - "sys_enter_pwrite64", - "sys_exit_pwrite64", - "sys_enter_ftruncate", - "sys_exit_ftruncate", - "sys_enter_faccessat", - "sys_exit_faccessat", - "sys_enter_faccessat2", - "sys_exit_faccessat2", - "sys_enter_access", - "sys_exit_access", - "sys_enter_chdir", - "sys_exit_chdir", - "sys_enter_fchdir", - "sys_exit_fchdir", - "sys_enter_chroot", - "sys_exit_chroot", - "sys_enter_fchmod", - "sys_exit_fchmod", - "sys_enter_fchmodat2", - "sys_exit_fchmodat2", - "sys_enter_fchmodat", - "sys_exit_fchmodat", - "sys_enter_chmod", - "sys_exit_chmod", - "sys_enter_fchownat", - "sys_exit_fchownat", - "sys_enter_chown", - "sys_exit_chown", - "sys_enter_lchown", - "sys_exit_lchown", - "sys_enter_fchown", - "sys_exit_fchown", - "sys_enter_open", - "sys_exit_open", - "sys_enter_openat", - "sys_exit_openat", - "sys_enter_openat2", - "sys_exit_openat2", - "sys_enter_creat", - "sys_exit_creat", - "sys_enter_close", - "sys_exit_close", - "sys_enter_close_range", - "sys_exit_close_range", - "sys_enter_cachestat", - "sys_exit_cachestat", -} diff --git a/internal/generated/types/types.go b/internal/generated/types/types.go deleted file mode 100644 index bc202ed..0000000 --- a/internal/generated/types/types.go +++ /dev/null @@ -1,502 +0,0 @@ -// Code generated - don't change manually! -package types - -import ( - "bytes" - "encoding/binary" - "fmt" - "sync" -) - -type EventType uint32 -type TraceId uint32 - -var traceId2String = map[TraceId]string{ - 1485: "enter_io_uring_register", 1484: "exit_io_uring_register", 1466: "enter_io_uring_enter", 1465: "exit_io_uring_enter", 1127: "enter_quotactl_fd", 1126: "exit_quotactl_fd", 1096: "enter_flock", 1095: "exit_flock", 1038: "enter_fanotify_mark", 1037: "exit_fanotify_mark", 1032: "enter_inotify_add_watch", 1031: "exit_inotify_add_watch", 1022: "enter_statfs", 1021: "exit_statfs", 1020: "enter_fstatfs", 1019: "exit_fstatfs", 1014: "enter_utimensat", 1013: "exit_utimensat", 1012: "enter_futimesat", 1011: "exit_futimesat", 1002: "enter_fsync", 1001: "exit_fsync", 1000: "enter_fdatasync", 999: "exit_fdatasync", 958: "enter_setxattr", 957: "exit_setxattr", 956: "enter_lsetxattr", 955: "exit_lsetxattr", 952: "enter_getxattr", 951: "exit_getxattr", 950: "enter_lgetxattr", 949: "exit_lgetxattr", 946: "enter_listxattr", 945: "exit_listxattr", 944: "enter_llistxattr", 943: "exit_llistxattr", 940: "enter_removexattr", 939: "exit_removexattr", 938: "enter_lremovexattr", 937: "exit_lremovexattr", 932: "enter_open_tree", 931: "exit_open_tree", 900: "enter_getdents", 899: "exit_getdents", 898: "enter_getdents64", 897: "exit_getdents64", 896: "enter_ioctl", 895: "exit_ioctl", 894: "enter_fcntl", 893: "exit_fcntl", 892: "enter_mknodat", 891: "exit_mknodat", 890: "enter_mknod", 889: "exit_mknod", 888: "enter_mkdirat", 887: "exit_mkdirat", 886: "enter_mkdir", 885: "exit_mkdir", 884: "enter_rmdir", 883: "exit_rmdir", 882: "enter_unlinkat", 881: "exit_unlinkat", 880: "enter_unlink", 879: "exit_unlink", 878: "enter_symlinkat", 877: "exit_symlinkat", 876: "enter_symlink", 875: "exit_symlink", 874: "enter_linkat", 873: "exit_linkat", 872: "enter_link", 871: "exit_link", 870: "enter_renameat2", 869: "exit_renameat2", 868: "enter_renameat", 867: "exit_renameat", 866: "enter_rename", 865: "exit_rename", 860: "enter_execve", 859: "exit_execve", 858: "enter_execveat", 857: "exit_execveat", 856: "enter_newstat", 855: "exit_newstat", 854: "enter_newlstat", 853: "exit_newlstat", 852: "enter_newfstatat", 851: "exit_newfstatat", 850: "enter_newfstat", 849: "exit_newfstat", 848: "enter_readlinkat", 847: "exit_readlinkat", 844: "enter_statx", 843: "exit_statx", 842: "enter_lseek", 841: "exit_lseek", 840: "enter_read", 839: "exit_read", 838: "enter_write", 837: "exit_write", 836: "enter_pread64", 835: "exit_pread64", 834: "enter_pwrite64", 833: "exit_pwrite64", 814: "enter_ftruncate", 813: "exit_ftruncate", 810: "enter_faccessat", 809: "exit_faccessat", 808: "enter_faccessat2", 807: "exit_faccessat2", 806: "enter_access", 805: "exit_access", 804: "enter_chdir", 803: "exit_chdir", 802: "enter_fchdir", 801: "exit_fchdir", 800: "enter_chroot", 799: "exit_chroot", 798: "enter_fchmod", 797: "exit_fchmod", 796: "enter_fchmodat2", 795: "exit_fchmodat2", 794: "enter_fchmodat", 793: "exit_fchmodat", 792: "enter_chmod", 791: "exit_chmod", 790: "enter_fchownat", 789: "exit_fchownat", 788: "enter_chown", 787: "exit_chown", 786: "enter_lchown", 785: "exit_lchown", 784: "enter_fchown", 783: "exit_fchown", 782: "enter_open", 781: "exit_open", 780: "enter_openat", 779: "exit_openat", 778: "enter_openat2", 777: "exit_openat2", 776: "enter_creat", 775: "exit_creat", 774: "enter_close", 773: "exit_close", 772: "enter_close_range", 771: "exit_close_range", 592: "enter_cachestat", 591: "exit_cachestat", -} - -var traceId2Name = map[TraceId]string{ - 1485: "io_uring_register", 1484: "io_uring_register", 1466: "io_uring_enter", 1465: "io_uring_enter", 1127: "quotactl_fd", 1126: "quotactl_fd", 1096: "flock", 1095: "flock", 1038: "fanotify_mark", 1037: "fanotify_mark", 1032: "inotify_add_watch", 1031: "inotify_add_watch", 1022: "statfs", 1021: "statfs", 1020: "fstatfs", 1019: "fstatfs", 1014: "utimensat", 1013: "utimensat", 1012: "futimesat", 1011: "futimesat", 1002: "fsync", 1001: "fsync", 1000: "fdatasync", 999: "fdatasync", 958: "setxattr", 957: "setxattr", 956: "lsetxattr", 955: "lsetxattr", 952: "getxattr", 951: "getxattr", 950: "lgetxattr", 949: "lgetxattr", 946: "listxattr", 945: "listxattr", 944: "llistxattr", 943: "llistxattr", 940: "removexattr", 939: "removexattr", 938: "lremovexattr", 937: "lremovexattr", 932: "open_tree", 931: "open_tree", 900: "getdents", 899: "getdents", 898: "getdents64", 897: "getdents64", 896: "ioctl", 895: "ioctl", 894: "fcntl", 893: "fcntl", 892: "mknodat", 891: "mknodat", 890: "mknod", 889: "mknod", 888: "mkdirat", 887: "mkdirat", 886: "mkdir", 885: "mkdir", 884: "rmdir", 883: "rmdir", 882: "unlinkat", 881: "unlinkat", 880: "unlink", 879: "unlink", 878: "symlinkat", 877: "symlinkat", 876: "symlink", 875: "symlink", 874: "linkat", 873: "linkat", 872: "link", 871: "link", 870: "renameat2", 869: "renameat2", 868: "renameat", 867: "renameat", 866: "rename", 865: "rename", 860: "execve", 859: "execve", 858: "execveat", 857: "execveat", 856: "newstat", 855: "newstat", 854: "newlstat", 853: "newlstat", 852: "newfstatat", 851: "newfstatat", 850: "newfstat", 849: "newfstat", 848: "readlinkat", 847: "readlinkat", 844: "statx", 843: "statx", 842: "lseek", 841: "lseek", 840: "read", 839: "read", 838: "write", 837: "write", 836: "pread64", 835: "pread64", 834: "pwrite64", 833: "pwrite64", 814: "ftruncate", 813: "ftruncate", 810: "faccessat", 809: "faccessat", 808: "faccessat2", 807: "faccessat2", 806: "access", 805: "access", 804: "chdir", 803: "chdir", 802: "fchdir", 801: "fchdir", 800: "chroot", 799: "chroot", 798: "fchmod", 797: "fchmod", 796: "fchmodat2", 795: "fchmodat2", 794: "fchmodat", 793: "fchmodat", 792: "chmod", 791: "chmod", 790: "fchownat", 789: "fchownat", 788: "chown", 787: "chown", 786: "lchown", 785: "lchown", 784: "fchown", 783: "fchown", 782: "open", 781: "open", 780: "openat", 779: "openat", 778: "openat2", 777: "openat2", 776: "creat", 775: "creat", 774: "close", 773: "close", 772: "close_range", 771: "close_range", 592: "cachestat", 591: "cachestat", -} - -func (s TraceId) String() string { - str, ok := traceId2String[s] - if !ok { - panic(fmt.Sprintf("no string representation for trace ID %d found", s)) - } - return str -} - -func (s TraceId) Name() string { - str, ok := traceId2Name[s] - if !ok { - panic(fmt.Sprintf("no name for trace ID %d found", s)) - } - return str -} - -const MAX_FILENAME_LENGTH = 256 -const MAX_PROGNAME_LENGTH = 16 -const ENTER_OPEN_EVENT = 1 -const EXIT_OPEN_EVENT = 2 -const ENTER_NULL_EVENT = 3 -const EXIT_NULL_EVENT = 4 -const ENTER_FD_EVENT = 5 -const EXIT_FD_EVENT = 6 -const ENTER_RET_EVENT = 7 -const EXIT_RET_EVENT = 8 -const ENTER_NAME_EVENT = 9 -const EXIT_NAME_EVENT = 10 -const ENTER_PATH_EVENT = 11 -const EXIT_PATH_EVENT = 12 - -type OpenEvent struct { - EventType EventType - TraceId TraceId - Time uint64 - Pid uint32 - Tid uint32 - Flags int32 - Filename [MAX_FILENAME_LENGTH]byte - Comm [MAX_PROGNAME_LENGTH]byte -} - -func (o OpenEvent) String() string { - return fmt.Sprintf("EventType:%v TraceId:%v Time:%v Pid:%v Tid:%v Flags:%v Filename:%v Comm:%v", o.EventType, o.TraceId, o.Time, o.Pid, o.Tid, o.Flags, string(o.Filename[:]), string(o.Comm[:])) -} - -func (o *OpenEvent) GetEventType() EventType { - return o.EventType -} - -func (o *OpenEvent) GetTraceId() TraceId { - return o.TraceId -} - -func (o *OpenEvent) GetPid() uint32 { - return o.Pid -} - -func (o *OpenEvent) GetTid() uint32 { - return o.Tid -} - -func (o *OpenEvent) GetTime() uint64 { - return o.Time -} - -var poolOfOpenEvents = sync.Pool{ - New: func() interface{} { return &OpenEvent{} }, -} - -func NewOpenEvent(raw []byte) *OpenEvent { - o := poolOfOpenEvents.Get().(*OpenEvent) - if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, o); err != nil { - fmt.Println(o, raw, len(raw), err) - panic(raw) - } - return o -} - -func (o *OpenEvent) Recycle() { - poolOfOpenEvents.Put(o) -} - -type NullEvent struct { - EventType EventType - TraceId TraceId - Time uint64 - Pid uint32 - Tid uint32 -} - -func (n NullEvent) String() string { - return fmt.Sprintf("EventType:%v TraceId:%v Time:%v Pid:%v Tid:%v", n.EventType, n.TraceId, n.Time, n.Pid, n.Tid) -} - -func (n *NullEvent) GetEventType() EventType { - return n.EventType -} - -func (n *NullEvent) GetTraceId() TraceId { - return n.TraceId -} - -func (n *NullEvent) GetPid() uint32 { - return n.Pid -} - -func (n *NullEvent) GetTid() uint32 { - return n.Tid -} - -func (n *NullEvent) GetTime() uint64 { - return n.Time -} - -var poolOfNullEvents = sync.Pool{ - New: func() interface{} { return &NullEvent{} }, -} - -func NewNullEvent(raw []byte) *NullEvent { - n := poolOfNullEvents.Get().(*NullEvent) - if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, n); err != nil { - fmt.Println(n, raw, len(raw), err) - panic(raw) - } - return n -} - -func (n *NullEvent) Recycle() { - poolOfNullEvents.Put(n) -} - -type FdEvent struct { - EventType EventType - TraceId TraceId - Time uint64 - Pid uint32 - Tid uint32 - Fd int32 -} - -func (f FdEvent) String() string { - return fmt.Sprintf("EventType:%v TraceId:%v Time:%v Pid:%v Tid:%v Fd:%v", f.EventType, f.TraceId, f.Time, f.Pid, f.Tid, f.Fd) -} - -func (f *FdEvent) GetEventType() EventType { - return f.EventType -} - -func (f *FdEvent) GetTraceId() TraceId { - return f.TraceId -} - -func (f *FdEvent) GetPid() uint32 { - return f.Pid -} - -func (f *FdEvent) GetTid() uint32 { - return f.Tid -} - -func (f *FdEvent) GetTime() uint64 { - return f.Time -} - -var poolOfFdEvents = sync.Pool{ - New: func() interface{} { return &FdEvent{} }, -} - -func NewFdEvent(raw []byte) *FdEvent { - f := poolOfFdEvents.Get().(*FdEvent) - if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, f); err != nil { - fmt.Println(f, raw, len(raw), err) - panic(raw) - } - return f -} - -func (f *FdEvent) Recycle() { - poolOfFdEvents.Put(f) -} - -type RetEvent struct { - EventType EventType - TraceId TraceId - Time uint64 - Ret int64 - Pid uint32 - Tid uint32 -} - -func (r RetEvent) String() string { - return fmt.Sprintf("EventType:%v TraceId:%v Time:%v Ret:%v Pid:%v Tid:%v", r.EventType, r.TraceId, r.Time, r.Ret, r.Pid, r.Tid) -} - -func (r *RetEvent) GetEventType() EventType { - return r.EventType -} - -func (r *RetEvent) GetTraceId() TraceId { - return r.TraceId -} - -func (r *RetEvent) GetPid() uint32 { - return r.Pid -} - -func (r *RetEvent) GetTid() uint32 { - return r.Tid -} - -func (r *RetEvent) GetTime() uint64 { - return r.Time -} - -var poolOfRetEvents = sync.Pool{ - New: func() interface{} { return &RetEvent{} }, -} - -func NewRetEvent(raw []byte) *RetEvent { - r := poolOfRetEvents.Get().(*RetEvent) - if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, r); err != nil { - fmt.Println(r, raw, len(raw), err) - panic(raw) - } - return r -} - -func (r *RetEvent) Recycle() { - poolOfRetEvents.Put(r) -} - -type NameEvent struct { - EventType EventType - TraceId TraceId - Time uint64 - Pid uint32 - Tid uint32 - Oldname [MAX_FILENAME_LENGTH]byte - Newname [MAX_FILENAME_LENGTH]byte -} - -func (n NameEvent) String() string { - return fmt.Sprintf("EventType:%v TraceId:%v Time:%v Pid:%v Tid:%v Oldname:%v Newname:%v", n.EventType, n.TraceId, n.Time, n.Pid, n.Tid, string(n.Oldname[:]), string(n.Newname[:])) -} - -func (n *NameEvent) GetEventType() EventType { - return n.EventType -} - -func (n *NameEvent) GetTraceId() TraceId { - return n.TraceId -} - -func (n *NameEvent) GetPid() uint32 { - return n.Pid -} - -func (n *NameEvent) GetTid() uint32 { - return n.Tid -} - -func (n *NameEvent) GetTime() uint64 { - return n.Time -} - -var poolOfNameEvents = sync.Pool{ - New: func() interface{} { return &NameEvent{} }, -} - -func NewNameEvent(raw []byte) *NameEvent { - n := poolOfNameEvents.Get().(*NameEvent) - if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, n); err != nil { - fmt.Println(n, raw, len(raw), err) - panic(raw) - } - return n -} - -func (n *NameEvent) Recycle() { - poolOfNameEvents.Put(n) -} - -type PathEvent struct { - EventType EventType - TraceId TraceId - Time uint64 - Pid uint32 - Tid uint32 - Pathname [MAX_FILENAME_LENGTH]byte -} - -func (p PathEvent) String() string { - return fmt.Sprintf("EventType:%v TraceId:%v Time:%v Pid:%v Tid:%v Pathname:%v", p.EventType, p.TraceId, p.Time, p.Pid, p.Tid, string(p.Pathname[:])) -} - -func (p *PathEvent) GetEventType() EventType { - return p.EventType -} - -func (p *PathEvent) GetTraceId() TraceId { - return p.TraceId -} - -func (p *PathEvent) GetPid() uint32 { - return p.Pid -} - -func (p *PathEvent) GetTid() uint32 { - return p.Tid -} - -func (p *PathEvent) GetTime() uint64 { - return p.Time -} - -var poolOfPathEvents = sync.Pool{ - New: func() interface{} { return &PathEvent{} }, -} - -func NewPathEvent(raw []byte) *PathEvent { - p := poolOfPathEvents.Get().(*PathEvent) - if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, p); err != nil { - fmt.Println(p, raw, len(raw), err) - panic(raw) - } - return p -} - -func (p *PathEvent) Recycle() { - poolOfPathEvents.Put(p) -} - -const SYS_ENTER_IO_URING_REGISTER TraceId = 1485 -const SYS_EXIT_IO_URING_REGISTER TraceId = 1484 -const SYS_ENTER_IO_URING_ENTER TraceId = 1466 -const SYS_EXIT_IO_URING_ENTER TraceId = 1465 -const SYS_ENTER_QUOTACTL_FD TraceId = 1127 -const SYS_EXIT_QUOTACTL_FD TraceId = 1126 -const SYS_ENTER_FLOCK TraceId = 1096 -const SYS_EXIT_FLOCK TraceId = 1095 -const SYS_ENTER_FANOTIFY_MARK TraceId = 1038 -const SYS_EXIT_FANOTIFY_MARK TraceId = 1037 -const SYS_ENTER_INOTIFY_ADD_WATCH TraceId = 1032 -const SYS_EXIT_INOTIFY_ADD_WATCH TraceId = 1031 -const SYS_ENTER_STATFS TraceId = 1022 -const SYS_EXIT_STATFS TraceId = 1021 -const SYS_ENTER_FSTATFS TraceId = 1020 -const SYS_EXIT_FSTATFS TraceId = 1019 -const SYS_ENTER_UTIMENSAT TraceId = 1014 -const SYS_EXIT_UTIMENSAT TraceId = 1013 -const SYS_ENTER_FUTIMESAT TraceId = 1012 -const SYS_EXIT_FUTIMESAT TraceId = 1011 -const SYS_ENTER_FSYNC TraceId = 1002 -const SYS_EXIT_FSYNC TraceId = 1001 -const SYS_ENTER_FDATASYNC TraceId = 1000 -const SYS_EXIT_FDATASYNC TraceId = 999 -const SYS_ENTER_SETXATTR TraceId = 958 -const SYS_EXIT_SETXATTR TraceId = 957 -const SYS_ENTER_LSETXATTR TraceId = 956 -const SYS_EXIT_LSETXATTR TraceId = 955 -const SYS_ENTER_GETXATTR TraceId = 952 -const SYS_EXIT_GETXATTR TraceId = 951 -const SYS_ENTER_LGETXATTR TraceId = 950 -const SYS_EXIT_LGETXATTR TraceId = 949 -const SYS_ENTER_LISTXATTR TraceId = 946 -const SYS_EXIT_LISTXATTR TraceId = 945 -const SYS_ENTER_LLISTXATTR TraceId = 944 -const SYS_EXIT_LLISTXATTR TraceId = 943 -const SYS_ENTER_REMOVEXATTR TraceId = 940 -const SYS_EXIT_REMOVEXATTR TraceId = 939 -const SYS_ENTER_LREMOVEXATTR TraceId = 938 -const SYS_EXIT_LREMOVEXATTR TraceId = 937 -const SYS_ENTER_OPEN_TREE TraceId = 932 -const SYS_EXIT_OPEN_TREE TraceId = 931 -const SYS_ENTER_GETDENTS TraceId = 900 -const SYS_EXIT_GETDENTS TraceId = 899 -const SYS_ENTER_GETDENTS64 TraceId = 898 -const SYS_EXIT_GETDENTS64 TraceId = 897 -const SYS_ENTER_IOCTL TraceId = 896 -const SYS_EXIT_IOCTL TraceId = 895 -const SYS_ENTER_FCNTL TraceId = 894 -const SYS_EXIT_FCNTL TraceId = 893 -const SYS_ENTER_MKNODAT TraceId = 892 -const SYS_EXIT_MKNODAT TraceId = 891 -const SYS_ENTER_MKNOD TraceId = 890 -const SYS_EXIT_MKNOD TraceId = 889 -const SYS_ENTER_MKDIRAT TraceId = 888 -const SYS_EXIT_MKDIRAT TraceId = 887 -const SYS_ENTER_MKDIR TraceId = 886 -const SYS_EXIT_MKDIR TraceId = 885 -const SYS_ENTER_RMDIR TraceId = 884 -const SYS_EXIT_RMDIR TraceId = 883 -const SYS_ENTER_UNLINKAT TraceId = 882 -const SYS_EXIT_UNLINKAT TraceId = 881 -const SYS_ENTER_UNLINK TraceId = 880 -const SYS_EXIT_UNLINK TraceId = 879 -const SYS_ENTER_SYMLINKAT TraceId = 878 -const SYS_EXIT_SYMLINKAT TraceId = 877 -const SYS_ENTER_SYMLINK TraceId = 876 -const SYS_EXIT_SYMLINK TraceId = 875 -const SYS_ENTER_LINKAT TraceId = 874 -const SYS_EXIT_LINKAT TraceId = 873 -const SYS_ENTER_LINK TraceId = 872 -const SYS_EXIT_LINK TraceId = 871 -const SYS_ENTER_RENAMEAT2 TraceId = 870 -const SYS_EXIT_RENAMEAT2 TraceId = 869 -const SYS_ENTER_RENAMEAT TraceId = 868 -const SYS_EXIT_RENAMEAT TraceId = 867 -const SYS_ENTER_RENAME TraceId = 866 -const SYS_EXIT_RENAME TraceId = 865 -const SYS_ENTER_EXECVE TraceId = 860 -const SYS_EXIT_EXECVE TraceId = 859 -const SYS_ENTER_EXECVEAT TraceId = 858 -const SYS_EXIT_EXECVEAT TraceId = 857 -const SYS_ENTER_NEWSTAT TraceId = 856 -const SYS_EXIT_NEWSTAT TraceId = 855 -const SYS_ENTER_NEWLSTAT TraceId = 854 -const SYS_EXIT_NEWLSTAT TraceId = 853 -const SYS_ENTER_NEWFSTATAT TraceId = 852 -const SYS_EXIT_NEWFSTATAT TraceId = 851 -const SYS_ENTER_NEWFSTAT TraceId = 850 -const SYS_EXIT_NEWFSTAT TraceId = 849 -const SYS_ENTER_READLINKAT TraceId = 848 -const SYS_EXIT_READLINKAT TraceId = 847 -const SYS_ENTER_STATX TraceId = 844 -const SYS_EXIT_STATX TraceId = 843 -const SYS_ENTER_LSEEK TraceId = 842 -const SYS_EXIT_LSEEK TraceId = 841 -const SYS_ENTER_READ TraceId = 840 -const SYS_EXIT_READ TraceId = 839 -const SYS_ENTER_WRITE TraceId = 838 -const SYS_EXIT_WRITE TraceId = 837 -const SYS_ENTER_PREAD64 TraceId = 836 -const SYS_EXIT_PREAD64 TraceId = 835 -const SYS_ENTER_PWRITE64 TraceId = 834 -const SYS_EXIT_PWRITE64 TraceId = 833 -const SYS_ENTER_FTRUNCATE TraceId = 814 -const SYS_EXIT_FTRUNCATE TraceId = 813 -const SYS_ENTER_FACCESSAT TraceId = 810 -const SYS_EXIT_FACCESSAT TraceId = 809 -const SYS_ENTER_FACCESSAT2 TraceId = 808 -const SYS_EXIT_FACCESSAT2 TraceId = 807 -const SYS_ENTER_ACCESS TraceId = 806 -const SYS_EXIT_ACCESS TraceId = 805 -const SYS_ENTER_CHDIR TraceId = 804 -const SYS_EXIT_CHDIR TraceId = 803 -const SYS_ENTER_FCHDIR TraceId = 802 -const SYS_EXIT_FCHDIR TraceId = 801 -const SYS_ENTER_CHROOT TraceId = 800 -const SYS_EXIT_CHROOT TraceId = 799 -const SYS_ENTER_FCHMOD TraceId = 798 -const SYS_EXIT_FCHMOD TraceId = 797 -const SYS_ENTER_FCHMODAT2 TraceId = 796 -const SYS_EXIT_FCHMODAT2 TraceId = 795 -const SYS_ENTER_FCHMODAT TraceId = 794 -const SYS_EXIT_FCHMODAT TraceId = 793 -const SYS_ENTER_CHMOD TraceId = 792 -const SYS_EXIT_CHMOD TraceId = 791 -const SYS_ENTER_FCHOWNAT TraceId = 790 -const SYS_EXIT_FCHOWNAT TraceId = 789 -const SYS_ENTER_CHOWN TraceId = 788 -const SYS_EXIT_CHOWN TraceId = 787 -const SYS_ENTER_LCHOWN TraceId = 786 -const SYS_EXIT_LCHOWN TraceId = 785 -const SYS_ENTER_FCHOWN TraceId = 784 -const SYS_EXIT_FCHOWN TraceId = 783 -const SYS_ENTER_OPEN TraceId = 782 -const SYS_EXIT_OPEN TraceId = 781 -const SYS_ENTER_OPENAT TraceId = 780 -const SYS_EXIT_OPENAT TraceId = 779 -const SYS_ENTER_OPENAT2 TraceId = 778 -const SYS_EXIT_OPENAT2 TraceId = 777 -const SYS_ENTER_CREAT TraceId = 776 -const SYS_EXIT_CREAT TraceId = 775 -const SYS_ENTER_CLOSE TraceId = 774 -const SYS_EXIT_CLOSE TraceId = 773 -const SYS_ENTER_CLOSE_RANGE TraceId = 772 -const SYS_EXIT_CLOSE_RANGE TraceId = 771 -const SYS_ENTER_CACHESTAT TraceId = 592 -const SYS_EXIT_CACHESTAT TraceId = 591 diff --git a/internal/ior.go b/internal/ior.go index 361c8b6..0de3636 100644 --- a/internal/ior.go +++ b/internal/ior.go @@ -12,7 +12,7 @@ import ( "time" "ior/internal/flags" - "ior/internal/generated/tracepoints" + "ior/internal/tracepoints" bpf "github.com/aquasecurity/libbpfgo" ) diff --git a/internal/tracepoints/Makefile b/internal/tracepoints/Makefile new file mode 100644 index 0000000..a1619b2 --- /dev/null +++ b/internal/tracepoints/Makefile @@ -0,0 +1,8 @@ +generate: generate_tracepoints + +.PHONY: generate_tracepoints +generate_tracepoints: + cat ../c/generated_tracepoints.c \ + | raku generate_tracepoints_go.raku \ + | goimports | gofmt \ + > ./generated_tracepoints.go diff --git a/internal/tracepoints/generate_tracepoints_go.raku b/internal/tracepoints/generate_tracepoints_go.raku new file mode 100644 index 0000000..90834a1 --- /dev/null +++ b/internal/tracepoints/generate_tracepoints_go.raku @@ -0,0 +1,16 @@ +#!/usr/bin/env raku + +use v6.d; + +my @tracepoints = gather for $*IN.slurp.split("\n") { + take $/.Str if /^SEC.*sys_$=(<[a..z_0..9]>+)/; +} + +say qq:to/END/; +// Code generated - don't change manually! +package tracepoints + +var List = []string\{ + {@tracepoints.map({ "\"sys_$_\"," }).join("\n\t") } +\} +END diff --git a/internal/tracepoints/generated_tracepoints.go b/internal/tracepoints/generated_tracepoints.go new file mode 100644 index 0000000..2b615b7 --- /dev/null +++ b/internal/tracepoints/generated_tracepoints.go @@ -0,0 +1,153 @@ +// Code generated - don't change manually! +package tracepoints + +var List = []string{ + "sys_enter_io_uring_register", + "sys_exit_io_uring_register", + "sys_enter_io_uring_enter", + "sys_exit_io_uring_enter", + "sys_enter_quotactl_fd", + "sys_exit_quotactl_fd", + "sys_enter_flock", + "sys_exit_flock", + "sys_enter_fanotify_mark", + "sys_exit_fanotify_mark", + "sys_enter_inotify_add_watch", + "sys_exit_inotify_add_watch", + "sys_enter_statfs", + "sys_exit_statfs", + "sys_enter_fstatfs", + "sys_exit_fstatfs", + "sys_enter_utimensat", + "sys_exit_utimensat", + "sys_enter_futimesat", + "sys_exit_futimesat", + "sys_enter_fsync", + "sys_exit_fsync", + "sys_enter_fdatasync", + "sys_exit_fdatasync", + "sys_enter_setxattr", + "sys_exit_setxattr", + "sys_enter_lsetxattr", + "sys_exit_lsetxattr", + "sys_enter_getxattr", + "sys_exit_getxattr", + "sys_enter_lgetxattr", + "sys_exit_lgetxattr", + "sys_enter_listxattr", + "sys_exit_listxattr", + "sys_enter_llistxattr", + "sys_exit_llistxattr", + "sys_enter_removexattr", + "sys_exit_removexattr", + "sys_enter_lremovexattr", + "sys_exit_lremovexattr", + "sys_enter_open_tree", + "sys_exit_open_tree", + "sys_enter_getdents", + "sys_exit_getdents", + "sys_enter_getdents64", + "sys_exit_getdents64", + "sys_enter_ioctl", + "sys_exit_ioctl", + "sys_enter_fcntl", + "sys_exit_fcntl", + "sys_enter_mknodat", + "sys_exit_mknodat", + "sys_enter_mknod", + "sys_exit_mknod", + "sys_enter_mkdirat", + "sys_exit_mkdirat", + "sys_enter_mkdir", + "sys_exit_mkdir", + "sys_enter_rmdir", + "sys_exit_rmdir", + "sys_enter_unlinkat", + "sys_exit_unlinkat", + "sys_enter_unlink", + "sys_exit_unlink", + "sys_enter_symlinkat", + "sys_exit_symlinkat", + "sys_enter_symlink", + "sys_exit_symlink", + "sys_enter_linkat", + "sys_exit_linkat", + "sys_enter_link", + "sys_exit_link", + "sys_enter_renameat2", + "sys_exit_renameat2", + "sys_enter_renameat", + "sys_exit_renameat", + "sys_enter_rename", + "sys_exit_rename", + "sys_enter_execve", + "sys_exit_execve", + "sys_enter_execveat", + "sys_exit_execveat", + "sys_enter_newstat", + "sys_exit_newstat", + "sys_enter_newlstat", + "sys_exit_newlstat", + "sys_enter_newfstatat", + "sys_exit_newfstatat", + "sys_enter_newfstat", + "sys_exit_newfstat", + "sys_enter_readlinkat", + "sys_exit_readlinkat", + "sys_enter_statx", + "sys_exit_statx", + "sys_enter_lseek", + "sys_exit_lseek", + "sys_enter_read", + "sys_exit_read", + "sys_enter_write", + "sys_exit_write", + "sys_enter_pread64", + "sys_exit_pread64", + "sys_enter_pwrite64", + "sys_exit_pwrite64", + "sys_enter_ftruncate", + "sys_exit_ftruncate", + "sys_enter_faccessat", + "sys_exit_faccessat", + "sys_enter_faccessat2", + "sys_exit_faccessat2", + "sys_enter_access", + "sys_exit_access", + "sys_enter_chdir", + "sys_exit_chdir", + "sys_enter_fchdir", + "sys_exit_fchdir", + "sys_enter_chroot", + "sys_exit_chroot", + "sys_enter_fchmod", + "sys_exit_fchmod", + "sys_enter_fchmodat2", + "sys_exit_fchmodat2", + "sys_enter_fchmodat", + "sys_exit_fchmodat", + "sys_enter_chmod", + "sys_exit_chmod", + "sys_enter_fchownat", + "sys_exit_fchownat", + "sys_enter_chown", + "sys_exit_chown", + "sys_enter_lchown", + "sys_exit_lchown", + "sys_enter_fchown", + "sys_exit_fchown", + "sys_enter_open", + "sys_exit_open", + "sys_enter_openat", + "sys_exit_openat", + "sys_enter_openat2", + "sys_exit_openat2", + "sys_enter_creat", + "sys_exit_creat", + "sys_enter_close", + "sys_exit_close", + "sys_enter_close_range", + "sys_exit_close_range", + "sys_enter_cachestat", + "sys_exit_cachestat", +} diff --git a/internal/types/Makefile b/internal/types/Makefile new file mode 100644 index 0000000..46378d8 --- /dev/null +++ b/internal/types/Makefile @@ -0,0 +1,8 @@ +generate: generate_types + +.PHONY: generate_types +generate_types: + ( cat ../c/types.h; grep -h '^#define' ../c/generated_tracepoints.c ) \ + | raku generate_types_go.raku \ + | goimports | gofmt \ + > ./generated_types.go diff --git a/internal/types/generate_types_go.raku b/internal/types/generate_types_go.raku new file mode 100644 index 0000000..be4345e --- /dev/null +++ b/internal/types/generate_types_go.raku @@ -0,0 +1,197 @@ +#!/usr/bin/env raku +# +# This Raku program takes a list of C struct and constant definitions and converts +# it to valid Go code. + +use v6.d; +#use Grammar::Debugger; + +# Not quite C +grammar NQC { + rule TOP { * } + rule construct { | | } + rule constant { '#define' } + rule statement { ';' } + rule struct { 'struct' '{' + %% ';' '}' } + rule member { ? } + rule comment { | } + rule single-line-comment { '//' <-[\n]>+ } + rule multi-line-comment { '/*' .*? '*/' } + token arraysize { '[' ']' } + token type { 'char' | '__s32' | '__u32' | '__s64' | '__u64' } + token identifier { <[a..z A..Z 0..9 _]>+ } + token number { \d+ } +} + +class Constant { + has Str $.name is required; + has Int $.value is required; +} + +role StructGoMethods { + method struct-go-methods($/) returns Str { + my Str $self-ref = $.lc.substr(0,1); + my Str @format = $.map({ $_..made ~ ':%v' }); + + my Str @args = $.map({ + my Str $ref = "$self-ref." ~ $_..made; + # Need to convert char-arrays into a Go slice, and then convert via string(...) + ($_. eq 'char' && $_.) ?? "string({$ref}[:])" !! $ref; + }); + + qq:to/END/; + func ($self-ref {$.made}) String() string \{ + return fmt.Sprintf("{@format.join(' ')}", {@args.join(', ')}) + \} + + func ($self-ref *{$.made}) GetEventType() EventType \{ + return $self-ref.EventType + \} + + func ($self-ref *{$.made}) GetTraceId() TraceId \{ + return $self-ref.TraceId + \} + + func ($self-ref *{$.made}) GetPid() uint32 \{ + return $self-ref.Pid + \} + + func ($self-ref *{$.made}) GetTid() uint32 \{ + return $self-ref.Tid + \} + + func ($self-ref *{$.made}) GetTime() uint64 \{ + return $self-ref.Time + \} + END + } + + method struct-go-sync-pool($/) returns Str { + my Str $identifier = $/.made; + my Str $self-ref = $identifier.lc.substr(0,1); + + qq:to/END/; + var poolOf{$identifier}s = sync.Pool\{ + New: func() interface\{\} \{ return &$identifier\{\} \}, + \} + + func New{$identifier}(raw []byte) *$identifier \{ + $self-ref := poolOf{$identifier}s.Get().(*$identifier); + if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, $self-ref); err != nil \{ + fmt.Println($self-ref, raw, len(raw), err) + panic(raw) + \} + return $self-ref + \} + + func ($self-ref *$identifier) Recycle() \{ + poolOf{$identifier}s.Put($self-ref) + \} + END + } +} + +role ConstantGoMethods { + has Constant @!constants; + + method constant-go-methods returns Str { + qq:to/END/; + type EventType uint32 + type TraceId uint32 + + var traceId2String = map[TraceId]string\{ + {@!constants.grep({ $_.name ~~ /^SYS_/ }).map({ + "{$_.value}: \"{$_.name.subst('SYS_', '').lc}\"" + }).join(', ')}, + \} + + var traceId2Name = map[TraceId]string\{ + {@!constants.grep({ $_.name ~~ /^SYS_/ }).map({ + "{$_.value}: \"{$_.name.subst(/'SYS_ENTER_'|'SYS_EXIT_'/, '').lc}\"" + }).join(', ')}, + \} + + func (s TraceId) String() string \{ + str, ok := traceId2String[s] + if !ok \{ + panic(fmt.Sprintf("no string representation for trace ID %d found", s)) + \} + return str + \} + + func (s TraceId) Name() string \{ + str, ok := traceId2Name[s] + if !ok \{ + panic(fmt.Sprintf("no name for trace ID %d found", s)) + \} + return str + \} + END + } + +} + +class NQCToGoActions does StructGoMethods does ConstantGoMethods { + has Bool $!constant-type-set; + + method TOP($/) { + make qq:to/END/; + // Code generated - don't change manually! + package types + + {self.constant-go-methods} + {$.map(*.made).join('')} + END + } + + method construct($/) { + make $.made // $.made // ''; + } + + method statement($/) { + make "\n" ~ $.made; + } + + method constant($/) { + push @!constants: Constant.new(:name(~$), :value(+$)); + my $const-type = $.starts-with('SYS_') ?? ' TraceId ' !! ''; + + make qq:to/END/; + const {$}$const-type = {$} + END + } + + method struct($/) { + make qq:to/END/; + type {$.made} struct \{ + {$.map(*.made).join('; ')} + \} + + {self.struct-go-methods($/)} + {($.made.ends-with('Event') ?? "\n" ~ self.struct-go-sync-pool($/) !! '')} + END + } + + method member($/) { + my Str $type = $.made eq 'TraceId' ?? 'TraceId' !! $.made; + $type = 'EventType' if $.made eq 'EventType'; + make $.made ~ ' ' ~ ($ // '') ~ $type; + } + + method type($/) { + make do given ~$/ { + when 'char' { 'byte' } + when '__s32' { 'int32' } + when '__u32' { 'uint32' } + when '__s64' { 'int64' } + when '__u64' { 'uint64' } + } + } + + method identifier($/) { + # Convert identifier from snake_case (C) to CamelCase (Go) + make $/.Str.split('_').map(*.tc).join(''); + } +} + +say NQC.parse($*IN.slurp, actions => NQCToGoActions.new).made; diff --git a/internal/types/generated_types.go b/internal/types/generated_types.go new file mode 100644 index 0000000..bc202ed --- /dev/null +++ b/internal/types/generated_types.go @@ -0,0 +1,502 @@ +// Code generated - don't change manually! +package types + +import ( + "bytes" + "encoding/binary" + "fmt" + "sync" +) + +type EventType uint32 +type TraceId uint32 + +var traceId2String = map[TraceId]string{ + 1485: "enter_io_uring_register", 1484: "exit_io_uring_register", 1466: "enter_io_uring_enter", 1465: "exit_io_uring_enter", 1127: "enter_quotactl_fd", 1126: "exit_quotactl_fd", 1096: "enter_flock", 1095: "exit_flock", 1038: "enter_fanotify_mark", 1037: "exit_fanotify_mark", 1032: "enter_inotify_add_watch", 1031: "exit_inotify_add_watch", 1022: "enter_statfs", 1021: "exit_statfs", 1020: "enter_fstatfs", 1019: "exit_fstatfs", 1014: "enter_utimensat", 1013: "exit_utimensat", 1012: "enter_futimesat", 1011: "exit_futimesat", 1002: "enter_fsync", 1001: "exit_fsync", 1000: "enter_fdatasync", 999: "exit_fdatasync", 958: "enter_setxattr", 957: "exit_setxattr", 956: "enter_lsetxattr", 955: "exit_lsetxattr", 952: "enter_getxattr", 951: "exit_getxattr", 950: "enter_lgetxattr", 949: "exit_lgetxattr", 946: "enter_listxattr", 945: "exit_listxattr", 944: "enter_llistxattr", 943: "exit_llistxattr", 940: "enter_removexattr", 939: "exit_removexattr", 938: "enter_lremovexattr", 937: "exit_lremovexattr", 932: "enter_open_tree", 931: "exit_open_tree", 900: "enter_getdents", 899: "exit_getdents", 898: "enter_getdents64", 897: "exit_getdents64", 896: "enter_ioctl", 895: "exit_ioctl", 894: "enter_fcntl", 893: "exit_fcntl", 892: "enter_mknodat", 891: "exit_mknodat", 890: "enter_mknod", 889: "exit_mknod", 888: "enter_mkdirat", 887: "exit_mkdirat", 886: "enter_mkdir", 885: "exit_mkdir", 884: "enter_rmdir", 883: "exit_rmdir", 882: "enter_unlinkat", 881: "exit_unlinkat", 880: "enter_unlink", 879: "exit_unlink", 878: "enter_symlinkat", 877: "exit_symlinkat", 876: "enter_symlink", 875: "exit_symlink", 874: "enter_linkat", 873: "exit_linkat", 872: "enter_link", 871: "exit_link", 870: "enter_renameat2", 869: "exit_renameat2", 868: "enter_renameat", 867: "exit_renameat", 866: "enter_rename", 865: "exit_rename", 860: "enter_execve", 859: "exit_execve", 858: "enter_execveat", 857: "exit_execveat", 856: "enter_newstat", 855: "exit_newstat", 854: "enter_newlstat", 853: "exit_newlstat", 852: "enter_newfstatat", 851: "exit_newfstatat", 850: "enter_newfstat", 849: "exit_newfstat", 848: "enter_readlinkat", 847: "exit_readlinkat", 844: "enter_statx", 843: "exit_statx", 842: "enter_lseek", 841: "exit_lseek", 840: "enter_read", 839: "exit_read", 838: "enter_write", 837: "exit_write", 836: "enter_pread64", 835: "exit_pread64", 834: "enter_pwrite64", 833: "exit_pwrite64", 814: "enter_ftruncate", 813: "exit_ftruncate", 810: "enter_faccessat", 809: "exit_faccessat", 808: "enter_faccessat2", 807: "exit_faccessat2", 806: "enter_access", 805: "exit_access", 804: "enter_chdir", 803: "exit_chdir", 802: "enter_fchdir", 801: "exit_fchdir", 800: "enter_chroot", 799: "exit_chroot", 798: "enter_fchmod", 797: "exit_fchmod", 796: "enter_fchmodat2", 795: "exit_fchmodat2", 794: "enter_fchmodat", 793: "exit_fchmodat", 792: "enter_chmod", 791: "exit_chmod", 790: "enter_fchownat", 789: "exit_fchownat", 788: "enter_chown", 787: "exit_chown", 786: "enter_lchown", 785: "exit_lchown", 784: "enter_fchown", 783: "exit_fchown", 782: "enter_open", 781: "exit_open", 780: "enter_openat", 779: "exit_openat", 778: "enter_openat2", 777: "exit_openat2", 776: "enter_creat", 775: "exit_creat", 774: "enter_close", 773: "exit_close", 772: "enter_close_range", 771: "exit_close_range", 592: "enter_cachestat", 591: "exit_cachestat", +} + +var traceId2Name = map[TraceId]string{ + 1485: "io_uring_register", 1484: "io_uring_register", 1466: "io_uring_enter", 1465: "io_uring_enter", 1127: "quotactl_fd", 1126: "quotactl_fd", 1096: "flock", 1095: "flock", 1038: "fanotify_mark", 1037: "fanotify_mark", 1032: "inotify_add_watch", 1031: "inotify_add_watch", 1022: "statfs", 1021: "statfs", 1020: "fstatfs", 1019: "fstatfs", 1014: "utimensat", 1013: "utimensat", 1012: "futimesat", 1011: "futimesat", 1002: "fsync", 1001: "fsync", 1000: "fdatasync", 999: "fdatasync", 958: "setxattr", 957: "setxattr", 956: "lsetxattr", 955: "lsetxattr", 952: "getxattr", 951: "getxattr", 950: "lgetxattr", 949: "lgetxattr", 946: "listxattr", 945: "listxattr", 944: "llistxattr", 943: "llistxattr", 940: "removexattr", 939: "removexattr", 938: "lremovexattr", 937: "lremovexattr", 932: "open_tree", 931: "open_tree", 900: "getdents", 899: "getdents", 898: "getdents64", 897: "getdents64", 896: "ioctl", 895: "ioctl", 894: "fcntl", 893: "fcntl", 892: "mknodat", 891: "mknodat", 890: "mknod", 889: "mknod", 888: "mkdirat", 887: "mkdirat", 886: "mkdir", 885: "mkdir", 884: "rmdir", 883: "rmdir", 882: "unlinkat", 881: "unlinkat", 880: "unlink", 879: "unlink", 878: "symlinkat", 877: "symlinkat", 876: "symlink", 875: "symlink", 874: "linkat", 873: "linkat", 872: "link", 871: "link", 870: "renameat2", 869: "renameat2", 868: "renameat", 867: "renameat", 866: "rename", 865: "rename", 860: "execve", 859: "execve", 858: "execveat", 857: "execveat", 856: "newstat", 855: "newstat", 854: "newlstat", 853: "newlstat", 852: "newfstatat", 851: "newfstatat", 850: "newfstat", 849: "newfstat", 848: "readlinkat", 847: "readlinkat", 844: "statx", 843: "statx", 842: "lseek", 841: "lseek", 840: "read", 839: "read", 838: "write", 837: "write", 836: "pread64", 835: "pread64", 834: "pwrite64", 833: "pwrite64", 814: "ftruncate", 813: "ftruncate", 810: "faccessat", 809: "faccessat", 808: "faccessat2", 807: "faccessat2", 806: "access", 805: "access", 804: "chdir", 803: "chdir", 802: "fchdir", 801: "fchdir", 800: "chroot", 799: "chroot", 798: "fchmod", 797: "fchmod", 796: "fchmodat2", 795: "fchmodat2", 794: "fchmodat", 793: "fchmodat", 792: "chmod", 791: "chmod", 790: "fchownat", 789: "fchownat", 788: "chown", 787: "chown", 786: "lchown", 785: "lchown", 784: "fchown", 783: "fchown", 782: "open", 781: "open", 780: "openat", 779: "openat", 778: "openat2", 777: "openat2", 776: "creat", 775: "creat", 774: "close", 773: "close", 772: "close_range", 771: "close_range", 592: "cachestat", 591: "cachestat", +} + +func (s TraceId) String() string { + str, ok := traceId2String[s] + if !ok { + panic(fmt.Sprintf("no string representation for trace ID %d found", s)) + } + return str +} + +func (s TraceId) Name() string { + str, ok := traceId2Name[s] + if !ok { + panic(fmt.Sprintf("no name for trace ID %d found", s)) + } + return str +} + +const MAX_FILENAME_LENGTH = 256 +const MAX_PROGNAME_LENGTH = 16 +const ENTER_OPEN_EVENT = 1 +const EXIT_OPEN_EVENT = 2 +const ENTER_NULL_EVENT = 3 +const EXIT_NULL_EVENT = 4 +const ENTER_FD_EVENT = 5 +const EXIT_FD_EVENT = 6 +const ENTER_RET_EVENT = 7 +const EXIT_RET_EVENT = 8 +const ENTER_NAME_EVENT = 9 +const EXIT_NAME_EVENT = 10 +const ENTER_PATH_EVENT = 11 +const EXIT_PATH_EVENT = 12 + +type OpenEvent struct { + EventType EventType + TraceId TraceId + Time uint64 + Pid uint32 + Tid uint32 + Flags int32 + Filename [MAX_FILENAME_LENGTH]byte + Comm [MAX_PROGNAME_LENGTH]byte +} + +func (o OpenEvent) String() string { + return fmt.Sprintf("EventType:%v TraceId:%v Time:%v Pid:%v Tid:%v Flags:%v Filename:%v Comm:%v", o.EventType, o.TraceId, o.Time, o.Pid, o.Tid, o.Flags, string(o.Filename[:]), string(o.Comm[:])) +} + +func (o *OpenEvent) GetEventType() EventType { + return o.EventType +} + +func (o *OpenEvent) GetTraceId() TraceId { + return o.TraceId +} + +func (o *OpenEvent) GetPid() uint32 { + return o.Pid +} + +func (o *OpenEvent) GetTid() uint32 { + return o.Tid +} + +func (o *OpenEvent) GetTime() uint64 { + return o.Time +} + +var poolOfOpenEvents = sync.Pool{ + New: func() interface{} { return &OpenEvent{} }, +} + +func NewOpenEvent(raw []byte) *OpenEvent { + o := poolOfOpenEvents.Get().(*OpenEvent) + if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, o); err != nil { + fmt.Println(o, raw, len(raw), err) + panic(raw) + } + return o +} + +func (o *OpenEvent) Recycle() { + poolOfOpenEvents.Put(o) +} + +type NullEvent struct { + EventType EventType + TraceId TraceId + Time uint64 + Pid uint32 + Tid uint32 +} + +func (n NullEvent) String() string { + return fmt.Sprintf("EventType:%v TraceId:%v Time:%v Pid:%v Tid:%v", n.EventType, n.TraceId, n.Time, n.Pid, n.Tid) +} + +func (n *NullEvent) GetEventType() EventType { + return n.EventType +} + +func (n *NullEvent) GetTraceId() TraceId { + return n.TraceId +} + +func (n *NullEvent) GetPid() uint32 { + return n.Pid +} + +func (n *NullEvent) GetTid() uint32 { + return n.Tid +} + +func (n *NullEvent) GetTime() uint64 { + return n.Time +} + +var poolOfNullEvents = sync.Pool{ + New: func() interface{} { return &NullEvent{} }, +} + +func NewNullEvent(raw []byte) *NullEvent { + n := poolOfNullEvents.Get().(*NullEvent) + if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, n); err != nil { + fmt.Println(n, raw, len(raw), err) + panic(raw) + } + return n +} + +func (n *NullEvent) Recycle() { + poolOfNullEvents.Put(n) +} + +type FdEvent struct { + EventType EventType + TraceId TraceId + Time uint64 + Pid uint32 + Tid uint32 + Fd int32 +} + +func (f FdEvent) String() string { + return fmt.Sprintf("EventType:%v TraceId:%v Time:%v Pid:%v Tid:%v Fd:%v", f.EventType, f.TraceId, f.Time, f.Pid, f.Tid, f.Fd) +} + +func (f *FdEvent) GetEventType() EventType { + return f.EventType +} + +func (f *FdEvent) GetTraceId() TraceId { + return f.TraceId +} + +func (f *FdEvent) GetPid() uint32 { + return f.Pid +} + +func (f *FdEvent) GetTid() uint32 { + return f.Tid +} + +func (f *FdEvent) GetTime() uint64 { + return f.Time +} + +var poolOfFdEvents = sync.Pool{ + New: func() interface{} { return &FdEvent{} }, +} + +func NewFdEvent(raw []byte) *FdEvent { + f := poolOfFdEvents.Get().(*FdEvent) + if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, f); err != nil { + fmt.Println(f, raw, len(raw), err) + panic(raw) + } + return f +} + +func (f *FdEvent) Recycle() { + poolOfFdEvents.Put(f) +} + +type RetEvent struct { + EventType EventType + TraceId TraceId + Time uint64 + Ret int64 + Pid uint32 + Tid uint32 +} + +func (r RetEvent) String() string { + return fmt.Sprintf("EventType:%v TraceId:%v Time:%v Ret:%v Pid:%v Tid:%v", r.EventType, r.TraceId, r.Time, r.Ret, r.Pid, r.Tid) +} + +func (r *RetEvent) GetEventType() EventType { + return r.EventType +} + +func (r *RetEvent) GetTraceId() TraceId { + return r.TraceId +} + +func (r *RetEvent) GetPid() uint32 { + return r.Pid +} + +func (r *RetEvent) GetTid() uint32 { + return r.Tid +} + +func (r *RetEvent) GetTime() uint64 { + return r.Time +} + +var poolOfRetEvents = sync.Pool{ + New: func() interface{} { return &RetEvent{} }, +} + +func NewRetEvent(raw []byte) *RetEvent { + r := poolOfRetEvents.Get().(*RetEvent) + if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, r); err != nil { + fmt.Println(r, raw, len(raw), err) + panic(raw) + } + return r +} + +func (r *RetEvent) Recycle() { + poolOfRetEvents.Put(r) +} + +type NameEvent struct { + EventType EventType + TraceId TraceId + Time uint64 + Pid uint32 + Tid uint32 + Oldname [MAX_FILENAME_LENGTH]byte + Newname [MAX_FILENAME_LENGTH]byte +} + +func (n NameEvent) String() string { + return fmt.Sprintf("EventType:%v TraceId:%v Time:%v Pid:%v Tid:%v Oldname:%v Newname:%v", n.EventType, n.TraceId, n.Time, n.Pid, n.Tid, string(n.Oldname[:]), string(n.Newname[:])) +} + +func (n *NameEvent) GetEventType() EventType { + return n.EventType +} + +func (n *NameEvent) GetTraceId() TraceId { + return n.TraceId +} + +func (n *NameEvent) GetPid() uint32 { + return n.Pid +} + +func (n *NameEvent) GetTid() uint32 { + return n.Tid +} + +func (n *NameEvent) GetTime() uint64 { + return n.Time +} + +var poolOfNameEvents = sync.Pool{ + New: func() interface{} { return &NameEvent{} }, +} + +func NewNameEvent(raw []byte) *NameEvent { + n := poolOfNameEvents.Get().(*NameEvent) + if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, n); err != nil { + fmt.Println(n, raw, len(raw), err) + panic(raw) + } + return n +} + +func (n *NameEvent) Recycle() { + poolOfNameEvents.Put(n) +} + +type PathEvent struct { + EventType EventType + TraceId TraceId + Time uint64 + Pid uint32 + Tid uint32 + Pathname [MAX_FILENAME_LENGTH]byte +} + +func (p PathEvent) String() string { + return fmt.Sprintf("EventType:%v TraceId:%v Time:%v Pid:%v Tid:%v Pathname:%v", p.EventType, p.TraceId, p.Time, p.Pid, p.Tid, string(p.Pathname[:])) +} + +func (p *PathEvent) GetEventType() EventType { + return p.EventType +} + +func (p *PathEvent) GetTraceId() TraceId { + return p.TraceId +} + +func (p *PathEvent) GetPid() uint32 { + return p.Pid +} + +func (p *PathEvent) GetTid() uint32 { + return p.Tid +} + +func (p *PathEvent) GetTime() uint64 { + return p.Time +} + +var poolOfPathEvents = sync.Pool{ + New: func() interface{} { return &PathEvent{} }, +} + +func NewPathEvent(raw []byte) *PathEvent { + p := poolOfPathEvents.Get().(*PathEvent) + if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, p); err != nil { + fmt.Println(p, raw, len(raw), err) + panic(raw) + } + return p +} + +func (p *PathEvent) Recycle() { + poolOfPathEvents.Put(p) +} + +const SYS_ENTER_IO_URING_REGISTER TraceId = 1485 +const SYS_EXIT_IO_URING_REGISTER TraceId = 1484 +const SYS_ENTER_IO_URING_ENTER TraceId = 1466 +const SYS_EXIT_IO_URING_ENTER TraceId = 1465 +const SYS_ENTER_QUOTACTL_FD TraceId = 1127 +const SYS_EXIT_QUOTACTL_FD TraceId = 1126 +const SYS_ENTER_FLOCK TraceId = 1096 +const SYS_EXIT_FLOCK TraceId = 1095 +const SYS_ENTER_FANOTIFY_MARK TraceId = 1038 +const SYS_EXIT_FANOTIFY_MARK TraceId = 1037 +const SYS_ENTER_INOTIFY_ADD_WATCH TraceId = 1032 +const SYS_EXIT_INOTIFY_ADD_WATCH TraceId = 1031 +const SYS_ENTER_STATFS TraceId = 1022 +const SYS_EXIT_STATFS TraceId = 1021 +const SYS_ENTER_FSTATFS TraceId = 1020 +const SYS_EXIT_FSTATFS TraceId = 1019 +const SYS_ENTER_UTIMENSAT TraceId = 1014 +const SYS_EXIT_UTIMENSAT TraceId = 1013 +const SYS_ENTER_FUTIMESAT TraceId = 1012 +const SYS_EXIT_FUTIMESAT TraceId = 1011 +const SYS_ENTER_FSYNC TraceId = 1002 +const SYS_EXIT_FSYNC TraceId = 1001 +const SYS_ENTER_FDATASYNC TraceId = 1000 +const SYS_EXIT_FDATASYNC TraceId = 999 +const SYS_ENTER_SETXATTR TraceId = 958 +const SYS_EXIT_SETXATTR TraceId = 957 +const SYS_ENTER_LSETXATTR TraceId = 956 +const SYS_EXIT_LSETXATTR TraceId = 955 +const SYS_ENTER_GETXATTR TraceId = 952 +const SYS_EXIT_GETXATTR TraceId = 951 +const SYS_ENTER_LGETXATTR TraceId = 950 +const SYS_EXIT_LGETXATTR TraceId = 949 +const SYS_ENTER_LISTXATTR TraceId = 946 +const SYS_EXIT_LISTXATTR TraceId = 945 +const SYS_ENTER_LLISTXATTR TraceId = 944 +const SYS_EXIT_LLISTXATTR TraceId = 943 +const SYS_ENTER_REMOVEXATTR TraceId = 940 +const SYS_EXIT_REMOVEXATTR TraceId = 939 +const SYS_ENTER_LREMOVEXATTR TraceId = 938 +const SYS_EXIT_LREMOVEXATTR TraceId = 937 +const SYS_ENTER_OPEN_TREE TraceId = 932 +const SYS_EXIT_OPEN_TREE TraceId = 931 +const SYS_ENTER_GETDENTS TraceId = 900 +const SYS_EXIT_GETDENTS TraceId = 899 +const SYS_ENTER_GETDENTS64 TraceId = 898 +const SYS_EXIT_GETDENTS64 TraceId = 897 +const SYS_ENTER_IOCTL TraceId = 896 +const SYS_EXIT_IOCTL TraceId = 895 +const SYS_ENTER_FCNTL TraceId = 894 +const SYS_EXIT_FCNTL TraceId = 893 +const SYS_ENTER_MKNODAT TraceId = 892 +const SYS_EXIT_MKNODAT TraceId = 891 +const SYS_ENTER_MKNOD TraceId = 890 +const SYS_EXIT_MKNOD TraceId = 889 +const SYS_ENTER_MKDIRAT TraceId = 888 +const SYS_EXIT_MKDIRAT TraceId = 887 +const SYS_ENTER_MKDIR TraceId = 886 +const SYS_EXIT_MKDIR TraceId = 885 +const SYS_ENTER_RMDIR TraceId = 884 +const SYS_EXIT_RMDIR TraceId = 883 +const SYS_ENTER_UNLINKAT TraceId = 882 +const SYS_EXIT_UNLINKAT TraceId = 881 +const SYS_ENTER_UNLINK TraceId = 880 +const SYS_EXIT_UNLINK TraceId = 879 +const SYS_ENTER_SYMLINKAT TraceId = 878 +const SYS_EXIT_SYMLINKAT TraceId = 877 +const SYS_ENTER_SYMLINK TraceId = 876 +const SYS_EXIT_SYMLINK TraceId = 875 +const SYS_ENTER_LINKAT TraceId = 874 +const SYS_EXIT_LINKAT TraceId = 873 +const SYS_ENTER_LINK TraceId = 872 +const SYS_EXIT_LINK TraceId = 871 +const SYS_ENTER_RENAMEAT2 TraceId = 870 +const SYS_EXIT_RENAMEAT2 TraceId = 869 +const SYS_ENTER_RENAMEAT TraceId = 868 +const SYS_EXIT_RENAMEAT TraceId = 867 +const SYS_ENTER_RENAME TraceId = 866 +const SYS_EXIT_RENAME TraceId = 865 +const SYS_ENTER_EXECVE TraceId = 860 +const SYS_EXIT_EXECVE TraceId = 859 +const SYS_ENTER_EXECVEAT TraceId = 858 +const SYS_EXIT_EXECVEAT TraceId = 857 +const SYS_ENTER_NEWSTAT TraceId = 856 +const SYS_EXIT_NEWSTAT TraceId = 855 +const SYS_ENTER_NEWLSTAT TraceId = 854 +const SYS_EXIT_NEWLSTAT TraceId = 853 +const SYS_ENTER_NEWFSTATAT TraceId = 852 +const SYS_EXIT_NEWFSTATAT TraceId = 851 +const SYS_ENTER_NEWFSTAT TraceId = 850 +const SYS_EXIT_NEWFSTAT TraceId = 849 +const SYS_ENTER_READLINKAT TraceId = 848 +const SYS_EXIT_READLINKAT TraceId = 847 +const SYS_ENTER_STATX TraceId = 844 +const SYS_EXIT_STATX TraceId = 843 +const SYS_ENTER_LSEEK TraceId = 842 +const SYS_EXIT_LSEEK TraceId = 841 +const SYS_ENTER_READ TraceId = 840 +const SYS_EXIT_READ TraceId = 839 +const SYS_ENTER_WRITE TraceId = 838 +const SYS_EXIT_WRITE TraceId = 837 +const SYS_ENTER_PREAD64 TraceId = 836 +const SYS_EXIT_PREAD64 TraceId = 835 +const SYS_ENTER_PWRITE64 TraceId = 834 +const SYS_EXIT_PWRITE64 TraceId = 833 +const SYS_ENTER_FTRUNCATE TraceId = 814 +const SYS_EXIT_FTRUNCATE TraceId = 813 +const SYS_ENTER_FACCESSAT TraceId = 810 +const SYS_EXIT_FACCESSAT TraceId = 809 +const SYS_ENTER_FACCESSAT2 TraceId = 808 +const SYS_EXIT_FACCESSAT2 TraceId = 807 +const SYS_ENTER_ACCESS TraceId = 806 +const SYS_EXIT_ACCESS TraceId = 805 +const SYS_ENTER_CHDIR TraceId = 804 +const SYS_EXIT_CHDIR TraceId = 803 +const SYS_ENTER_FCHDIR TraceId = 802 +const SYS_EXIT_FCHDIR TraceId = 801 +const SYS_ENTER_CHROOT TraceId = 800 +const SYS_EXIT_CHROOT TraceId = 799 +const SYS_ENTER_FCHMOD TraceId = 798 +const SYS_EXIT_FCHMOD TraceId = 797 +const SYS_ENTER_FCHMODAT2 TraceId = 796 +const SYS_EXIT_FCHMODAT2 TraceId = 795 +const SYS_ENTER_FCHMODAT TraceId = 794 +const SYS_EXIT_FCHMODAT TraceId = 793 +const SYS_ENTER_CHMOD TraceId = 792 +const SYS_EXIT_CHMOD TraceId = 791 +const SYS_ENTER_FCHOWNAT TraceId = 790 +const SYS_EXIT_FCHOWNAT TraceId = 789 +const SYS_ENTER_CHOWN TraceId = 788 +const SYS_EXIT_CHOWN TraceId = 787 +const SYS_ENTER_LCHOWN TraceId = 786 +const SYS_EXIT_LCHOWN TraceId = 785 +const SYS_ENTER_FCHOWN TraceId = 784 +const SYS_EXIT_FCHOWN TraceId = 783 +const SYS_ENTER_OPEN TraceId = 782 +const SYS_EXIT_OPEN TraceId = 781 +const SYS_ENTER_OPENAT TraceId = 780 +const SYS_EXIT_OPENAT TraceId = 779 +const SYS_ENTER_OPENAT2 TraceId = 778 +const SYS_EXIT_OPENAT2 TraceId = 777 +const SYS_ENTER_CREAT TraceId = 776 +const SYS_EXIT_CREAT TraceId = 775 +const SYS_ENTER_CLOSE TraceId = 774 +const SYS_EXIT_CLOSE TraceId = 773 +const SYS_ENTER_CLOSE_RANGE TraceId = 772 +const SYS_EXIT_CLOSE_RANGE TraceId = 771 +const SYS_ENTER_CACHESTAT TraceId = 592 +const SYS_EXIT_CACHESTAT TraceId = 591 -- cgit v1.2.3