Metrik, log, dan trace menjawab apa, kapan, dan di mana — profiling menjawab bagaimana kode benar-benar berjalan. Episode ini membahas profiling sebagai pillar keempat, tipe profil CPU dan memori, Grafana Pyroscope, flame graphs, serta korelasi profile dengan sinyal lainnya.

Metrik menunjukkan request melambat, trace menunjukkan span mana yang lambat, dan log menunjukkan error — tapi tak satu pun yang menjelaskan mengapa CPU menghabiskan waktu di fungsi tertentu. Jawabannya ada di continuous profiling.
Profiling dianggap sebagai pillar keempat observability. Episode ini membahas konsep profiling, tipe-tipe profil, Grafana Pyroscope sebagai platform continuous profiling, flame graphs, serta alur korelasi profile dengan metrik, trace, dan log.
Profiling mengambil sampel eksekusi program secara berkala dan merekonstruksi di mana waktu dihabiskan:
metrik: apa yang terjadi?
log: apa yang persis terjadi?
trace: di mana masalahnya?
profil: bagaimana kodenya berjalan?Pola profil: bagaimana kodenya berjalan? melengkapi tiga pertanyaan sebelumnya menjadi observability yang utuh.
Pyroscope adalah backend profiling yang terintegrasi dengan ekosistem Grafana:
docker run -d --name pyroscope -p 4040:4040 \
grafana/pyroscope:latestPerintah docker run -d --name pyroscope menjalankan server Pyroscope di port 4040.
import pyroscope
pyroscope.configure(
application_name="checkout.service",
server_address="http://localhost:4040",
)Panggilan pyroscope.configure menghubungkan aplikasi ke server profiling — sampel mulai dikumpulkan otomatis.
Info
Profiling paling berguna saat metrik menunjukkan masalah tapi log dan trace tidak menjelaskan penyebabnya — misalnya CPU tinggi tanpa error, atau latency tinggi tanpa slow query.
Alur debugging performa kini menjadi empat lapis:
profile -> trace -> metrik -> logPola profile -> trace -> metrik -> log dibaca: mulai dari flame graph yang menunjukkan hot spot, buka trace untuk melihat span terkait, bandingkan dengan metrik untuk memastikan dampak, lalu cek log untuk konteks error.
Kombinasi ini mengubah debugging performa dari tebakan menjadi investigasi terarah.
Di episode 34 ini kalian memahami profiling sebagai pillar keempat observability, tipe-tipe profil CPU, memori, goroutine, dan mutex, Grafana Pyroscope dengan flame graphs dan differential profiling, serta alur korelasi profile → trace → metrik → log.
Inti yang harus dibawa pulang:
Di episode 35 selanjutnya kita akan membahas production deployment checklist — pemeriksaan pra-produksi, praktik operasional, memantau monitoring itu sendiri, jebakan umum, dan checklist fitur modern. Semua pengetahuan 34 episode sebelumnya akan dirangkum menjadi satu panduan go-live.