page_adsence

2011年6月27日月曜日

xhprofを使ってみる

前回は自分の環境にxhprofをインストールするまで完了したので、
今回はそれを実際に使ってみる。

例として以下のソースのプロファイルが取りたい場合

$action = new Action;
$action->execute();

まず、インストール時に作成された「xhprof_html」ディレクトリと「xhprof_lib」ディレクトリの場所を確認しておく。
今回の場合は「/tmp/pear/download/xhprof-0.9.2/」以下の2つのディレクトリがある。
2つのディレクトリはドキュメントルート以下にコピーして設置しておく。

で、以下の記述を追加する。
require_once '/tmp/pear/download/xhprof-0.9.2/xhprof_lib/utils/xhprof_lib.php';
require_once '/tmp/pear/download/xhprof-0.9.2/xhprof_lib/utils/xhprof_runs.php';

xhprof_enable();

$action = new Action;
$action->execute();

$xhprofData = xhprof_disable();
$sourceName = 'HTML Generator';
$xhprofRuns = new XHProfRuns_Default();
$runId      = $xhprofRuns->save_run($xhprofData, $sourceName);
echo '<a href="http://example.co.jp/xhprof/xhprof_html/index.php?run='.$runId.'&source='.$sourceName.'" target="_blank">xhprof Result</a>';

以上で追記しないといけない内容に関しては完了である。
これで実行すると、最後にechoで出力しているリンクをクリックするとプロファイルができている。
ちなみに、callgraphを出そうとする場合は、別途graphvizをインストールする必要がある。
インストール方法は以下の通り。

# cd /etc/yum.repos.d/
# wget http://www.graphviz.org/graphviz-rhel.repo
# yum install graphviz