Repolode
aliyun

aliyun/coolbpf

Biblioteca C y plataforma que envuelven libbpf para compilar y cargar programas eBPF, con compilación remota y compatibilidad retroactiva con distintas versiones del kernel.

Estrellas
292
Forks
44
Issues abiertos
5
Último commit
hace 20 horas

¿Qué es?

coolbpf envuelve las funciones principales de libbpf para que los desarrolladores puedan crear programas de trazado y manipulación del kernel con menos configuración. Ofrece un servicio de compilación local con wrappers para llamadas a funciones BPF y un servicio de compilación remota que recibe un archivo fuente bpf.c y devuelve un objeto bpf.so para que lo cargue la aplicación local, sin necesidad de que el usuario gestione un entorno de compilación.

El proyecto también permite adaptar a kernels antiguos las funciones BPF de kernels más recientes mediante un módulo del kernel; por ejemplo, añade compatibilidad con BPF a kernels 3.10 y sustituye los buffers perf por ring buffers. Genera BTF automáticamente y ofrece bindings para Python, Go, C y Rust. Para compilar libcoolbpf se necesitan elfutils-devel y gcc; las herramientas eBPF también requieren clang y llvm.

El repositorio incluye AgentSight, una herramienta de observabilidad basada en eBPF para agentes LLM que captura tráfico SSL/TLS y actividad de procesos sin modificar el código, además de varios módulos del kernel, como eNetSTL, que proporcionan kfuncs adicionales para programas XDP.

Funciones clave

  • 01Servicio de compilación local con wrappers para llamadas a funciones BPF.
  • 02Servicio de compilación remota que devuelve un bpf.so para cargarlo localmente.
  • 03Adaptaciones mediante módulos del kernel, como compatibilidad con BPF en kernels 3.10 y uso de ring buffers en lugar de perf buffers.
  • 04Generación automática de BTF.
  • 05Bindings para Python, Go, C y Rust.
  • 06AgentSight observa el tráfico y los procesos de agentes LLM mediante eBPF, sin modificar el código.

Casos de uso

  • Crear herramientas de trazado eBPF sin gestionar una cadena de herramientas de compilación local.
  • Ejecutar programas BPF en kernels antiguos mediante adaptaciones con módulos del kernel.
  • Observar el tráfico de red y la actividad de los subprocesos de agentes de IA en Linux.

Inicio rápido

  1. 1

    Instala las dependencias de compilación (elfutils-devel, gcc)

  2. 2

    Instala libcoolbpf desde la raíz del proyecto

    ./install.sh
  3. 3

    Compila el ejemplo de syscall desde la raíz del proyecto

    mkdir -p build && cd build && cmake -DBUILD_EXAMPLE=on .. && make

Antes de usarlo

  • Para compilar las herramientas eBPF, además de gcc y elfutils, se necesitan clang y llvm.
  • Algunas funciones, como la adaptación retroactiva a versiones del kernel, requieren cargar un módulo del kernel, lo que necesita acceso root.
  • El README no indica advertencias explícitas sobre licencias o estabilidad más allá de las dependencias enumeradas.

En colecciones

Temas

Preguntas frecuentes

¿Qué es coolbpf?
Biblioteca C y plataforma que envuelven libbpf para compilar y cargar programas eBPF, con compilación remota y compatibilidad retroactiva con distintas versiones del kernel. coolbpf envuelve las funciones principales de libbpf para que los desarrolladores puedan crear programas de trazado y manipulación del kernel con menos configuración. Ofrece un servicio de compilación local con wrappers para llamadas a funciones BPF y un servicio de compilación remota que recibe un archivo fuente bpf.c y devuelve un objeto bpf.so para que lo cargue la aplicación local, sin necesidad de que el usuario gestione un entorno de compilación.
¿coolbpf es gratuito? ¿Qué licencia tiene?
coolbpf es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿coolbpf sigue mantenido?
Mantenimiento activo. El último commit de coolbpf fue el 5 nov 2026.
¿Para qué puedo usar coolbpf?
Crear herramientas de trazado eBPF sin gestionar una cadena de herramientas de compilación local. Ejecutar programas BPF en kernels antiguos mediante adaptaciones con módulos del kernel. Observar el tráfico de red y la actividad de los subprocesos de agentes de IA en Linux.
¿Cómo se instala coolbpf?
Instala las dependencias de compilación (elfutils-devel, gcc) Instala libcoolbpf desde la raíz del proyecto: ./install.sh Compila el ejemplo de syscall desde la raíz del proyecto: mkdir -p build && cd build && cmake -DBUILD_EXAMPLE=on .. && make
¿Dónde consigo coolbpf?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/aliyun/coolbpf

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados