Edit: работал, когда я добавил исполняемый на вызов pprofпрофилировщика не показывает вызовы функций (/ ПГК/профиль с pprof)
Я пытаюсь профилировать простую программу с профилировщика из https://github.com/pkg/profile: и идти инструмент pprof.
package main
import "github.com/pkg/profile"
func main() {
defer profile.Start().Stop()
t1()
t2()
}
func t1() {
for i := 0; i < 9000000000; i++ {
x := i * 2
x += x
}
}
func t2() {
for i := 0; i < 1000000000; i++ {
x := i * 2
x += x
}
}
Пример показывает хороший стол со всеми функциями, которые были призваны и сколько времени было потрачены в каждом из них, но я только видел использование 100% в течение нескольких секунд при отсутствии дополнительной информации
Что я могу сделать, чтобы он выдавал функции? имеет ли он какое-либо отношение к строке «cpu profiling disabled», которая выводится при выполнении кода?
это то, что я использовал для создания выходного сигнала:
./test
2016/12/16 11:04:39 profile: cpu profiling enabled, /tmp/profile176930291/cpu.pprof
2016/12/16 11:04:44 profile: cpu profiling disabled, /tmp/profile176930291/cpu.pprof
[email protected]:~/work/bin$ go tool pprof -text /tmp/profile176930291/cpu.pprof
4.90s of 4.90s total ( 100%)
flat flat% sum% cum cum%
4.90s 100% 100% 4.90s 100%
Вы должны вызвать pprof с двоичной в качестве первого аргумента – JimB