diff options
| author | Paul Buetow <paul@buetow.org> | 2024-02-19 11:53:13 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-02-19 11:53:13 +0200 |
| commit | 4309271756784e9e4846a385c477ea31f183dc3b (patch) | |
| tree | c302159be3c7322a59bcbf08c5fe9b5b423721b0 /internal/tracepoints/tracepoints.go | |
| parent | 728b11eb64db53d8f71faa86ed5043efbaa8d589 (diff) | |
make ioriotng able to run without .c source files present
Diffstat (limited to 'internal/tracepoints/tracepoints.go')
| -rw-r--r-- | internal/tracepoints/tracepoints.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/internal/tracepoints/tracepoints.go b/internal/tracepoints/tracepoints.go new file mode 100644 index 0000000..1b6cf56 --- /dev/null +++ b/internal/tracepoints/tracepoints.go @@ -0,0 +1,23 @@ +package tracepoints + +import ( + "fmt" + + bpf "github.com/aquasecurity/libbpfgo" +) + +func AttachSyscalls(bpfModule *bpf.Module) error { + for _, name := range tracepointList { + // Attach to tracepoint + prog, err := bpfModule.GetProgram(fmt.Sprintf("handle_%s", name)) + if err != nil { + return fmt.Errorf("Failed to get BPF program handle_%s: %v", name, err) + } + fmt.Println("Attached prog handle_" + name) + if _, err = prog.AttachTracepoint("syscalls", fmt.Sprintf("sys_%s", name)); err != nil { + return fmt.Errorf("Failed to attach to sys_%s tracepoint: %v", name, err) + } + fmt.Println("Attached tracepoint sys_" + name) + } + return nil +} |
