Maison  >  Article  >  développement back-end  >  Pourquoi mon outil pprof produit-il une sortie incorrecte pour mon application Golang ?

Pourquoi mon outil pprof produit-il une sortie incorrecte pour mon application Golang ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-01 13:11:29679parcourir

 Why is my pprof tool producing incorrect output for my Golang application?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn