Junior — Middle
Quais métodos de profiling você aplicou no seu trabalho?
sobes.tech IA
Resposta da IA
No trabalho com Go para profiling, geralmente uso o pacote embutido pprof, que permite coletar e analisar perfis de CPU, memória, bloqueios e goroutines.
Métodos principais:
- Profil de CPU: ajuda a entender quais funções consomem mais tempo de CPU.
- Profil de heap: identifica vazamentos de memória e objetos que ocupam muito espaço.
- Profil de bloqueio: analisa bloqueios e esperas.
- Profil de goroutines: mostra o estado das goroutines, ajuda a detectar deadlocks ou vazamentos.
Exemplo de início de perfil de CPU:
import (
"net/http"
_ "net/http/pprof"
)
func main() {
go func() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}()
// código principal
}
Após iniciar, você pode conectar-se a http://localhost:6060/debug/pprof/ e baixar perfis para análise usando go tool pprof.
Também uso ferramentas externas, por exemplo, perf no Linux para profiling do sistema, e visualizadores como pprof.io.