問題タブ [pprof]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - 本番環境で実行されているgoマイクロサービスでメモリリークを検出する最良の方法は何ですか?
ライブで本番環境で実行されているマイクロ サービスでメモリ リークを検出するのに役立つ、golang の効率的な方法/ツールを知る必要があります。
go - pprof を使用して特定の関数の CPU プロファイルを実行するには?
このブログでは、pprof を使用して CPU プロファイルを実行する方法について詳しく説明しています。プロファイリング時に、main
pprof がサンプルをスタック フレームの下部 100 に切り詰めるため、サンプルから次のような関数が消える場合があります。これは文書化されています:
実際、main.FindLoops と main.main の合計は 100% であるはずですが、各スタック サンプルには下位 100 スタック フレームしか含まれていません。サンプルの約 4 分の 1 で、再帰的な main.DFS 関数が main.main よりも 100 フレーム以上深いため、トレース全体が切り捨てられました。
問題は、プロファイルしたい特定の機能があることです。サンプラーは、5% の確率で表示されると報告していますが、それは正確ではないことがわかっています。切り捨てにより、スタック上のそのフレームが失われたに違いありません。
特定の関数をプロファイリングし、スタック フレーム サンプルから決して切り捨てない方法はありますか? その真の CPU プロファイルを 100% から知りたいです。