Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace libbpfgo with cilium/ebpf #1424

Open
dave-tucker opened this issue May 13, 2024 · 0 comments · May be fixed by #1438
Open

Replace libbpfgo with cilium/ebpf #1424

dave-tucker opened this issue May 13, 2024 · 0 comments · May be fixed by #1438
Labels
kind/feature New feature or request tech-debt

Comments

@dave-tucker
Copy link
Collaborator

dave-tucker commented May 13, 2024

What would you like to be added?

Replace the dependency on libbpfgo with cilium/ebpf.

Why is this needed?

This has a number of benefits:

  1. cilium/ebpf is pure Go. No CGo required, no need to install libbpf on developer machines etc.. It will also make enabling the linter on all packages chore: Enable linter for libbpf/gpu tags #1423 much easier
  2. We can use bpf2go to compile the eBPF bytecode instead of using clang directly. This removes boilerplate + Makefile and has the added benefit that the bytecode is embedded directly into the built binary, removing the need for fix(bpfassets): Fix object file lookup #1419 and simplifying packaging.
  3. Removes the need for Dockerfile.builder everywhere except for RPMs. This should make things like updating the Go version much simpler without causing CI instability.
  4. Automatically keeping the keplerProcessMetricsT struct in sync between userland and the kernel

I've tested this and I have a feature branch ready to go as soon as #1413 has landed, which is a pre-requisite to doing this cleanly.

@dave-tucker dave-tucker added the kind/feature New feature or request label May 13, 2024
@dave-tucker dave-tucker linked a pull request May 15, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature New feature or request tech-debt
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant