diff options
| author | Paul Buetow <paul@buetow.org> | 2024-02-16 21:52:02 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-02-16 21:52:02 +0200 |
| commit | c3d14a993d02062ee37c257848cf5f9268fc8fd3 (patch) | |
| tree | fe21e63a163f4fd3e8f8ff63b60dbbfc358da138 | |
| parent | 01059c9390150a4e9b78db6c6399e02729121331 (diff) | |
it's actually the Pid + TGid
| -rw-r--r-- | internal/ioriotng.bpf.c | 8 | ||||
| -rw-r--r-- | internal/ioriotng.go | 12 | ||||
| -rw-r--r-- | internal/types/types.bpf.h | 6 | ||||
| -rw-r--r-- | internal/types/types.go | 8 |
4 files changed, 17 insertions, 17 deletions
diff --git a/internal/ioriotng.bpf.c b/internal/ioriotng.bpf.c index 13a112d..b89cfbc 100644 --- a/internal/ioriotng.bpf.c +++ b/internal/ioriotng.bpf.c @@ -21,7 +21,7 @@ int handle_enter_openat(struct trace_event_raw_sys_enter *ctx) { return 0; ev->op_id = OPENAT_ENTER_OP_ID; - ev->tid = bpf_get_current_pid_tgid(); + ev->tid_tgid = bpf_get_current_pid_tgid(); ev->time = bpf_ktime_get_ns(); __builtin_memset(&(ev->filename), 0, sizeof(ev->filename) + sizeof(ev->comm)); @@ -42,7 +42,7 @@ int handle_exit_openat(struct trace_event_raw_sys_exit *ctx) { return 0; ev->op_id = OPENAT_EXIT_OP_ID; - ev->tid = bpf_get_current_pid_tgid(); + ev->tid_tgid = bpf_get_current_pid_tgid(); ev->time = bpf_ktime_get_ns(); ev->fd = ctx->ret; @@ -71,7 +71,7 @@ int handle_enter_close(struct trace_event_raw_sys_enter *ctx) { return 0; ev->op_id = CLOSE_ENTER_OP_ID; - ev->tid = bpf_get_current_pid_tgid(); + ev->tid_tgid = bpf_get_current_pid_tgid(); ev->time = bpf_ktime_get_ns(); ev->fd = (int)ctx->args[0]; @@ -89,7 +89,7 @@ int handle_exit_close(struct trace_event_raw_sys_enter *ctx) { return 0; ev->op_id = CLOSE_EXIT_OP_ID; - ev->tid = bpf_get_current_pid_tgid(); + ev->tid_tgid = bpf_get_current_pid_tgid(); ev->time = bpf_ktime_get_ns(); bpf_ringbuf_submit(ev, 0); diff --git a/internal/ioriotng.go b/internal/ioriotng.go index 8ab9371..2ab2b33 100644 --- a/internal/ioriotng.go +++ b/internal/ioriotng.go @@ -64,11 +64,11 @@ func Run(flags flags.Flags) { switch types.OpId(raw[0]) { case types.OPENAT_ENTER_OP_ID: ev := readRaw(raw, syncpool.OpenEnterEvent.Get().(*types.OpenatEnterEvent)) - enterOpen[ev.Tid] = ev + enterOpen[ev.PidTGid] = ev case types.OPENAT_EXIT_OP_ID: ev := readRaw(raw, syncpool.FdEvent.Get().(*types.FdEvent)) - enterEv, ok := enterOpen[ev.Tid] + enterEv, ok := enterOpen[ev.PidTGid] if !ok { fmt.Println("Dropping", ev) syncpool.FdEvent.Put(ev) @@ -77,17 +77,17 @@ func Run(flags flags.Flags) { duration := float64(ev.Time-enterEv.Time) / float64(1_000_000) fmt.Println(duration, "ms", enterEv, ev) - delete(enterOpen, ev.Tid) + delete(enterOpen, ev.PidTGid) syncpool.FdEvent.Put(ev) syncpool.OpenEnterEvent.Put(enterEv) case types.CLOSE_ENTER_OP_ID: ev := readRaw(raw, syncpool.FdEvent.Get().(*types.FdEvent)) - enterFd[ev.Tid] = ev + enterFd[ev.PidTGid] = ev case types.CLOSE_EXIT_OP_ID: ev := readRaw(raw, syncpool.NullEvent.Get().(*types.NullEvent)) - enterEv, ok := enterFd[ev.Tid] + enterEv, ok := enterFd[ev.PidTGid] if !ok { fmt.Println("Dropping", ev) syncpool.NullEvent.Put(ev) @@ -96,7 +96,7 @@ func Run(flags flags.Flags) { duration := float64(ev.Time-enterEv.Time) / float64(1_000_000) fmt.Println(duration, "ms", enterEv, ev) - delete(enterFd, ev.Tid) + delete(enterFd, ev.PidTGid) syncpool.NullEvent.Put(ev) syncpool.FdEvent.Put(enterEv) diff --git a/internal/types/types.bpf.h b/internal/types/types.bpf.h index 57feaaa..7601c17 100644 --- a/internal/types/types.bpf.h +++ b/internal/types/types.bpf.h @@ -12,20 +12,20 @@ struct null_event { __u32 op_id; - __u32 tid; + __u32 tid_tgid; __u64 time; }; struct fd_event { __u32 op_id; - __u32 tid; + __u32 tid_tgid; __u64 time; __s32 fd; }; struct openat_enter_event { __u32 op_id; - __u32 tid; + __u32 tid_tgid; __u64 time; char filename[MAX_FILENAME_LENGTH]; char comm[MAX_PROGNAME_LENGTH]; diff --git a/internal/types/types.go b/internal/types/types.go index 7c5c269..1d151dd 100644 --- a/internal/types/types.go +++ b/internal/types/types.go @@ -35,13 +35,13 @@ func (id OpId) String() string { } type NullEvent struct { - OpId OpId - Tid uint32 - Time uint64 + OpId OpId + PidTGid uint32 + Time uint64 } func (ev NullEvent) String() string { - return fmt.Sprintf("%s Tid:%v Time:%v", ev.OpId, ev.Tid, ev.Time) + return fmt.Sprintf("%s PidTGid:%v Time:%v", ev.OpId, ev.PidTGid, ev.Time) } type FdEvent struct { |
