Hacker News new | ask | show | jobs
by maayank 849 days ago
What use cases people use eBPF for these days?
6 comments

We had a recent use case to log outbound TCP connections _excluding_ internal and known addresses from our k8s infrastructure, with the log including the process name/pid, uid a bunch of other metadata.

I wrote a tool that compiles to a small, statically linked binary (using CO-RE/libbpf), deployed to every node as a DaemonSet. It just works and uses minimal CPU and memory resources.

Tongue in cheek: lots of people have discovered they can replace Linux kernel modules with brittle eBPF code instead, which attaches itself to various parts of the kernel that are even less stable than the things modules have to deal with.
They are nice for quick experimentation, yes. But there are rock solid projects like Cilium using them. I think your point is that the barrier to abuse is lower?
The eBPF website has a list of projects using it, that can give you a decent flavour of what people use it for. https://ebpf.io/applications/
Stackstate, my current employer uses eBPF in addition to Open Telemetry for collecting observability data. https://www.stackstate.com/platform/features/
We use it for several parts of our network forwarding path (our private networking features are built in eBPF), for a variety of monitoring purposes, and (principally with bpftrace) as a debugging tool.
We have implemented zero-code distributed tracing with eBPF. https://github.com/deepflowio/deepflow
Using eBPF based tools (like bcc) to debug the issues https://github.com/iovisor/bcc