はじめに

XHProf は、軽量で階層型な命令ベースのプロファイラです。 データ収集フェーズでは、呼び出し回数や プログラムの動的コールグラフ内の弧の包括的メトリクスを追跡します。 排他的メトリクス (実行時間や CPU 時間、メモリ使用量など) の計算は、レポーティングや後処理のフェーズで行います。 関数のプロファイルは、呼び出す側と呼び出される側に分けることができます。 XHProf が再帰関数を扱うときには、コールグラフ内での循環をデータ収集時に検出し、 循環を回避するために、再帰の実行のたびにその深さも含めた一意な名前をつけます。

XHProf には、シンプルな HTML ベースのユーザーインターフェイス (PHP で書かれたもの) が含まれています。 ブラウザ上でプロファイル結果を見られるので、結果を見たり他人と共有したりが簡単にできるようになります。 コールグラフの画像表示にも対応しています。

XHProf のレポートは、実行されたコードの構造を把握するのにも便利です。 レポートは階層構造になっているので、これを利用して、 たとえば特定の関数が呼ばれるに至るまでの関数呼び出しの流れをたどることもできます。

XHProf には、二回の実行結果を比較 ("diff" レポート) したり、複数回実行した結果を集約したりする機能もあります。 差分のレポートや集約レポートに関しても、単一の実行レポートと同様に 「フラット」な表示と「階層型」の表示でプロファイルを確認できます。

詳細な情報は » xhprof の facebook ページ を参照ください。