summaryrefslogtreecommitdiff
path: root/internal/ior.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-04-01 23:03:13 +0300
committerPaul Buetow <paul@buetow.org>2025-04-01 23:03:13 +0300
commit89963d22c7e144e063b2ded76db264b759c8ded3 (patch)
tree83fe07cdfe176485ccf52072c8c23f4df8da63f8 /internal/ior.go
parent1e2281b92863bf90a9be8769b8809ab300158a5d (diff)
initial iordata_test
Diffstat (limited to 'internal/ior.go')
-rw-r--r--internal/ior.go19
1 files changed, 10 insertions, 9 deletions
diff --git a/internal/ior.go b/internal/ior.go
index 3d6fd1e..c2f2f02 100644
--- a/internal/ior.go
+++ b/internal/ior.go
@@ -43,34 +43,34 @@ func attachTracepoints(bpfModule *bpf.Module) error {
return nil
}
-func Run() {
+func Run() error {
bpfModule, err := bpf.NewModuleFromFile("ior.bpf.o")
if err != nil {
- panic(err)
+ return err
}
defer bpfModule.Close()
if err := flags.Get().ResizeBPFMaps(bpfModule); err != nil {
- panic(err)
+ return err
}
if err := flags.Get().SetBPF(bpfModule); err != nil {
- panic(err)
+ return err
}
if err := bpfModule.BPFLoadObject(); err != nil {
- panic(err)
+ return err
}
if err := attachTracepoints(bpfModule); err != nil {
- panic(err)
+ return err
}
// 4096 channel size, minimises event drops
ch := make(chan []byte, 4096)
rb, err := bpfModule.InitRingBuf("event_map", ch)
if err != nil {
- panic(err)
+ return err
}
rb.Poll(300)
@@ -78,10 +78,10 @@ func Run() {
var cpuProfile, memProfile *os.File
if flags.Get().PprofEnable {
if cpuProfile, err = os.Create("ior.cpuprofile"); err != nil {
- panic(err)
+ return err
}
if memProfile, err = os.Create("ior.memprofile"); err != nil {
- panic(err)
+ return err
}
pprof.StartCPUProfile(cpuProfile)
} else {
@@ -118,4 +118,5 @@ func Run() {
totalDuration := time.Since(startTime)
<-pprofDone
fmt.Println("Good bye... (unloading BPF tracepoints will take a few seconds...) after", totalDuration)
+ return nil
}