Middle+
Tell about the pprof package.
sobes.tech AI
Answer from AI
pprof is a package in Go designed for profiling program performance. It allows collecting and analyzing data on CPU usage, memory, blocking, and other resources during application execution.
Main features of pprof:
- Collecting profiles of CPU, memory (heap), blocking, and goroutines.
- Visualizing profiles as call graphs, flame graphs, and other formats.
- Integration with an HTTP server for dynamic profiling of a running application.
Example usage:
import (
"net/http"
_ "net/http/pprof"
)
func main() {
go func() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}()
// main application code
}
After starting the application, you can open a browser at http://localhost:6060/debug/pprof/ to view profiles.
You can also collect profiles with the command:
ngo tool pprof http://localhost:6060/debug/pprof/profile?seconds=30
pprof helps identify bottlenecks in performance and optimize code.