Mar 27
xhprof - маленький и простой профайлер для PHP.
Лицензия Apache 2.0 Работает только под Unix.
Компилируется и инсталлируется в два счёта. Статистику отдает через web интерфейс (PHP)
Очень удобно, никаких дополнительных программ, только браузер. Перед инсталляцией нужно не забыть поставить PHP development module
apt-get install php5-dev
А потом обернуть нужный код в
xhprof_enable(); <some code is here> $xhprof_data = xhprof_disable();
и готово.
Я для удобства обернул вообще все вызовы, и отдавал ссылку на страницу с собранной статистикой прямо в HTTP header. Выглядело вот так
// start profiling
xhprof_enable();
<some code is here>
// stop profiler
$xhprof_data = xhprof_disable();
include_once $XHPROF_ROOT . "/root/xhprof/xhprof-0.9.1/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/root/xhprof/xhprof-0.9.1/xhprof_lib/utils/xhprof_runs.php";
$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
header("x-company-name-profile: http://xhprof.company-name.com/index.php?run=$run_id&source=xhprof_foo");
xhprof.company-name.com прописал в hosts на своём компьютере. А на сервере добавил в конфигурацию Apache виртуальный хост
<VirtualHost *:80>
ServerName xhprof.company-name.com
DocumentRoot /root/xhprof/xhprof-0.9.1/hprof_html
<Directory /root/xhprof/xhprof-0.9.1/hprof_html>
AllowOverride All
</Directory>
</VirtualHost>
Любопытно конечно сравнить с другим профайлером - XDebug