Активируйте Xhprof только на медленных страницах

Можно ли активировать xhprof только через некоторое время после вызова страницы / URL?

Обычно у меня есть страницы, которые отвечают менее чем за 1 секунду. Иногда они отвечают через 10 секунд (нет, это не сеанс в файле). Я хочу активировать xhprof через 1 секунду после начала запроса. (Теперь можно потерять первую секунду профилирования)

Если это был javascript, у нас есть setTimeout, но PHP не является многопоточным.

Любая идея?

2

Решение

Вы можете использовать что-то вроде этого. xhprofon.php:

function my_xhprof_disable()
{
$xhprof_data = xhprof_disable();

if(defined('MY_DEBUG_START') && (microtime(true) - MY_DEBUG_START) > 1)
{
$XHPROF_ROOT = "/src/to/xprof/";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";
$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "mysitename");
}
}

define('MY_DEBUG_START', microtime(true));
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

register_shutdown_function('my_xhprof_disable');

Затем используйте auto_prepend_file для включения этого файла на все страницы.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]