diff --git a/pkg/sensors/load.go b/pkg/sensors/load.go index 80cefd2c863..c5f0467d2d3 100644 --- a/pkg/sensors/load.go +++ b/pkg/sensors/load.go @@ -185,7 +185,11 @@ func (s *Sensor) Load(bpfDir string) (err error) { // cleanup the BTF once we have loaded all sensor's program btf.FlushKernelSpec() - l.WithField("sensor", s.Name).Infof("Loaded BPF maps and events for sensor successfully") + l.WithFields(logrus.Fields{ + "sensor": s.Name, + "maps": loadedMaps, + "progs": loadedProgs, + }).Infof("Loaded BPF maps and events for sensor successfully") s.Loaded = true return nil } @@ -202,13 +206,19 @@ func (s *Sensor) Unload(unpin bool) error { } } + var progs []string for _, p := range s.Progs { unloadProgram(p, unpin) + progs = append(progs, p.String()) } + var mapsOk, mapsErr []string for _, m := range s.Maps { if err := m.Unload(unpin); err != nil { logger.GetLogger().WithError(err).WithField("map", s.Name).Warn("Failed to unload map") + mapsErr = append(mapsErr, m.String()) + } else { + mapsOk = append(mapsOk, m.String()) } } @@ -225,6 +235,11 @@ func (s *Sensor) Unload(unpin bool) error { } progsCleanup() + logger.GetLogger().WithFields(logrus.Fields{ + "maps": mapsOk, + "maps-error": mapsErr, + "progs": progs, + }).Infof("Sensor unloaded") return nil } @@ -367,7 +382,7 @@ func (s *Sensor) loadMap(bpfDir string, m *program.Map) error { "map": m.Name, "path": pinPath, "max": m.Entries, - }).Info("tetragon, map loaded.") + }).Debug("tetragon, map loaded.") return nil } @@ -441,7 +456,7 @@ func loadInstance(bpfDir string, load *program.Program, version, verbose int) er logger.GetLogger().WithField("Program", load.Name). WithField("Type", load.Type). WithField("Attach", load.Attach). - Info("Loading BPF program") + Debug("Loading BPF program") return loadFn(bpfDir, load, verbose) } // Otherwise, check for a registered probe type. If one exists, use that. @@ -450,7 +465,7 @@ func loadInstance(bpfDir string, load *program.Program, version, verbose int) er logger.GetLogger().WithField("Program", load.Name). WithField("Type", load.Type). WithField("Attach", load.Attach). - Info("Loading registered BPF probe") + Debug("Loading registered BPF probe") // Registered probes need extra setup version = kernels.FixKernelVersion(version) return probe.LoadProbe(LoadProbeArgs{ @@ -488,7 +503,7 @@ func unloadProgram(prog *program.Program, unpin bool) { logger.GetLogger().WithField("name", prog.Name).WithError(err).Warn("Failed to unload program") } - log.Info("BPF prog was unloaded") + log.Debug("BPF prog was unloaded") } func UnloadSensors(sens []SensorIface) { diff --git a/pkg/sensors/program/map.go b/pkg/sensors/program/map.go index e6a64938e05..82f34d0f61f 100644 --- a/pkg/sensors/program/map.go +++ b/pkg/sensors/program/map.go @@ -104,6 +104,10 @@ type Map struct { Owner bool } +func (m *Map) String() string { + return fmt.Sprintf("Map{Name:%s PinPath:%s}", m.Name, m.PinPath) +} + // globalMaps keeps a record of all global maps to exclude them from per policy // memory map accounting. var globalMaps = struct { @@ -220,7 +224,7 @@ func (m *Map) Unload(unpin bool) error { log.WithField("count", count).Debug("Reference exists, not unloading map yet") return nil } - log.Info("map was unloaded") + log.Debug("map was unloaded") if m.MapHandle != nil { if m.IsOwner() && unpin { m.MapHandle.Unpin() diff --git a/pkg/sensors/program/program.go b/pkg/sensors/program/program.go index 4c49891fcf6..4a84676e37f 100644 --- a/pkg/sensors/program/program.go +++ b/pkg/sensors/program/program.go @@ -163,6 +163,10 @@ type Program struct { LoadedMapsInfo map[int]bpf.ExtendedMapInfo } +func (p *Program) String() string { + return fmt.Sprintf("Program{Name:%s Attach:%s Label:%s PinPath:%s}", p.Name, p.Attach, p.Label, p.PinPath) +} + func (p *Program) SetRetProbe(ret bool) *Program { p.RetProbe = ret return p