From 858908d4513602fde23ef3e43e0de9635e235e9c Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 28 Mar 2025 21:45:11 +0200 Subject: add readv family of I/O syscalls --- internal/eventloop.go | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'internal/eventloop.go') diff --git a/internal/eventloop.go b/internal/eventloop.go index d3b7e78..cd72827 100644 --- a/internal/eventloop.go +++ b/internal/eventloop.go @@ -55,13 +55,19 @@ func (e *eventLoop) stats() string { <-e.done duration := time.Since(e.startTime) - return "Statistics:\n" + - fmt.Sprintf("\tduration:%v\n", duration) + - fmt.Sprintf("\ttracepoints:%v (%.2f/s) with %d mismatches (%.2f%%)\n", e.numTracepoints, float64(e.numTracepoints)/duration.Seconds(), e.numTracepointMismatches, (float64(e.numTracepointMismatches)/float64(e.numTracepoints))*100) + - fmt.Sprintf("\tsyscalls:%d (%.2f/s)\n", - e.numSyscalls, float64(e.numSyscalls)/duration.Seconds()) + - fmt.Sprintf("\tsyscalls after filter:%d (%.2f/s)\n", - e.numSyscallsAfterFilter, float64(e.numSyscallsAfterFilter)/duration.Seconds()) + stats := fmt.Sprintf( + "Statistics:\n"+ + "\tduration: %v\n"+ + "\ttracepoints: %v (%.2f/s) with %d mismatches (%.2f%%)\n"+ + "\tsyscalls: %d (%.2f/s)\n"+ + "\tsyscalls after filter: %d (%.2f/s)\n", + duration, + e.numTracepoints, float64(e.numTracepoints)/duration.Seconds(), e.numTracepointMismatches, (float64(e.numTracepointMismatches)/float64(e.numTracepoints))*100, + e.numSyscalls, float64(e.numSyscalls)/duration.Seconds(), + e.numSyscallsAfterFilter, float64(e.numSyscallsAfterFilter)/duration.Seconds(), + ) + + return stats } func (e *eventLoop) run(ctx context.Context, rawCh <-chan []byte) { @@ -305,9 +311,7 @@ func (e *eventLoop) syscallExit(exitEv event.Event, ch chan<- *event.Pair) { default: panic(fmt.Sprintf("unknown type: %v", v)) } - // TODO: implement dup2 syscall // TODO: implement dup3 syscall - // TODO: implement readv(2) // TODO: implement copy_file_range // TODO: open_by_handle_at // TODO: name_to_handle_at -- cgit v1.2.3