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.