diff options
| author | Paul Buetow <paul@buetow.org> | 2025-02-24 22:59:01 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-02-24 22:59:01 +0200 |
| commit | 08e30830266c0996b85d3f28c25d09029011af94 (patch) | |
| tree | b5f6f048eb00a2725db68ebdd2d13708338dca14 | |
| parent | dbce5567d660d8c1d396765990c3e77075c5e8ad (diff) | |
there is no bug in the time reporting all is fine
| -rw-r--r-- | TODO.md | 1 | ||||
| -rw-r--r-- | internal/event.go | 11 | ||||
| -rw-r--r-- | internal/eventloop.go | 1 | ||||
| -rw-r--r-- | tools/filewriter/main.go | 35 |
4 files changed, 36 insertions, 12 deletions
@@ -1,7 +1,6 @@ # TODO's * Target OS is Rocky 9 and not Rocky 8 (can use a bhyve VM) -* More testing and debugging * More filters * Output format so that it is compatible with the flamegraph grapher * Capture more tracepoints? See comments in tracepoints.c's header. diff --git a/internal/event.go b/internal/event.go index 213e5ce..2f62bce 100644 --- a/internal/event.go +++ b/internal/event.go @@ -41,6 +41,7 @@ func newEventPair(enterEv event) *eventPair { func (e *eventPair) calculateDurations() { e.duration = e.exitEv.GetTime() - e.enterEv.GetTime() + if e.prevPair != nil { e.durationToPrev = e.enterEv.GetTime() - e.prevPair.exitEv.GetTime() } @@ -80,16 +81,6 @@ func (e *eventPair) String() string { return sb.String() } -func (e *eventPair) TimeDebugString() string { - if e.prevPair == nil { - return "no prev event yet" - } - return fmt.Sprintf("prev %v %v\ncurr %v %v\ndiff %v", - e.prevPair.enterEv.GetTime(), e.prevPair.exitEv.GetTime(), - e.enterEv.GetTime(), e.exitEv.GetTime(), - e.enterEv.GetTime()-e.prevPair.exitEv.GetTime()) -} - func (e *eventPair) dump() string { return fmt.Sprintf("%v with enterEv(%v) and exitEv(%v)", e, e.enterEv, e.exitEv) } diff --git a/internal/eventloop.go b/internal/eventloop.go index 95ad3ac..0403478 100644 --- a/internal/eventloop.go +++ b/internal/eventloop.go @@ -104,7 +104,6 @@ func events(rawCh <-chan []byte) <-chan *eventPair { ev.prevPair, _ = prevPairs[ev.enterEv.GetTid()] ev.calculateDurations() prevPairs[ev.enterEv.GetTid()] = ev - fmt.Println(ev.TimeDebugString()) evCh <- ev } diff --git a/tools/filewriter/main.go b/tools/filewriter/main.go new file mode 100644 index 0000000..25f5cb7 --- /dev/null +++ b/tools/filewriter/main.go @@ -0,0 +1,35 @@ +package main + +import ( + "os" + "time" +) + +func main() { + // Open the file in append mode, create it if it doesn't exist + file, err := os.OpenFile("output.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) + if err != nil { + panic(err) + } + defer file.Close() + + // Define the byte to be written + data := []byte("A") // Replace 'A' with any byte you wish to write + + // Loop to write the byte every 3 seconds + for { + _, err := file.Write(data) + if err != nil { + panic(err) + } + + // Flush writes to stable storage + err = file.Sync() + if err != nil { + panic(err) + } + + // Wait for 3 seconds + time.Sleep(3 * time.Second) + } +} |
