zoidyzoidzoid / awesome-ebpf Goto Github PK
View Code? Open in Web Editor NEWA curated list of awesome projects related to eBPF.
License: Creative Commons Zero v1.0 Universal
A curated list of awesome projects related to eBPF.
License: Creative Commons Zero v1.0 Universal
Considering that people use ebpf for a variety of purposes, it would be clearer if projects were divided by area.
For example, we can have networking
(cilium), observability
(skywalking rover), tool
(bpftrace), library
(gobpf), and security
(tetragon).
ebpf-samples - A collection of compiled (as ELF object files) samples gathered from several projects, primarily intended to serve as test cases for user space verifiers.
We should try to get this list in order and to submit it for inclusion into the list of “awesome” material lists.
See the requirements.
Missing items, as far as I can see:
awesome-list
and awesome
, and I suppose bpf
and ebpf
at least).awesome-lint
tool to check if anything else is amiss (I didn't manage to make it work, on a quick attempt).awesome
repo.Is there any useful libraries/tools that we can use to debug codes written in Rust? (Not tools written by Rust)
Hi there!
I created socket-connect-bpf. It is similar to tcpconnect
, but the probe is attached to security_socket_connect
and it provides some additional information (like process path and AS information).
However, I don't know if it's unique enough to have an entry in this list. What do you think?
I'd like to figure out a sensible order for sections and how to break it into sub-sections, since some projects are FOSS and some are private/propietary.
Ideally I'd like to figure out a sustainable way to keep SNR of the repo high. I think ordering talks by year makes sense for evolving tech, but then I'm not sure if things that feature eBPF but not as a focus make sense in the repo, I think they do if they're of interest of people that wanna learn more about it.
an eBPF manager
website https://bpfman.io/main/
cgnet uses eBPF to gather network statistics from cgroups.
What are some docs, tools or other resources that the eBPF ecosystem is missing? For instance, we don't have a eBPF debugger AFAIK. It might be good to have a "wishlist" section in the README if there is content.
https://github.com/merbridge/merbridge/
Merbridge: use eBPF to accelerate your mesh
https://landscape.cncf.io/card-mode?category=service-mesh&grouping=category&selected=merbridge
It is also included in CNCF landscape.
I'm not sure which part should I add this project to.
Thank you for posting this helpful Awesome list! Unfortunately, the TODO on What is BPF? was exactly what I was hoping for in this doc. Is this just a network packet filter, or something else?
in README.md
The core of their product comes from eBPF, and the product fills a pretty big hole in the current ways that monitoring systems work.
Just wanted to turn you on to polycube project: https://github.com/polycube-network/polycube
BPF and XDP are the main Linux kernel technologies on which Polycube is based upon. BPF supports dynamic code injection in the Linux kernel at runtime, enabling the dynamic creation of a data plane. The BPF data plane has a minimal feature set which avoids processing overhead and is exactly tailored to user needs.
It appears to be a container-focused networking platform, with some new conventions mixed with emulation of familiar legacy API - e.g.:
pcn-iptables: is a clone of iptables that is able to filter packets passing through a Linux host, demonstrating how packet filtering can be achieved with impressive performance, while at the same time guaranteeing the same command line and the same external behavior of the original software.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.