Skip to content

Commit 7eb1cbf

Browse files
improved proc monitors errors
- Avoid sending duplicated errors. - Fixed sending error message when the ebpf events module fails to load.
1 parent 5bf02e6 commit 7eb1cbf

File tree

3 files changed

+1
-5
lines changed

3 files changed

+1
-5
lines changed

daemon/procmon/ebpf/ebpf.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,15 +131,13 @@ func Start(ebpfOpts Config) *Error {
131131
// load definitions from the elf file.
132132
m, err = core.LoadEbpfModule("opensnitch.o", ebpfCfg.ModulesPath)
133133
if err != nil {
134-
dispatchErrorEvent(fmt.Sprint("[eBPF]: ", err.Error()))
135134
return &Error{fmt.Errorf("[eBPF] Error loading opensnitch.o: %s", err.Error()), NotAvailable}
136135
}
137136
determineHostByteOrder()
138137

139138
// create objects from the definitions
140139
ebpfMod := ebpfDefsT{}
141140
if err := m.Assign(&ebpfMod); err != nil {
142-
dispatchErrorEvent(fmt.Sprint("[eBPF] loadAndAssign error: ", err))
143141
return &Error{fmt.Errorf("[eBPF] Error loading opensnitch.o (collection): %s", err), NotAvailable}
144142
}
145143
collectionMaps = append(collectionMaps, m)

daemon/procmon/ebpf/events.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,20 +89,17 @@ type eventsDefsT struct {
8989
func initEventsStreamer() *Error {
9090
eventsColl, err := core.LoadEbpfModule("opensnitch-procs.o", ebpfCfg.ModulesPath)
9191
if err != nil {
92-
dispatchErrorEvent(fmt.Sprint("[eBPF events] collections: ", err))
9392
return &Error{err, EventsNotAvailable}
9493
}
9594

9695
ebpfMod := eventsDefsT{}
9796
if err := eventsColl.Assign(&ebpfMod); err != nil {
98-
dispatchErrorEvent(fmt.Sprint("[eBPF events] assign: ", err))
9997
return &Error{err, EventsNotAvailable}
10098
}
10199
collectionMaps = append(collectionMaps, eventsColl)
102100

103101
// User space needs to perf_event_open() it (...) before eBPF program can send data into it.
104102
if err := initPerfMap(ebpfMod.PerfEvents); err != nil {
105-
dispatchErrorEvent(fmt.Sprint("[eBPF events] perfMap: ", err))
106103
return &Error{err, EventsNotAvailable}
107104
}
108105

daemon/procmon/monitor/init.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ func Init(ebpfCfg ebpf.Config) (errm *Error) {
101101
// XXX: this will have to be rewritten when we'll have more events (bind, listen, etc)
102102
if err.What == ebpf.EventsNotAvailable {
103103
errm.What = EbpfEventsErr
104+
errm.Msg = err.Msg
104105
log.Info("Process monitor method ebpf")
105106
log.Warning("opensnitch-procs.o not available: %s", err.Msg)
106107

0 commit comments

Comments
 (0)