Explorar el Código

ebpf: ensure that kernel tracing is available

Anton Petruhin hace 3 años
padre
commit
8a50003846
Se han modificado 1 ficheros con 5 adiciones y 0 borrados
  1. 5 0
      ebpftracer/tracer.go

+ 5 - 0
ebpftracer/tracer.go

@@ -123,6 +123,11 @@ func (t *Tracer) ebpf(ch chan<- Event, kernelVersion string) error {
 	if len(prg) == 0 {
 		return fmt.Errorf("unsupported kernel version: %s", kernelVersion)
 	}
+
+	if _, err := os.Stat("/sys/kernel/debug/tracing"); err != nil {
+		return fmt.Errorf("kernel tracing is not available: %w", err)
+	}
+
 	spec, err := ebpf.LoadCollectionSpecFromReader(bytes.NewReader(prg))
 	if err != nil {
 		return fmt.Errorf("failed to load spec: %w", err)