2015-05-03 10 views
10

Ho incluso il pacchetto net/http/pprof nel mio codice. Posso quindi eseguire comodamente il pprof profilatore (su Debian):Profiler Golang non trova il codice sorgente

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

Comandi come top10 o anche generare grafici di chiamata funzionano come previsto. Tuttavia, non appena cerco di andare in una funzione, non riesce:

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

mio GOPATH è impostata sulla directory del mio progetto. Ho bisogno di eventuali flag speciali o variabili d'ambiente durante la creazione del mio codice sorgente o durante l'esecuzione di pprof?

+0

Puoi aggiungere il tuo codice – MIkCode

+0

Non sei proprio sicuro di cosa intendi. Questa è la mia domanda. Come posso lasciare che 'pprof' sappia del mio codice? – Oliver

risposta

17

Trovato la risposta con l'aiuto delle persone golan-noci. Avevo bisogno di specificare il binario:

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

In questo modo il codice sorgente viene trovato e può essere elencata con il comando "list".

0

Ho avuto lo stesso problema con "net/http/pprof", anche se su Windows. Utilizzando "runtime/pprof" invece, con pprof.StartCPUProfile/StopCPUProfile risolto.

Problemi correlati