Maison > Article > développement back-end > Pourquoi mon outil pprof produit-il une sortie incorrecte pour mon application Golang ?
Dysfonctionnement de l'outil pprof dans Golang
Malgré un fonctionnement efficace auparavant, l'outil pprof s'est brusquement détérioré, générant une sortie erronée quelle que soit la cible de profilage. Ce problème affecte à la fois le profilage du processeur et celui des membres, produisant des callgraphs disproportionnellement stériles par rapport à la complexité des applications profilées.
Les applications Web concernées fonctionnent correctement, reçoivent des millions de requêtes et génèrent des réponses appropriées. Le problème est apparu brutalement il y a quelques jours sur macOS Yosemite, persistant même après une mise à niveau vers El Capitan.
L'application en question importe le package "github.com/davecheney/profile" et initie le profilage au sein de la fonction principale via "différer profile.Start(profile.MemProfile).Stop()." Cependant, l'outil pprof semble mal fonctionner lorsqu'il est invoqué comme :
go tool pprof /var/folders/26/2sj70_sn72l_93j7tf6r07gr0000gn/T/profile614358295/mem.pprof
Cet appel omet le binaire qui a été profilé. Pour résoudre ce problème, l'outil doit être invoqué comme suit :
go tool pprof ./orig /var/folders/26/2sj70_sn72l_93j7tf6r07gr0000gn/T/profile614358295/mem.pprof
où "orig" représente le binaire qui a été construit avec le profilage activé. Cette modification devrait restaurer l'outil pprof à sa fonctionnalité précédente.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!