Inkonsistenzen bei der Pprof-Ausgabe des Go-Tools
Die Abfrage dreht sich um die unerklärliche Ausgabe des Tools „pprof“ in Go, das Profilierungsfunktionen bereitstellt. Trotz der korrekten Leistung in der Vergangenheit liefert das Tool seit Kurzem keine schlüssigen Ergebnisse.
Unabhängig von der Anwendung, die profiliert wird, selbst bei relativ komplexen Anwendungen mit zahlreichen Funktionsaufrufen, liefert das Tool „pprof“ langweilige Aufrufdiagramme und dürftige Ergebnisse , obwohl die Anwendungen selbst ordnungsgemäß funktionieren.
Das Problem besteht auch nach dem Upgrade auf MacOS Yosemite und El Capitan weiterhin. Das Paket „github.com/davecheney/profile“ wird mit Go v1.5.1 verwendet.
Um die Profile zu generieren, enthält der Code „profile.Start“ und „profile.Stop“ am Anfang des „ main'-Funktion, gefolgt vom Erstellen und Ausführen der Binärdatei. Die resultierende Ausgabe ähnelt jedoch der folgenden:
(pprof) top 269.97kB of 269.97kB total ( 100%) flat flat% sum% cum cum% 269.97kB 100% 100% 269.97kB 100% (pprof)
Die bereitgestellte Lösung behebt diese Diskrepanz, indem sie das Fehlen der Binärdatei im „pprof“-Aufruf hervorhebt. Die korrekte Befehlsstruktur lautet:
go tool pprof ./orig /path/to/profile.pprof
Diese Korrektur stellt sicher, dass „pprof“ auf die kompilierte Binärdatei abzielt und es ihr ermöglicht, die gewünschten Profilierungsinformationen bereitzustellen.
Das obige ist der detaillierte Inhalt vonWarum zeigt meine Go-„pprof'-Ausgabe trotz genauer Anwendungsleistung leere Ergebnisse an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!