summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-02-24 22:59:01 +0200
committerPaul Buetow <paul@buetow.org>2025-02-24 22:59:01 +0200
commit08e30830266c0996b85d3f28c25d09029011af94 (patch)
treeb5f6f048eb00a2725db68ebdd2d13708338dca14
parentdbce5567d660d8c1d396765990c3e77075c5e8ad (diff)
there is no bug in the time reporting all is fine
-rw-r--r--TODO.md1
-rw-r--r--internal/event.go11
-rw-r--r--internal/eventloop.go1
-rw-r--r--tools/filewriter/main.go35
4 files changed, 36 insertions, 12 deletions
diff --git a/TODO.md b/TODO.md
index e1cf2f2..fa5ae99 100644
--- a/TODO.md
+++ b/TODO.md
@@ -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)
+ }
+}