Xdebug トレース ファイルを解析して表示するための GUI を探しています。人間が判読できるようにすることはできますが、膨大な数の行が使用できなくなります。
KCachegrind のようなものを探していますが、トレース ファイルが必要です。これらすべての背後にある私の主な目標は、メモリ ホッグが何であるかを見つけることです。
Xdebug トレース ファイルを解析して表示するための GUI を探しています。人間が判読できるようにすることはできますが、膨大な数の行が使用できなくなります。
KCachegrind のようなものを探していますが、トレース ファイルが必要です。これらすべての背後にある私の主な目標は、メモリ ホッグが何であるかを見つけることです。
これはかなりしっかりしていることがわかりました。多分それはあなたにも役に立ちます:
私はこれを見つけました:xdebug trace file parser。
今日開始されたxdebugを使用したところ、数時間前にもこの問題に遭遇しました。xdebug トレース用の cachegrind スタイルの GUI が欲しいです。
低レベルの呼び出しの多くには、strlen() 呼び出しのような不必要な情報が含まれています。xdebug がトレース ファイルを開始すると、関数への最上位レベルの呼び出し用に 21 個のスペース、第 2 レベルの呼び出し用に 23 個のスペース、25 個などのスペースが含まれていることがわかりました。したがって、最上位レベルの呼び出しをリストするには 22 以上のスペースを含む行を grep アウトし、sencond およびそれ以上のレベルの呼び出しには 24 を使用します。
cat trace.xt | grep -v ' '
Web ベースのトレース パーサーは良いアイデアに思えます。出力を、折りたたむことができるネストされた ul 要素と li 要素の束に解析できます。私も時間がありませんが、コラボレーションが必要な場合はお知らせください.
.NET WinForms を使用して簡単なビューアーを作成しました。
https://github.com/ron-inbar/xdebug-trace-viewer
ビルドするには、Visual Studio (2010 以降) が必要です。コードを自由にカスタマイズしてください。
Xdebug Trace Explorer を試すことができます。ツリー スタイルで表示します。周りを見回して構築しましたが、一致するソリューションが見つかりませんでした。まだ大きなファイル用に最適化していません:
http://derickrethans.nl/xdebug-and-tracing-memory-usage.htmlに声をかけてください。典型的な GUI ではありませんが、データを簡単に表示できます。
xdebug.org には vim 用のスクリプトがあり、「コードの折りたたみ」を実行して簡単に掘り下げることができますが、その形式をあらゆる種類のグラフィック表現に解析できるものは見たことがありません。
Eclipse 用の PDT プラグインはトレース ログをインポートすると信じており、xdebug と統合してプロファイリングを実行できることを知っています。
WebGrind は、ブラウザー経由で CacheGrind ファイルを表示するための優れた簡単な方法を提供します。
しかし、Facebook によってオープンソース化された XHProf を見てください。セットアップは非常に簡単で、多くの重要なメトリクスを取得し、コール グラフも生成します。
これがまさにあなたが必要としているものかどうかはわかりませんが、XDebug でプロファイリングを有効にしてから、大きな cachegrind ファイルをダンプできます。私の Mac では、MacCallGrind を使用してこれらのダンプを GUI で表示しました。少なくとも、特定のリクエストに対する呼び出しのスタック全体と、各呼び出しにかかった時間を確認できます。そうですか?Eclipse PDT ではまだ動作していません。