coolbpf  by aliyun

Build and observe with eBPF

Created 3 years ago
290 stars

Top 90.8% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

coolbpf is a platform designed to simplify the development and deployment of eBPF programs for kernel tracing and manipulation. It targets developers seeking efficient kernel-level tools, offering a streamlined compile collection service, remote compilation capabilities, and cross-kernel version compatibility. The primary benefit is enabling users to focus on BPF logic without managing complex build environments or dealing with kernel version fragmentation.

How It Works

The project wraps core libbpf functionalities, providing both local and remote compilation services that abstract away environment setup. It facilitates high kernel version features on older kernels (e.g., BPF support on 3.10) via kernel modules and automates BTF generation. Support for multiple development languages including Python, Go, C, and Rust enhances flexibility.

Quick Start & Requirements

  • Installation: Execute ./install.sh from the coolbpf root directory.
  • Dependencies:
    • libcoolbpf compilation: elfutils-devel, gcc.
    • eBPF tool compilation: clang, llvm.
  • Example Compilation: Navigate to build directory, run cmake -DBUILD_EXAMPLE=on .. && make.
  • Resources: Examples are available in tools/examples/syscall and src/agentsight. Kernel module examples like eNetSTL are in bpf_kernel_modules.

Highlighted Details

  • AgentSight: A zero-instrumentation observability tool for LLM agents, leveraging eBPF for SSL/TLS traffic and process monitoring with minimal (<3%) CPU overhead.
  • Kernel Version Backporting: Enables advanced BPF features on older kernels (e.g., 3.10) and offers replacements for older mechanisms like perf buffers with ring buffers via kernel modules.
  • Multi-Language Support: Facilitates eBPF development in Python, Go, C, and Rust.
  • Remote Compilation Service: Compiles .bpf.c files remotely, returning bpf.so for local application loading.

Maintenance & Community

No specific details on contributors, community channels, or roadmap were found in the provided text.

Licensing & Compatibility

The license type and compatibility notes are not specified in the provided README content.

Limitations & Caveats

No explicit limitations, alpha status, or known issues were detailed in the provided text.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
3 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.