-
-
Notifications
You must be signed in to change notification settings - Fork 84
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Update README.md Add Sponsors * Update README.md * Update README.md * Update README.md * Update README.md --------- Co-authored-by: 云微 <[email protected]>
- Loading branch information
Showing
1 changed file
with
13 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# bpftime: Userspace eBPF runtime for fast Uprobe & Syscall Hook | ||
# bpftime: Userspace eBPF runtime for fast Uprobe & Syscall Hook & Extensions | ||
|
||
[![Build and Test VM](https://github.com/eunomia-bpf/bpftime/actions/workflows/test-vm.yml/badge.svg)](https://github.com/eunomia-bpf/bpftime/actions/workflows/test-vm.yml) | ||
[![Build and test runtime](https://github.com/eunomia-bpf/bpftime/actions/workflows/test-runtime.yml/badge.svg)](https://github.com/eunomia-bpf/bpftime/actions/workflows/test-runtime.yml) | ||
|
@@ -8,6 +8,7 @@ | |
|
||
📦 [Features](#key-features) \ | ||
🔨 [Quick Start](#quick-start) \ | ||
🔌 [Examples & Use Cases](#examples--use-cases) \ | ||
⌨️ [Linux Plumbers 23 talk](https://lpc.events/event/17/contributions/1639/) \ | ||
📖 [Slides](https://github.com/eunomia-bpf/bpftime/tree/master/documents/userspace-ebpf-bpftime-lpc.pdf) \ | ||
📚 [Arxiv preprint](https://arxiv.org/abs/2311.07923) | ||
|
@@ -92,11 +93,9 @@ $ sudo example/malloc/malloc | |
|
||
See [documents/usage.md](https://github.com/eunomia-bpf/bpftime/tree/master/documents/usage.md) for more details. | ||
|
||
## In-Depth | ||
|
||
### **Examples & Use Cases** | ||
## Examples & Use Cases | ||
|
||
Example using libbpf: | ||
### Tracing the system: | ||
|
||
- `tracing userspace functions with uprobe`: Attach uprobe, uretprobe or all syscall tracepoints(currently x86 only) eBPF programs to a process or a group of processes: | ||
- [`malloc`](https://github.com/eunomia-bpf/bpftime/tree/master/example/malloc): count the malloc calls in libc by pid. demonstrate how to use the userspace `uprobe` with basic `hashmap`. | ||
|
@@ -111,6 +110,8 @@ You can also run bpftime with `bpftrace`, we've test it on [this commit](https:/ | |
|
||
> ⚠️ **Note**: `bpftime` is actively under development, and it's not yet recommended for production use. See our [roadmap](#roadmap) for details. We'd love to hear your feedback and suggestions! Please feel free to open an issue or [Contact us](#contact). | ||
## In-Depth | ||
|
||
### **How it Works** | ||
|
||
bpftime supports two modes: | ||
|
@@ -138,7 +139,7 @@ Current hook implementation is based on binary rewriting and the underly techniq | |
|
||
The hook can be easily replaced with other DBI methods or frameworks, or add more hook mechanisms in the future. | ||
|
||
see [arxiv preprint: https://arxiv.org/abs/2311.07923](https://arxiv.org/abs/2311.07923) for details. | ||
see our draft arxiv paper [bpftime: userspace eBPF Runtime for Uprobe, Syscall and Kernel-User Interactions](https://arxiv.org/abs/2311.07923) for details. | ||
|
||
### **Performance Benchmarks** | ||
|
||
|
@@ -201,3 +202,9 @@ This project is licensed under the MIT License. | |
## Contact | ||
|
||
<[email protected]> | ||
|
||
## Sponsors | ||
|
||
- [PLCT Lab](https://plctlab.github.io/) from [ISCAS](http://english.is.cas.cn/au/) | ||
- [Prof. Qi Li](https://sites.google.com/site/qili2012/) from Tsinghua University [NISL Lab](https://netsec.ccert.edu.cn/en/) | ||
- [Prof. Wenbo Shen](https://wenboshen.org/) from ZJU |