Este artículo presenta un tutorial sobre el uso de eBPF con Go para lograr observabilidad a nivel del kernel, abordando la falta de visibilidad al depurar problemas de producción en servicios generados por IA.

  • Las herramientas tradicionales de registro y perfilado no logran detectar problemas que ocurren a nivel del kernel, como llamadas excesivas de E/S de archivos.
  • eBPF permite rastrear llamadas al sistema, E/S de archivos, eventos de red, uso de CPU/memoria y eventos personalizados de la aplicación sin modificar el kernel ni reiniciar los servicios.
  • El autor demuestra el rastreo de syscalls usando Go y la biblioteca de Cilium, incluyendo la carga de programas eBPF y su conexión a kprobes.
  • Los pasos clave implican instalar la herramienta de línea de comandos Cilium eBPF, escribir programas eBPF en C compilados con clang y cargarlos desde Go.

Este enfoque permite a los desarrolladores identificar comportamientos ocultos a nivel del kernel, como E/S excesiva, que no son visibles en los registros de la aplicación, lo que posibilita una optimización efectiva de los servicios generados por IA.