Commit Graph

37 Commits

Author SHA1 Message Date
云微
ca1267d82a Add advanced eBPF tutorials 51–54 and tutorial agent skills (#220)
* Add targeted TCP connection quarantine tool

* Document TCP quarantine workflow

* Refresh package indexes before CI install

* Document TCP quarantine namespace scope

* Require BPF events for TCP iterator

* Add production fsession latency tracer

* Document fsession latency workflow

* Reject empty fsession CLI values

* Preserve successful fsession exit status

* Document fsession deadline regression test

* Drain fsession events before summary

* Document fsession PID and shutdown semantics

* Simplify fsession polling control flow

* Add bounded BPF egress pacer tutorial

* Test queued packet cleanup on signal

* Document the BPF egress pacer

* Polish and review the BPF egress pacer

* Refactor egress pacer option parsing

* Add executable image inspector lesson

* Build the exec image inspector in CI

* Document executable image inspection

* Handle re-exec chains in the image inspector

* Polish exec image inspector guidance

* Reduce exec inspector wait complexity

* Rewrite the egress pacer tutorial

* Rewrite the exec image inspector tutorial

* Polish the exec image inspector tutorial

* Correct the egress pacer tutorial

* Make the exec tutorial Chinese natural

* Fix egress tutorial prose checks

* Finish the exec tutorial style pass

* Clarify exec tutorial runtime evidence

* Polish exec tutorial scope wording

* Rewrite the egress pacer tutorial for readers

* Regenerate tutorial indexes

* Teach the egress pacer component by component

* Use standard Markdown in the egress tutorial

* Strengthen the egress pacer tutorial narrative

* jiji

* Use positive framing in the egress tutorial

* Rewrite the exec image inspector tutorial

* Rewrite the TCP quarantine tutorial

* Add the egress pacer lifecycle diagram

* Refresh TCP tutorial indexes

* Add the exec image inspection flow diagram

* Use one source directory link

* Rewrite the fsession latency tutorial

* Add fsession feature background

* Add BPF qdisc feature background

* Add TCP iterator feature background

* Add exec inspection feature background

* Require feature background in tutorial openings

* Polish fsession background prose

* Simplify repository tutorial skills

* Update exec inspector tooling revisions

* Restructure tutorials 51-54 following advanced guideline

- Update SKILL.md with strict section ordering and "why" requirements
- Rewrite README.zh.md for tutorials 51-54:
  - Add background sections explaining why traditional approaches fail
  - Move compilation/execution sections after code analysis
  - Add high-level mechanism explanation before code
  - Use paragraph style instead of bullet lists

* Consolidate skill guidelines and remove duplicates

- Update write-bpf-production-tutorial skill to reference 47, 48, 49
- Add structure requirements section with "Why" section emphasis
- Remove duplicate advanced-tutorial-guidelines.md (use scripts/guideline_advance.md instead)

* Rewrite English READMEs 51-54 to match Chinese structure

Restructure all four English tutorials to match their Chinese counterparts:
- Add "Why this approach is needed" sections explaining traditional limitations
- Add high-level mechanism sections before code
- Move compilation/execution sections after code analysis
- Add environment requirements tables
- Use consistent section ordering across all tutorials

* Regenerate TOC after tutorial title changes

Run generate_toc.py to sync SUMMARY and README files with
updated tutorial titles from the restructuring.

* Regenerate compatibility tables after title changes

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-19 19:34:09 -07:00
云微
d055a0833f Add repository-local tutorial agent skills (#218)
* Add repository-local tutorial agent skills

* Enforce tutorial writer safety boundaries

* Reduce trace verifier complexity

* Add cross-model tutorial writing review

* Refresh apt metadata in libbpf CI

* Split tutorial workflow and writing style skills

* Check complete tutorial source blocks

* Harden the tutorial writing workflow

* Refactor source block validation

* Close tutorial workflow isolation gaps

* Test the isolated writer trace verifier

* Keep complete-source synchronization byte exact

* Separate tutorial and Skill review gates

* Simplify the tutorial writing workflow

* Keep tutorial source and explanations together

* Keep public tutorial references self-contained

* Restore tutorial checker executable bits

* Refine tutorial writing workflow

* Prefer positive tutorial prose

* Add diagram guidance to tutorial skills

* Standardize tutorial source links

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-19 14:56:27 -07:00
云微
929aec4441 build: stop tracking generated tutorial artifacts (#215)
* build: stop tracking generated tutorial artifacts

* build: avoid duplicating the goroutine offset

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-14 06:32:13 -07:00
云微
964b65b53d ci: validate tutorial sync with the Next.js site (#214)
* ci: test tutorial sync with Next.js

* ci: target the canonical website repository

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-14 06:09:50 -07:00
云微
b1d81046d7 ci: cover all libbpf Makefile tutorials (#213)
* ci: cover all libbpf Makefile tutorials

* ci: build modules against HWE headers

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-14 05:25:47 -07:00
云微
37375ff87e docs: add generated tutorial compatibility matrix (#212)
* docs: declare tutorial compatibility requirements

* docs: generate tutorial compatibility matrix

* fix: correct BPF Arena minimum kernel

* refactor: simplify compatibility validation

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-14 05:00:48 -07:00
云微
e08f604769 Fix bilingual tutorial indexes and internal links (#209)
* Fix bilingual tutorial index generation

* Check relative Markdown links in CI

* Harden documentation regression checks

* Reduce link parser complexity

* Run link checks for every repository change

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-14 04:10:51 -07:00
云微
39e3f59119 ci: support Rust 1.97 and modernize workflows (#210)
* Modernize workflow actions and permissions

* Test the fentry tutorial in CI

* Support Rust 1.97 symbol mangling

* Limit documentation writes to main

* Harden Rust symbol resolution

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-14 03:58:41 -07:00
云微
3a722c03d5 feat: add tcx and bpf token tutorials (#203)
* feat: add tcx and bpf token tutorials

* docs: auto-generate documentation

* docs: rewrite tcx and bpf_token tutorials with richer content and consistent style

Rewrote all 4 README files (EN/ZH for both tutorials) to match the
existing tutorial style with detailed background, full code listings,
step-by-step explanations, comparison tables, and proper references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* style: replace em dashes with colons, commas, and parentheses

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: auto-generate documentation

* ci: add tcx and bpf_token builds to CI; simplify execl in token_userns_demo

- Add make targets for src/50-tcx and src/features/bpf_token to the
  test-libbpf CI workflow.
- Replace four separate execl() calls with a single execv() using a
  dynamically built argv array, reducing complexity and eliminating
  CodeFactor command-injection false positives.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* ci: fix mkdocs path in trigger-sync workflow

Use .venv/bin/mkdocs instead of bare mkdocs, since make install
puts it inside a virtualenv.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: LinuxDev9002 <linuxdev8883@example.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 21:23:23 -07:00
Copilot
1d9958487a Fix Rust uprobe tutorial and add CI tests in dedicated workflow (#197)
* Initial plan

* Fix issue #173: Update Rust uprobe documentation to use debug build and correct function symbol

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Add CI tests for Rust uprobe tutorial (issue #173)

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Update src/37-uprobe-rust/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: 云微 <1067852565@qq.com>

* Update src/37-uprobe-rust/README.zh.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: 云微 <1067852565@qq.com>

* Use wildcard patterns for Rust symbol matching in bpftrace examples

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Add CI test to verify bpftrace can attach to Rust uprobe

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Separate bpftrace tests into new test-bpftrace.yml workflow

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

---------

Signed-off-by: 云微 <1067852565@qq.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>
Co-authored-by: 云微 <1067852565@qq.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-10 12:57:01 -08:00
yunwei37
5319e02c7c feat: add workflow for auto-generating documentation on push 2025-10-05 20:59:51 -07:00
yunwei37
6042594b8c Add eBPF tutorial and monitoring scripts for GPU activity
- Introduced a comprehensive README.md detailing the use of eBPF for monitoring GPU activity through kernel tracepoints.
- Added bpftrace scripts for monitoring AMD GPU operations, including buffer object creation, command submission, and interrupts.
- Created a bpftrace script for tracking DRM GPU scheduler activity across all modern GPU drivers.
- Developed a bpftrace script to monitor display vertical blanking events for frame timing analysis.
- Implemented a bpftrace script for Intel i915 GPU activity, focusing on GEM object management, memory operations, and page faults.
2025-10-05 00:26:31 -07:00
云微
70451702f0 Add wall clock analysis (#184)
* Add combined on-CPU and off-CPU profiler script

- Implemented a new profiling tool that captures both on-CPU and off-CPU activity for a specified process.
- The script runs 'oncputime' and 'offcputime' tools simultaneously and combines their results into a unified flamegraph.
- Added functionality to discover threads and profile them individually if the application is multi-threaded.
- Included error handling for tool execution and output processing.
- Created methods for generating flamegraph data and SVG visualizations.
- Added command-line argument parsing for user-defined profiling parameters.
- Implemented detailed analysis reports for both individual threads and overall profiling results.

* feat: integrate blazesym v0.2.0 for improved symbol resolution and add test program for memory leak detection

* docs: update README to enhance wall clock profiling tutorial with detailed explanations and examples

* feat: add wallclock-profiler tests to CI workflow for tool validation

* fix: rename combined_profiler.py to wallclock_profiler.py in test scripts and usage examples
2025-09-30 22:11:52 -07:00
Yusheng Zheng
a09397b583 remove depreciate CI 2024-10-20 07:46:20 +00:00
Yusheng Zheng
63a5241bfa add 45 2024-10-20 07:20:38 +00:00
云微
ab0d1eef08 add kfuncs docs (#136)
* add

* update

* update

* add ci

* update

* fix
2024-10-03 04:30:16 +01:00
云微
cc90090671 Update trigger-sync.yml 2024-10-01 01:30:21 +00:00
yunwei37
45558f406a ci: fix docs dependency 2024-09-07 05:52:09 +00:00
云微
9c2bba3e16 add new topics (#132)
* add goroutine text

* update

* fix funclatency

* update doc

* update about nginx

* update nginx

* u[date co

* fix compile
2024-09-02 07:18:57 +01:00
yunwei37
735095982d fix ci for sync tutorials 2024-02-03 10:00:32 +00:00
云微
fe5b53d6cd Add User ring post (#93)
* update

* update ci

* update link to eunomia.dev

* Update documents
2024-01-20 16:57:48 +00:00
云微
deee286952 Add new post for 28 29 34 (#92)
* add 28 blog

* update test

* add 34

* Update test-libbpf.yml

* add link

* update 28

* add read only

* Update english version

* update 29

* update 29

* fix ci for 34
2024-01-19 23:48:42 +00:00
云微
01e85ee09c ci: fix build error for extensions 2024-01-14 00:37:08 +08:00
云微
426e993507 Add http and translate for signal (#73)
* use BPF_NO_GLOBAL_DATA

to avoid error on old kernel versions or libbpf versions,
use BPF_NO_GLOBAL_DATA

* add translate of replace

* add socket

* add socket http impl

* improve userspace program

* add desc for http

* update translate to eng

* add ci for 32
2023-09-18 11:22:49 +08:00
云微
ffbd9a7ff4 fix the link to github repo (#71) 2023-09-03 23:14:05 +08:00
云微
af2d46a846 Add sslsniff documents (#67)
* impl 25 signal

* update more about openssl analysis

* add skeleton for sslsniff

* add code

* fix summary link

* add link for signal

* add ci for 25 and 30

* fix docs
2023-08-22 06:56:18 +08:00
oluceps
4b558464b0 Add ci for trigger tutorial sync (#61) 2023-08-16 06:11:30 -06:00
云微
1bbe35f02e Fix the rest Eng document syntax and add CI for them. (#63)
* fix memleak build error

* fix en document syntax

* lint the rest documents

* add ci for libbpf 13-17

* add eunomia test ci

* add ci for 10 and 20
2023-08-16 03:16:30 +08:00
云微
dc37ec0fcf remove libclang for libbpf ci (#52) 2023-07-28 20:25:41 +08:00
云微
3ee14a9224 Add CI for libbpf base examples and kprobe (#45)
* add ci for profile

* fix unnecessary code in 7

* fix exit code 124

* fix llvm-strip

* fix trailing space
2023-07-17 20:23:00 +08:00
云微
a53481d131 fix docker image content and add basic CI check (#41)
Replace
```
docker run -it -v `pwd`/:/src/ yunwei37/ebpm:latest
```
with:
```
docker run -it -v `pwd`/:/src/ ghcr.io/eunomia-bpf/ecc-`uname -m`:latest
```

Add a basic CI check for the hello world BPF program.
2023-06-15 16:36:22 +08:00
yunwei37
6be4e577f6 CI: fix deploy on main branch 2023-06-03 23:38:29 +08:00
yunwei37
eb292e2ab5 CI: fix deploy error 2023-05-30 20:28:21 +08:00
ocfox
52ae3ae26d feat: deploy static web with mdbook (#11) 2023-03-09 11:36:23 +08:00
yunwei37
704f44f4ac remove markdown linter 2023-01-23 18:59:59 +08:00
云微
ada48699e9 Create markdown-lint.yml 2022-12-13 20:30:58 +08:00
云微
bb8d1c37d2 Create hugo.yml 2022-12-13 20:23:01 +08:00