プロファイリングの私は、以前問題なくpprofツールを使用しました、それは素晴らしい仕事 - 今私はプロフィール何に関係なく、次のような出力が表示されます。golangツール - 同じ壊れ出力にかかわらず、ターゲット
この例でプロファイルされているアプリケーションはおそらく40以上の関数呼び出しを行い、さらに複雑なアプリケーションはCPUとmemprofilingの両方に類似のコールグラフを生成しています。 Imはプロフィールしようとして
アプリは、私はすべてのWebアプリケーション一度に1分のためにそれらをプロファイリングし、200,000,000+要求を生成するためにWRKを使用していている=すべてのデータを返すと2XX応答
pprofが突然動作を停止しました数日前にosx yosemiteを実行しています。問題を解決しようとして、最近私はel capitanにアップグレードしましたが、結果は同じです。
注:これはちょうどグラフを呼び出すされていません - 呼び出しリストまたはtopコマンドは、同様に、不毛な結果をもたらすが、アプリケーション自体は正常に動作:「github.com/davecheney/:
(pprof) top
269.97kB of 269.97kB total ( 100%)
flat flat% sum% cum cum%
269.97kB 100% 100% 269.97kB 100%
(pprof)
を私は次のパッケージを使用しています明確にするため、外出先v1.5.1デベロッパー
を持つプロファイル」には、ここで私はプロファイルを生成するためにやっているものだ::
私はmain.goに上記のパッケージをインポートし、私のメインFUNCの先頭に次を配置します:
私は、このような出力が表示go build -o orig /Users/danielwall/www/netlistener/application/adrequest.go /Users/danielwall/www/netlistener/application/cookie.go /Users/danielwall/www/netlistener/application/header.go /Users/danielwall/www/netlistener/application/lex.go /Users/danielwall/www/netlistener/application/main.go /Users/danielwall/www/netlistener/application/publisher_ids.go /Users/danielwall/www/netlistener/application/request.go /Users/danielwall/www/netlistener/application/response.go /Users/danielwall/www/netlistener/application/server.go /Users/danielwall/www/netlistener/application/sniff.go /Users/danielwall/www/netlistener/application/status.go /Users/danielwall/www/netlistener/application/transfer.go
./orig
を:私は、バイナリをビルドして実行します
defer profile.Start(profile.MemProfile).Stop()
2015/11/16 11:39:49 profile: memory profiling enabled, /var/folders/26/2sj70_sn72l_93j7tf6r07gr0000gn/T/profile614358295/mem.pprof
を今私は別の端末からアプリを動作します:
wrk -d60 -c10 -H "X-Device: desktop" -H "X-Country-Code: GB" "http://localhost:8189/app?id=111&schema=xml2&ad_type=auto&url=http://test.com/&category=bob"
Running 1m test @ http://localhost:8189/app?id=111&schema=xml2&ad_type=auto&url=http://test.com/&category=bob
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 414.09us 0.92ms 55.36ms 95.66%
Req/Sec 17.57k 3.19k 22.59k 76.00%
2097764 requests in 1.00m, 684.20MB read
Requests/sec: 34958.03
Transfer/sec: 11.40MB
60秒後に私のプロフィールを確認するために戻ってきます:
^C2015/11/16 12:05:20 profile: caught interrupt, stopping profiles
go tool pprof /var/folders/26/2sj70_sn72l_93j7tf6r07gr0000gn/T/profile614358295/mem.pprof
ここで何が起きているのでしょうか、それとも撮影/解決の問題から始めることができますか?
助けを歓迎します。
* *どのようにプロファイルを作成するかを表示します。特に 'profile.Start'のあなたの設定です。 –
最後に実行したすべてのものを含むように更新されました - おかげでありがとう – WebweaverD
'go build'ではなく' go build'ファイルを1つずつフィードする理由は何ですか?また、 'go tool pprof'コールはバイナリ自体が欠落しているようです。' go tool pprof。/ orig/path/to/profile.pprof'でなければなりません。 –