summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-03-02 00:56:09 +0200
committerPaul Buetow <paul@buetow.org>2024-03-02 00:56:09 +0200
commitf4e736903d6a7d2b8e025c8a6f7ef63ff3ec3e3a (patch)
tree371358f2bd88dff3bc583feaaba04efb852b32a8
parent367dd194b4011a62304913e46d3138445ccf9892 (diff)
tracepoint mismatches are reported differently
-rw-r--r--internal/event.go11
-rw-r--r--internal/eventloop.go5
2 files changed, 9 insertions, 7 deletions
diff --git a/internal/event.go b/internal/event.go
index e9126ea..371a79b 100644
--- a/internal/event.go
+++ b/internal/event.go
@@ -17,9 +17,10 @@ type event interface {
}
type enterExitEvent struct {
- enterEv, exitEv event
- file file
- comm string
+ enterEv, exitEv event
+ file file
+ comm string
+ tracepointMismatch bool
}
func (e enterExitEvent) is(id SyscallId) bool {
@@ -29,6 +30,10 @@ func (e enterExitEvent) is(id SyscallId) bool {
func (e enterExitEvent) String() string {
var sb strings.Builder
+ if e.tracepointMismatch {
+ sb.WriteString("MISMATCH ")
+ }
+
duration := e.exitEv.GetTime() - e.enterEv.GetTime()
sb.WriteString(fmt.Sprintf("%08d µs", duration))
diff --git a/internal/eventloop.go b/internal/eventloop.go
index d450fa3..fa799ee 100644
--- a/internal/eventloop.go
+++ b/internal/eventloop.go
@@ -47,10 +47,7 @@ func events(rawCh <-chan []byte) <-chan enterExitEvent {
// don't match up. E.g.:
// enterEv:SYS_ENTER_OPEN => exitEv:SYS_EXIT_OPEN
if ev.enterEv.GetSyscallId()-1 != ev.exitEv.GetSyscallId() {
- fmt.Println(fmt.Sprintf("Loss of event (not matching) %v", ev))
- ev.enterEv.Recycle()
- exitEv.Recycle()
- return
+ ev.tracepointMismatch = true
}
// Handle the opening of a file.