summaryrefslogtreecommitdiff
path: root/internal/event.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-04-01 11:08:03 +0300
committerPaul Buetow <paul@buetow.org>2024-04-01 11:08:03 +0300
commit0ff9732ce264692f88318f098836ca5c2afa62aa (patch)
treeb2da103adeb50ef0a3f6dcbb6f52c07c6ea2746b /internal/event.go
parent0ae1e14580786019703ab188ab76560fc3323fdd (diff)
use u64 for time, use time since boot
Diffstat (limited to 'internal/event.go')
-rw-r--r--internal/event.go18
1 files changed, 14 insertions, 4 deletions
diff --git a/internal/event.go b/internal/event.go
index acc8324..213e5ce 100644
--- a/internal/event.go
+++ b/internal/event.go
@@ -17,7 +17,7 @@ type event interface {
GetTraceId() TraceId
GetPid() uint32
GetTid() uint32
- GetTime() uint32
+ GetTime() uint64
Recycle()
}
@@ -26,11 +26,11 @@ type eventPair struct {
enterEv, exitEv event
file file
comm string
- duration uint32
+ duration uint64
tracepointMismatch bool
// To calculate the time difference from the previoud event.
prevPair *eventPair
- durationToPrev uint32
+ durationToPrev uint64
}
func newEventPair(enterEv event) *eventPair {
@@ -57,7 +57,7 @@ func (e *eventPair) String() string {
sb.WriteString("MISMATCH ")
}
- sb.WriteString(fmt.Sprintf("%08dµs %08dµs", e.durationToPrev, e.duration))
+ sb.WriteString(fmt.Sprintf("%08dns %08dns", e.durationToPrev, e.duration))
sb.WriteString(" ")
sb.WriteString(e.comm)
@@ -80,6 +80,16 @@ 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)
}