是否可以仅在调用页面/url 后的一段时间后激活 xhprof?
通常我的页面响应时间不到 1 秒。有时他们会在 10 秒内回复(不,这不是存档的会话)。我想在请求开始 1 秒后激活 xhprof。(现在失去分析的第一秒是可以的)
如果是 javascript,我们有 setTimeout,但 PHP 不是线程化的。
任何想法?
你可以使用这样的东西。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 在所有页面上包含此文件。