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.