summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-04-09 23:32:01 +0300
committerPaul Buetow <paul@buetow.org>2025-04-09 23:32:01 +0300
commit9572fa5d087731f68d55517847833f6203b9a70d (patch)
tree20ecba9b6bda135d27e16d759b157a2afabb215d /internal
parentd8dc052fbfae7f831f8e665c64bb63969ec70db8 (diff)
add mrproper.
Diffstat (limited to 'internal')
-rw-r--r--internal/eventloop.go2
-rw-r--r--internal/flamegraph/iordata.go8
2 files changed, 8 insertions, 2 deletions
diff --git a/internal/eventloop.go b/internal/eventloop.go
index cd5ea25..217d880 100644
--- a/internal/eventloop.go
+++ b/internal/eventloop.go
@@ -292,7 +292,7 @@ func (e *eventLoop) syscallExit(exitEv event.Event, ch chan<- *event.Pair) {
// See fcntl(2) for implementation details
switch v.Cmd {
case syscall.F_SETFL:
- canChange := syscall.O_APPEND | syscall.O_ASYNC | syscall.O_DIRECT | syscall.O_NOATIME | syscall.O_NONBLOCK
+ const canChange = syscall.O_APPEND | syscall.O_ASYNC | syscall.O_DIRECT | syscall.O_NOATIME | syscall.O_NONBLOCK
fdFile.AddFlags((int32(v.Arg) & int32(canChange)))
ev.File = fdFile
e.files[fd] = fdFile
diff --git a/internal/flamegraph/iordata.go b/internal/flamegraph/iordata.go
index b91dbc3..2ba1e9e 100644
--- a/internal/flamegraph/iordata.go
+++ b/internal/flamegraph/iordata.go
@@ -36,9 +36,15 @@ func newIorData() iorData {
return iorData{paths: make(pathMap)}
}
+func cloneString(s string) string {
+ // Clone the string by creating a new string with the same content
+ // This is a workaround to avoid using unsafe package
+ return string([]byte(s))
+}
+
func (iod iorData) add(ev *event.Pair) {
cnt := counter{count: 1, duration: ev.Duration, durationToPrev: ev.DurationToPrev}
- iod.addPath(ev.FileName(), ev.EnterEv.GetTraceId(), ev.Comm, ev.EnterEv.GetPid(),
+ iod.addPath(ev.FileName(), ev.EnterEv.GetTraceId(), string(ev.Comm), ev.EnterEv.GetPid(),
ev.EnterEv.GetTid(), ev.Flags(), cnt)
}