Este artigo apresenta um tutorial sobre o uso de eBPF com Go para alcançar observabilidade em nível de kernel, abordando a falta de visibilidade ao depurar problemas em serviços gerados por IA.

  • Ferramentas tradicionais de logging e profiling falham em detectar problemas que ocorrem no nível do kernel, como chamadas excessivas de I/O de arquivos.
  • O eBPF permite o rastreamento de chamadas de sistema, I/O de arquivos, eventos de rede, uso de CPU/memória e eventos personalizados de aplicativos sem modificar o kernel ou reiniciar serviços.
  • O autor demonstra o rastreamento de syscalls usando Go e a biblioteca do Cilium, incluindo o carregamento de programas eBPF e a anexação a kprobes.
  • As etapas principais envolvem instalar a ferramenta de linha de comando eBPF do Cilium, escrever programas eBPF em C compilados com clang e carregá-los do Go.

Essa abordagem permite que os desenvolvedores identifiquem comportamentos ocultos no nível do kernel, como I/O excessivo, que não são visíveis nos logs do aplicativo, permitindo uma otimização eficaz dos serviços gerados por IA.