Go Profiling Observability Pprof Expvar Trace Runtime Metrics
Definisi
Go punya tooling observability bawaan: net/http/pprof (CPU/mem/goroutine profile), expvar (metrik JSON di /debug/vars), dan runtime/trace (timeline eksekusi). Digunakan untuk menemukan bottleneck tanpa APM eksternal.
Kapan dipakai
Pakai saat produksi lambat, memory leak, atau goroutine bocor. Jangan enable pprof di public endpoint tanpa auth — itu info sensitif.
Cara kerja
Enable pprof
import _ "net/http/pprof"
// di main: go func() { http.ListenAndServe("localhost:6060", nil) }()go