eBPF Documentary

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. linux

    dtrace for linux - kernel driver and userland tools (by dtrace4linux)

    > I'm referring to the fact the eBPF will be available across Microsoft, Apple, and Linux, and there is no other technology that will be able to offer that.

    I don’t know if there’s some qualification im missing in your statement, but does this not count?

    - https://learn.microsoft.com/en-us/windows-hardware/drivers/d...

    - https://opensource.apple.com/source/dtrace/

    - https://docs.freebsd.org/en/books/handbook/dtrace/

    - https://github.com/dtrace4linux/linux

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. bcc

    BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more

    One of the big wins is not so much “build and run your own stuff” but there are very nice low-cost (in terms of compute) performance utilities built on eBPF

    https://github.com/iovisor/bcc

    There are so many utilities in that list; there’s a diagram midway down the readme which tries to help show their uses. bcc-tools should be available in any distro.

    Also, Brendan Gregg does a ton of performance stuff that is worth knowing about if you check out his other work. Not eBPF only. Flame graphs are useful.

  4. illumos-gate

    An open-source Unix operating system

    It may become a footnote on Linux, but Linux isn't the only system out there -- and DTrace remains alive and well in many systems (not least in its reference implementation in illumos[0]).

    [0] https://github.com/illumos/illumos-gate

  5. genode

    Genode OS Framework

  6. gobpf

    Go bindings for creating BPF programs.

    This [1] makes me think gobpf uses C bindings to bcc, so golang does not compile to eBPF, bcc does.

    [1] - https://github.com/iovisor/gobpf/tree/master/bcc

  7. ebpf

    ebpf-go is a pure-Go library to read, modify and load eBPF programs and attach them to various hooks in the Linux kernel.

    Oh, no I don't mean that arbitrary Go compiles to eBPF. Apologies if I gave that impression. I meant that there are libraries that let you compose eBPF programs in other languages. But you're still putting together an eBPF program, just like you can assemble JSON with Go but you can't compile an arbitrary Go program to JSON.

    Cilium's eBPF library is the Go one I had in mind: https://github.com/cilium/ebpf

    Here's an example from that repo: https://github.com/cilium/ebpf/tree/main/examples/ringbuffer

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

Did you know that C is
the 6th most popular programming language
based on number of references?