diff options
| author | Paul Buetow <paul@buetow.org> | 2024-02-27 09:52:36 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-02-27 09:52:36 +0200 |
| commit | 2745f74f3db314a94ae181fb53963bf853db3833 (patch) | |
| tree | 143cf8557089835906e3d899c8b18fcb00023cac /internal/generated | |
| parent | d8441fff4bbf2739cc0e6c046035bf176158954a (diff) | |
use generated tracepoints.c
Diffstat (limited to 'internal/generated')
| -rw-r--r-- | internal/generated/Makefile | 4 | ||||
| -rw-r--r-- | internal/generated/nqc.raku | 16 | ||||
| -rw-r--r-- | internal/generated/tracepoints.raku | 2 | ||||
| -rw-r--r-- | internal/generated/tracepoints/tracepoints.go | 54 | ||||
| -rw-r--r-- | internal/generated/types/types.go | 257 |
5 files changed, 260 insertions, 73 deletions
diff --git a/internal/generated/Makefile b/internal/generated/Makefile index 32911d2..b132bb3 100644 --- a/internal/generated/Makefile +++ b/internal/generated/Makefile @@ -4,14 +4,14 @@ generate: tracepoints types .PHONY: tracepoints tracepoints: - cat ../c/tracepoints/*.c \ + cat ../c/*/*.c \ | raku tracepoints.raku \ | goimports | gofmt \ | tee tracepoints/tracepoints.go .PHONY: types types: - cat ../c/types.h \ + ( cat ../c/types.h; grep -h '^#define' ../c/*/*.c ) \ | raku nqc.raku \ | goimports | gofmt \ | tee types/types.go diff --git a/internal/generated/nqc.raku b/internal/generated/nqc.raku index e5ea4e1..e237b3f 100644 --- a/internal/generated/nqc.raku +++ b/internal/generated/nqc.raku @@ -44,7 +44,7 @@ class NQCToGoActions { method constant($/) { push @!const-names: ~$<identifier>; - my $const-type = $<identifier>.ends-with('_OP_ID') ?? ' OpId' !! ''; + my $const-type = $<identifier>.starts-with('SYS_') ?? ' SyscallId ' !! ''; make qq:to/END/; const {$<identifier>}$const-type = {$<number>} @@ -53,14 +53,14 @@ class NQCToGoActions { method !constant-go-string-method returns Str { qq:to/END/; - type OpId uint32 + type SyscallId uint32 - func (o OpId) String() string \{ - switch (o) \{ - {@!const-names.grep(/_OP_ID$/).map({ - "case $_: return \"{$_.subst('_OP_ID', '').lc}\"" + func (s SyscallId) String() string \{ + switch (s) \{ + {@!const-names.grep(/^SYS_/).map({ + "case $_: return \"{$_.subst('SYS_', '').lc}\"" }).join('; ')} - default: panic(fmt.Sprintf("Unknown OpId: %d", o)) + default: panic(fmt.Sprintf("Unknown SyscallId: %d", s)) \} \} END @@ -120,7 +120,7 @@ class NQCToGoActions { } method member($/) { - my Str $type = $<identifier>.made eq 'OpId' ?? 'OpId' !! $<type>.made; + my Str $type = $<identifier>.made eq 'SyscallId' ?? 'SyscallId' !! $<type>.made; make $<identifier>.made ~ ' ' ~ ($<arraysize> // '') ~ $type; } diff --git a/internal/generated/tracepoints.raku b/internal/generated/tracepoints.raku index e5cb29a..0afdd7f 100644 --- a/internal/generated/tracepoints.raku +++ b/internal/generated/tracepoints.raku @@ -11,6 +11,6 @@ say qq:to/END/; package tracepoints var List = []string\{ - t{@tracepoints.map({ "\"$_\"," }).join("\n\t") } + {@tracepoints.map({ "\"$_\"," }).join("\n\t") } \} END diff --git a/internal/generated/tracepoints/tracepoints.go b/internal/generated/tracepoints/tracepoints.go index cfd1fd3..b0ce16d 100644 --- a/internal/generated/tracepoints/tracepoints.go +++ b/internal/generated/tracepoints/tracepoints.go @@ -2,14 +2,62 @@ package tracepoints var List = []string{ - "enter_close", + "exit_cachestat", + "enter_cachestat", + "exit_close_range", + "enter_close_range", "exit_close", + "enter_close", + "exit_fchown", + "enter_fchown", + "exit_fchmod", + "enter_fchmod", + "exit_fchdir", + "enter_fchdir", + "exit_ftruncate", + "enter_ftruncate", + "exit_copy_file_range", + "enter_copy_file_range", + "exit_pwrite", + "enter_pwrite", + "exit_pread", + "enter_pread", + "exit_write", + "enter_write", + "exit_read", + "enter_read", + "exit_lseek", + "enter_lseek", + "exit_newfstat", + "enter_newfstat", + "exit_fcntl", + "enter_fcntl", + "exit_ioctl", + "enter_ioctl", + "exit_getdents", + "enter_getdents", + "exit_getdents", + "enter_getdents", + "exit_sync_file_range", + "enter_sync_file_range", + "exit_fdatasync", + "enter_fdatasync", + "exit_fsync", + "enter_fsync", + "exit_fstatfs", + "enter_fstatfs", + "exit_flock", + "enter_flock", + "exit_quotactl_fd", + "enter_quotactl_fd", + "exit_io_uring_register", + "enter_io_uring_register", + "exit_io_uring_enter", + "enter_io_uring_enter", "enter_openat", "exit_openat", "enter_open", "exit_open", "enter_write", "exit_write", - "enter_write", - "exit_write", } diff --git a/internal/generated/types/types.go b/internal/generated/types/types.go index 6fed235..c87d276 100644 --- a/internal/generated/types/types.go +++ b/internal/generated/types/types.go @@ -8,57 +8,139 @@ import ( "sync" ) -type OpId uint32 - -func (o OpId) String() string { - switch o { - case OPENAT_ENTER_OP_ID: - return "openat_enter" - case OPENAT_EXIT_OP_ID: - return "openat_exit" - case OPEN_ENTER_OP_ID: - return "open_enter" - case OPEN_EXIT_OP_ID: - return "open_exit" - case CLOSE_ENTER_OP_ID: - return "close_enter" - case CLOSE_EXIT_OP_ID: - return "close_exit" - case WRITE_ENTER_OP_ID: - return "write_enter" - case WRITE_EXIT_OP_ID: - return "write_exit" - case WRITEV_ENTER_OP_ID: - return "writev_enter" - case WRITEV_EXIT_OP_ID: - return "writev_exit" +type SyscallId uint32 + +func (s SyscallId) String() string { + switch s { + case SYS_EXIT_CACHESTAT: + return "exit_cachestat" + case SYS_ENTER_CACHESTAT: + return "enter_cachestat" + case SYS_EXIT_CLOSE_RANGE: + return "exit_close_range" + case SYS_ENTER_CLOSE_RANGE: + return "enter_close_range" + case SYS_EXIT_CLOSE: + return "exit_close" + case SYS_ENTER_CLOSE: + return "enter_close" + case SYS_EXIT_FCHOWN: + return "exit_fchown" + case SYS_ENTER_FCHOWN: + return "enter_fchown" + case SYS_EXIT_FCHMOD: + return "exit_fchmod" + case SYS_ENTER_FCHMOD: + return "enter_fchmod" + case SYS_EXIT_FCHDIR: + return "exit_fchdir" + case SYS_ENTER_FCHDIR: + return "enter_fchdir" + case SYS_EXIT_FTRUNCATE: + return "exit_ftruncate" + case SYS_ENTER_FTRUNCATE: + return "enter_ftruncate" + case SYS_EXIT_COPY_FILE_RANGE: + return "exit_copy_file_range" + case SYS_ENTER_COPY_FILE_RANGE: + return "enter_copy_file_range" + case SYS_EXIT_PWRITE64: + return "exit_pwrite64" + case SYS_ENTER_PWRITE64: + return "enter_pwrite64" + case SYS_EXIT_PREAD64: + return "exit_pread64" + case SYS_ENTER_PREAD64: + return "enter_pread64" + case SYS_EXIT_WRITE: + return "exit_write" + case SYS_ENTER_WRITE: + return "enter_write" + case SYS_EXIT_READ: + return "exit_read" + case SYS_ENTER_READ: + return "enter_read" + case SYS_EXIT_LSEEK: + return "exit_lseek" + case SYS_ENTER_LSEEK: + return "enter_lseek" + case SYS_EXIT_NEWFSTAT: + return "exit_newfstat" + case SYS_ENTER_NEWFSTAT: + return "enter_newfstat" + case SYS_EXIT_FCNTL: + return "exit_fcntl" + case SYS_ENTER_FCNTL: + return "enter_fcntl" + case SYS_EXIT_IOCTL: + return "exit_ioctl" + case SYS_ENTER_IOCTL: + return "enter_ioctl" + case SYS_EXIT_GETDENTS64: + return "exit_getdents64" + case SYS_ENTER_GETDENTS64: + return "enter_getdents64" + case SYS_EXIT_GETDENTS: + return "exit_getdents" + case SYS_ENTER_GETDENTS: + return "enter_getdents" + case SYS_EXIT_SYNC_FILE_RANGE: + return "exit_sync_file_range" + case SYS_ENTER_SYNC_FILE_RANGE: + return "enter_sync_file_range" + case SYS_EXIT_FDATASYNC: + return "exit_fdatasync" + case SYS_ENTER_FDATASYNC: + return "enter_fdatasync" + case SYS_EXIT_FSYNC: + return "exit_fsync" + case SYS_ENTER_FSYNC: + return "enter_fsync" + case SYS_EXIT_FSTATFS: + return "exit_fstatfs" + case SYS_ENTER_FSTATFS: + return "enter_fstatfs" + case SYS_EXIT_FLOCK: + return "exit_flock" + case SYS_ENTER_FLOCK: + return "enter_flock" + case SYS_EXIT_QUOTACTL_FD: + return "exit_quotactl_fd" + case SYS_ENTER_QUOTACTL_FD: + return "enter_quotactl_fd" + case SYS_EXIT_IO_URING_REGISTER: + return "exit_io_uring_register" + case SYS_ENTER_IO_URING_REGISTER: + return "enter_io_uring_register" + case SYS_EXIT_IO_URING_ENTER: + return "exit_io_uring_enter" + case SYS_ENTER_IO_URING_ENTER: + return "enter_io_uring_enter" + case SYS_ENTER_OPEN: + return "enter_open" + case SYS_EXIT_OPEN: + return "exit_open" + case SYS_ENTER_OPENAT: + return "enter_openat" + case SYS_EXIT_OPENAT: + return "exit_openat" default: - panic(fmt.Sprintf("Unknown OpId: %d", o)) + panic(fmt.Sprintf("Unknown SyscallId: %d", s)) } } const MAX_FILENAME_LENGTH = 256 const MAX_PROGNAME_LENGTH = 16 -const OPENAT_ENTER_OP_ID OpId = 1 -const OPENAT_EXIT_OP_ID OpId = 2 -const OPEN_ENTER_OP_ID OpId = 3 -const OPEN_EXIT_OP_ID OpId = 4 -const CLOSE_ENTER_OP_ID OpId = 5 -const CLOSE_EXIT_OP_ID OpId = 6 -const WRITE_ENTER_OP_ID OpId = 7 -const WRITE_EXIT_OP_ID OpId = 8 -const WRITEV_ENTER_OP_ID OpId = 9 -const WRITEV_EXIT_OP_ID OpId = 10 type NullEvent struct { - OpId OpId - Pid uint32 - Tid uint32 - Time uint32 + SyscallId SyscallId + Pid uint32 + Tid uint32 + Time uint32 } func (n NullEvent) String() string { - return fmt.Sprintf("OpId:%v Pid:%v Tid:%v Time:%v", n.OpId, n.Pid, n.Tid, n.Time) + return fmt.Sprintf("SyscallId:%v Pid:%v Tid:%v Time:%v", n.SyscallId, n.Pid, n.Tid, n.Time) } var poolOfNullEvents = sync.Pool{ @@ -79,15 +161,15 @@ func (n *NullEvent) Recycle() { } type FdEvent struct { - OpId OpId - Pid uint32 - Tid uint32 - Time uint32 - Fd int32 + SyscallId SyscallId + Pid uint32 + Tid uint32 + Time uint32 + Fd int32 } func (f FdEvent) String() string { - return fmt.Sprintf("OpId:%v Pid:%v Tid:%v Time:%v Fd:%v", f.OpId, f.Pid, f.Tid, f.Time, f.Fd) + return fmt.Sprintf("SyscallId:%v Pid:%v Tid:%v Time:%v Fd:%v", f.SyscallId, f.Pid, f.Tid, f.Time, f.Fd) } var poolOfFdEvents = sync.Pool{ @@ -108,15 +190,15 @@ func (f *FdEvent) Recycle() { } type RwEvent struct { - OpId OpId - Pid uint32 - Tid uint32 - Time uint32 - Size uint64 + SyscallId SyscallId + Pid uint32 + Tid uint32 + Time uint32 + Size uint64 } func (r RwEvent) String() string { - return fmt.Sprintf("OpId:%v Pid:%v Tid:%v Time:%v Size:%v", r.OpId, r.Pid, r.Tid, r.Time, r.Size) + return fmt.Sprintf("SyscallId:%v Pid:%v Tid:%v Time:%v Size:%v", r.SyscallId, r.Pid, r.Tid, r.Time, r.Size) } var poolOfRwEvents = sync.Pool{ @@ -137,16 +219,16 @@ func (r *RwEvent) Recycle() { } type OpenEnterEvent struct { - OpId OpId - Pid uint32 - Tid uint32 - Time uint32 - Filename [MAX_FILENAME_LENGTH]byte - Comm [MAX_PROGNAME_LENGTH]byte + SyscallId SyscallId + Pid uint32 + Tid uint32 + Time uint32 + Filename [MAX_FILENAME_LENGTH]byte + Comm [MAX_PROGNAME_LENGTH]byte } func (o OpenEnterEvent) String() string { - return fmt.Sprintf("OpId:%v Pid:%v Tid:%v Time:%v Filename:%v Comm:%v", o.OpId, o.Pid, o.Tid, o.Time, string(o.Filename[:]), string(o.Comm[:])) + return fmt.Sprintf("SyscallId:%v Pid:%v Tid:%v Time:%v Filename:%v Comm:%v", o.SyscallId, o.Pid, o.Tid, o.Time, string(o.Filename[:]), string(o.Comm[:])) } var poolOfOpenEnterEvents = sync.Pool{ @@ -165,3 +247,60 @@ func NewOpenEnterEvent(raw []byte) *OpenEnterEvent { func (o *OpenEnterEvent) Recycle() { poolOfOpenEnterEvents.Put(o) } + +const SYS_EXIT_CACHESTAT SyscallId = 520 +const SYS_ENTER_CACHESTAT SyscallId = 521 +const SYS_EXIT_CLOSE_RANGE SyscallId = 692 +const SYS_ENTER_CLOSE_RANGE SyscallId = 693 +const SYS_EXIT_CLOSE SyscallId = 694 +const SYS_ENTER_CLOSE SyscallId = 695 +const SYS_EXIT_FCHOWN SyscallId = 704 +const SYS_ENTER_FCHOWN SyscallId = 705 +const SYS_EXIT_FCHMOD SyscallId = 718 +const SYS_ENTER_FCHMOD SyscallId = 719 +const SYS_EXIT_FCHDIR SyscallId = 722 +const SYS_ENTER_FCHDIR SyscallId = 723 +const SYS_EXIT_FTRUNCATE SyscallId = 734 +const SYS_ENTER_FTRUNCATE SyscallId = 735 +const SYS_EXIT_COPY_FILE_RANGE SyscallId = 738 +const SYS_ENTER_COPY_FILE_RANGE SyscallId = 739 +const SYS_EXIT_PWRITE64 SyscallId = 754 +const SYS_ENTER_PWRITE64 SyscallId = 755 +const SYS_EXIT_PREAD64 SyscallId = 756 +const SYS_ENTER_PREAD64 SyscallId = 757 +const SYS_EXIT_WRITE SyscallId = 758 +const SYS_ENTER_WRITE SyscallId = 759 +const SYS_EXIT_READ SyscallId = 760 +const SYS_ENTER_READ SyscallId = 761 +const SYS_EXIT_LSEEK SyscallId = 762 +const SYS_ENTER_LSEEK SyscallId = 763 +const SYS_EXIT_NEWFSTAT SyscallId = 770 +const SYS_ENTER_NEWFSTAT SyscallId = 771 +const SYS_EXIT_FCNTL SyscallId = 814 +const SYS_ENTER_FCNTL SyscallId = 815 +const SYS_EXIT_IOCTL SyscallId = 816 +const SYS_ENTER_IOCTL SyscallId = 817 +const SYS_EXIT_GETDENTS64 SyscallId = 818 +const SYS_ENTER_GETDENTS64 SyscallId = 819 +const SYS_EXIT_GETDENTS SyscallId = 820 +const SYS_ENTER_GETDENTS SyscallId = 821 +const SYS_EXIT_SYNC_FILE_RANGE SyscallId = 914 +const SYS_ENTER_SYNC_FILE_RANGE SyscallId = 915 +const SYS_EXIT_FDATASYNC SyscallId = 916 +const SYS_ENTER_FDATASYNC SyscallId = 917 +const SYS_EXIT_FSYNC SyscallId = 918 +const SYS_ENTER_FSYNC SyscallId = 919 +const SYS_EXIT_FSTATFS SyscallId = 936 +const SYS_ENTER_FSTATFS SyscallId = 937 +const SYS_EXIT_FLOCK SyscallId = 1012 +const SYS_ENTER_FLOCK SyscallId = 1013 +const SYS_EXIT_QUOTACTL_FD SyscallId = 1043 +const SYS_ENTER_QUOTACTL_FD SyscallId = 1044 +const SYS_EXIT_IO_URING_REGISTER SyscallId = 1366 +const SYS_ENTER_IO_URING_REGISTER SyscallId = 1367 +const SYS_EXIT_IO_URING_ENTER SyscallId = 1370 +const SYS_ENTER_IO_URING_ENTER SyscallId = 1371 +const SYS_ENTER_OPEN SyscallId = 1 +const SYS_EXIT_OPEN SyscallId = 2 +const SYS_ENTER_OPENAT SyscallId = 3 +const SYS_EXIT_OPENAT SyscallId = 4 |
