bpftop - Monitor de Programas eBPF en Vivo
bpftop (por Netflix) es una interfaz de usuario de terminal que proporciona una vista en tiempo real de todos los programas eBPF en ejecución en un host. Para cada programa muestra el tiempo de ejecución promedio, eventos por segundo, y utilización de CPU estimada, actualizándose en vivo — así puedes ver qué programas eBPF se están ejecutando, con qué frecuencia se disparan, y cuánta sobrecarga agregan. A medida que eBPF se extiende a través de observabilidad, red, y herramientas de seguridad, bpftop responde “¿qué eBPF se está ejecutando y qué me cuesta?”
Requisitos
- Kernel Linux con soporte de estadísticas de tiempo de ejecución de eBPF
- Privilegios raíz (lee estadísticas BPF del kernel)
- bpftop habilita
kernel.bpf_stats_enabled mientras se ejecuta (y lo restaura al salir)
Instalación
Ejecutando
| Comando | Descripción |
|---|
sudo bpftop | Lanzar la TUI en vivo |
bpftop --help | Mostrar opciones |
bpftop --version | Versión |
bpftop debe ejecutarse como raíz porque lee estadísticas BPF del kernel y alterna bpf_stats_enabled.
La Pantalla
| Columna | Significado |
|---|
| ID | ID de programa BPF |
| Nombre | Nombre del programa |
| Tipo | Tipo de programa (kprobe, tracepoint, XDP, cgroup, …) |
| Tiempo de Ejecución Promedio del Período (ns) | Tiempo promedio por ejecución en el período pasado |
| Tiempo de Ejecución Promedio Total (ns) | Promedio desde que se habilitaron las estadísticas |
| Eventos/seg | Tasa de invocación |
| CPU Est. % | Utilización de CPU estimada de este programa |
Teclas Interactivas
| Tecla | Acción |
|---|
↑ / ↓ | Mover la selección |
Enter | Abrir un gráfico detallado para el programa seleccionado |
| Ordenar | Ordenar por tiempo de ejecución / eventos / CPU (columna) |
q | Salir (restaura estado bpf_stats_enabled anterior) |
Qué Buscar
| Observación | Interpretación |
|---|
| Est. CPU % alto en un programa | Un programa eBPF agregando sobrecarga real |
| eventos/seg alto | Un gancho caliente disparándose muy frecuentemente |
| Tiempo de ejecución promedio en aumento | Un programa haciéndose más caro con el tiempo |
| Programas inesperados | eBPF que no sabías que habías instalado |
Por Qué Importa
eBPF sustenta herramientas como Cilium/Tetragon, Falco, Tracee, Pixie, y muchos perfiladores. Cada uno carga programas en el kernel. bpftop da un único lugar para ver la huella agregada y atrapar un programa con comportamiento erróneo u demasiado caliente antes de que degrade el host.
Flujos de Trabajo Comunes
# Ver qué eBPF se está ejecutando y su costo justo ahora
sudo bpftop
# Validar la sobrecarga de un agente de seguridad eBPF recién desplegado
sudo bpftop # ver los programas del agente Est. CPU % bajo carga
# Investigar una regresión de CPU misteriosa que las herramientas de rastreo causan
sudo bpftop # ordenar por Est. CPU %, adentrarse en el programa superior
bpftop vs Herramientas Relacionadas
| Aspecto | bpftop | bpftool | btop / htop |
|---|
| Enfoque | Métricas por programa eBPF en vivo | Inspeccionar/gestionar objetos BPF | Procesos de sistema completo |
| Costo en tiempo real | Sí (tiempo de ejecución, eventos, CPU) | Listado estático | CPU/mem de proceso |
| Interfaz | TUI con gráficos | CLI | TUI |
| Mejor para | Monitorear sobrecarga de eBPF | Gestionar programas/mapas BPF | Monitoreo general |
Recursos