2015-05-03 7 views
10

Ich habe das net/http/pprof Paket in meinem Code enthalten. Ich kann dann die pprof Profiler bequem laufen (auf Debian):Golang Profiler kann den Quellcode nicht finden

go tool pprof http://localhost:9000/debug/pprof/profile 

Befehle wie top10 oder sogar Anruf Graphen zu erzeugen wie erwartet. Aber sobald ich in eine Funktion zu gehen versuchen, es scheitert:

(pprof) list MyFunc 
No source information for mypkg.MyFunc 

Mein GOPATH ist auf mein Projekt-Verzeichnis. Benötige ich spezielle Flags oder Umgebungsvariablen beim Erstellen meines Quellcodes oder beim Ausführen von pprof?

+0

Können Sie Ihren Code hinzufügen – MIkCode

+0

Nicht genau, was Sie meinen. Das ist meine Frage. Wie kann ich 'pprof' über meinen Code informieren? – Oliver

Antwort

17

Gefunden die Antwort mit Hilfe der Golang-Nuts Menschen. Ich brauchte die binäre angeben:

go tool pprof mybinary http://localhost:9000/debug/pprof/profile 

diese Weise kann der Quellcode gefunden wird und kann mit der „Liste“ Befehl aufgelistet.

0

Ich hatte das gleiche Problem mit "net/http/pprof", wenn auch auf Windows. Mit "runtime/pprof" statt, mit pprof.StartCPUProfile/StopCPUProfile löste es.

Verwandte Themen