Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
yunwei37 committed Oct 1, 2024
1 parent 06e818a commit 8de64c0
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 56 deletions.
52 changes: 3 additions & 49 deletions .github/workflows/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,55 +15,9 @@ jobs:
with:
fetch-depth: '0'

- name: Checkout tutorial repo
uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/bpf-developer-tutorial
ref: main
path: tutorial

- name: Checkout main repository eunomia-bpf
uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/eunomia-bpf
ref: master
path: eunomia-bpf

- name: Checkout main repository GPTtrace
uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/GPTtrace
ref: main
path: GPTtrace

- name: Checkout main repository bpftime
uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/bpftime
ref: master
path: bpftime

- name: Checkout main repository llvmbpf
uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/llvmbpf
ref: main
path: llvmbpf

- name: Change suffix and merge
run: |
./rename.sh
- uses: actions/setup-python@v4
with:
python-version: 3.x

- name: Install dependents
- name: Install all
run: |
pip install mkdocs-material=="9.*" mkdocs-static-i18n=="0.53"
pip install "mkdocs-material[imaging]"
pip install mkdocs-git-revision-date-localized-plugin
pip install mkdocs-git-authors-plugin
make install
- name: Build page
if: github.event_name == 'pull_request'
Expand All @@ -76,4 +30,4 @@ jobs:
github.event_name == 'push' ||
github.event_name == 'workflow_dispatch'
run: |
mkdocs gh-deploy -m "{sha}" --force --ignore-version --no-history
mkdocs gh-deploy -m "{sha}"
9 changes: 6 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
.PHONY: build clean
build: docs/CNAME
.PHONY: build clean install

build: install
mkdocs build

install: docs/CNAME
pip install mkdocs-material=="9.*" mkdocs-static-i18n=="0.53"
pip install "mkdocs-material[imaging]"
pip install mkdocs-git-revision-date-localized-plugin
pip install mkdocs-git-authors-plugin
mkdocs build

tutorial:
git clone https://github.com/eunomia-bpf/bpf-developer-tutorial tutorial --depth=1
Expand Down
9 changes: 5 additions & 4 deletions docs/bpftime/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@

`bpftime` is a High-Performance userspace eBPF runtime and General Extension Framework designed for userspace. It enables faster Uprobe, USDT, Syscall hooks, XDP, and more event sources by bypassing the kernel and utilizing an optimized compiler like `LLVM`.

> ⚠️ **Note**: `bpftime` is actively under development, and it's not yet recommended for production use now. 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-and-citations).
📦 [Key Features](#key-features) \
🔨 [Quick Start](#quick-start) \
🔌 [Examples & Use Cases](#examples--use-cases) \
Expand All @@ -19,6 +17,8 @@

bpftime is not `userspace eBPF VM`, it's a userspace runtime framework includes everything to run eBPF in userspace: `loader`, `verifier`, `helpers`, `maps`, `ufunc` and multiple `events` such as Observability, Network, Policy or Access Control. It has multiple VM backend options support. For eBPF VM only, please see [llvmbpf](https://github.com/eunomia-bpf/llvmbpf).

> ⚠️ **Note**: `bpftime` is currently under active development and may contain bugs or unstable API. Please use it with caution. For more details, check our [roadmap](#roadmap). We'd love to hear your feedback and suggestions! Feel free to open an issue or [Contact us](#contact-and-citations).
## Why bpftime? What's the design Goal?

- **Performance Gains**: Achieve better performance by `bypassing the kernel` (e.g., via `Userspace DBI` or `Network Drivers`), with more configurable, optimized and more arch supported JIT/AOT options like `LLVM`, while maintaining compatibility with Linux kernel eBPF.
Expand Down Expand Up @@ -120,8 +120,8 @@ Examples including:
- [opensnoop](https://github.com/eunomia-bpf/bpftime/tree/master/example/opensnoop) for trace file open syscalls.
- More [bcc/libbpf-tools](https://github.com/eunomia-bpf/bpftime/tree/master/example/libbpf-tools).
- Run with [bpftrace](https://github.com/eunomia-bpf/bpftime/tree/master/example/bpftrace) commands or scripts.
- [error injection](https://github.com/eunomia-bpf/bpftime/tree/master/example/error-injection): change function behavior with `bpf_override_return`.
- Use the eBPF LLVM JIT/AOT vm as [a standalone library](https://github.com/eunomia-bpf/bpftime/tree/master/vm/llvm-jit/example).
- [error injection](https://github.com/eunomia-bpf/bpftime/tree/master/example/error-inject): change function behavior with `bpf_override_return`.
- Use the eBPF LLVM JIT/AOT vm as [a standalone library](https://github.com/eunomia-bpf/llvmbpf/tree/main/example).
- Userspace [XDP with DPDK and AF_XDP](https://github.com/userspace-xdp/userspace-xdp)

## In-Depth
Expand Down Expand Up @@ -197,6 +197,7 @@ See [eunomia.dev/bpftime/documents/build-and-test](https://eunomia.dev/bpftime/d
`bpftime` is continuously evolving with more features in the pipeline:

- [ ] Keep compatibility with the evolving kernel
- [ ] Refactor for General Extension Framework
- [ ] Trying to refactor, bug fixing for `Production`.
- [ ] More examples and usecases:
- [X] Userspace Network Driver on userspace eBPF
Expand Down

0 comments on commit 8de64c0

Please sign in to comment.