Artikel ini menyajikan tutorial tentang penggunaan eBPF dengan Go untuk mencapai observabilitas tingkat kernel, mengatasi kurangnya visibilitas saat men-debug masalah produksi dalam layanan yang dihasilkan AI.
- Alat logging dan profiling tradisional gagal mendeteksi masalah yang terjadi di tingkat kernel, seperti panggilan I/O file yang berlebihan.
- eBPF memungkinkan pelacakan syscall, I/O file, peristiwa jaringan, penggunaan CPU/memori, dan peristiwa aplikasi kustom tanpa memodifikasi kernel atau memulai ulang layanan.
- Penulis mendemonstrasikan pelacakan syscall menggunakan Go dan pustaka Cilium, termasuk memuat program eBPF dan melampirkannya ke kprobes.
- Langkah-langkah kunci meliputi menginstal alat baris perintah Cilium eBPF, menulis program eBPF dalam C yang dikompilasi dengan clang, dan memuatnya dari Go.
Pendekatan ini memungkinkan pengembang mengidentifikasi perilaku tingkat kernel yang tersembunyi, seperti I/O berlebihan, yang tidak terlihat dalam log aplikasi, memungkinkan optimisasi efektif layanan yang dihasilkan AI.