Warum erzeugt mein pprof-Tool eine falsche Ausgabe für meine Golang-Anwendung?

Barbara Streisand
Freigeben: 2024-11-01 13:11:29
Original
677 Leute haben es durchsucht

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

pprof-Tool funktioniert nicht in Golang

Obwohl das pprof-Tool zuvor effektiv funktionierte, hat es sich abrupt verschlechtert und erzeugt unabhängig vom Profilierungsziel eine fehlerhafte Ausgabe. Dieses Problem betrifft sowohl die CPU- als auch die Memprofilierung und erzeugt Callgraphs, die im Verhältnis zur Komplexität der profilierten Anwendungen unverhältnismäßig unfruchtbar sind.

Die betroffenen Webanwendungen funktionieren angemessen, empfangen Millionen von Anfragen und generieren entsprechende Antworten. Das Problem trat vor ein paar Tagen plötzlich unter macOS Yosemite auf und blieb auch nach einem Upgrade auf El Capitan bestehen.

Die betreffende Anwendung importiert das Paket „github.com/davecheney/profile“ und initiiert die Profilerstellung innerhalb der Hauptfunktion durch „defer profile.Start(profile.MemProfile).Stop().“ Allerdings scheint das pprof-Tool eine Fehlfunktion zu haben, wenn es wie folgt aufgerufen wird:

go tool pprof /var/folders/26/2sj70_sn72l_93j7tf6r07gr0000gn/T/profile614358295/mem.pprof
Nach dem Login kopieren

Bei diesem Aufruf wird die Binärdatei weggelassen, die profiliert wurde. Um dieses Problem zu beheben, sollte das Tool wie folgt aufgerufen werden:

go tool pprof ./orig /var/folders/26/2sj70_sn72l_93j7tf6r07gr0000gn/T/profile614358295/mem.pprof
Nach dem Login kopieren

wobei „orig“ die Binärdatei darstellt, die mit aktivierter Profilerstellung erstellt wurde. Durch diese Änderung sollte die vorherige Funktionalität des pprof-Tools wiederhergestellt werden.

Das obige ist der detaillierte Inhalt vonWarum erzeugt mein pprof-Tool eine falsche Ausgabe für meine Golang-Anwendung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!