Prechádzať zdrojové kódy

ebpf: ensure that kernel tracing is available

Anton Petruhin 3 rokov pred
rodič
commit
8a50003846
1 zmenil súbory, kde vykonal 5 pridanie a 0 odobranie
  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 {
 	if len(prg) == 0 {
 		return fmt.Errorf("unsupported kernel version: %s", kernelVersion)
 		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))
 	spec, err := ebpf.LoadCollectionSpecFromReader(bytes.NewReader(prg))
 	if err != nil {
 	if err != nil {
 		return fmt.Errorf("failed to load spec: %w", err)
 		return fmt.Errorf("failed to load spec: %w", err)