Skip to content
_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
References Technologies Blog Know-how Tools
About Collaboration Careers
CS EN DE
Let's talk

Go Profiling with pprof: A Practical Guide

23. 06. 2024 1 min read intermediate

Go has excellent built-in profiling tools. Here is how to use them.

Activating pprof

import _ “net/http/pprof” go func() { log.Println(http.ListenAndServe(“:6060”, nil)) }()

CPU Profiling

go tool pprof http://localhost:6060/debug/pprof/profile?seconds=30

Memory

go tool pprof http://localhost:6060/debug/pprof/heap

Goroutines

curl http://localhost:6060/debug/pprof/goroutine?debug=1

Flame Graphs

go tool pprof -http=:8080 cpu.prof

Benchmarks

func BenchmarkMyFunc(b *testing.B) { for i := 0; i < b.N; i++ { MyFunc() } } go test -bench=. -benchmem

Optimization

  • sync.Pool for repeated allocations
  • Preallocate slices
  • strings.Builder
  • Buffered channels

Summary

pprof is built-in and powerful. CPU + heap covers 90% of problems.

goperformanceprofiling
Share:

CORE SYSTEMS team

We build core systems and AI agents that keep operations running. 15 years of experience with enterprise IT.