仅在慢速页面中激活Xhprof

时间:2014-12-04 13:44:45

标签: php xhprof

是否可以在调用页面/网址后的一段时间后激活xhprof?

通常我的页面响应时间不到1秒。有时他们会在10秒钟内做出回应(不,这不是文件中的会话)。我想在请求开始后1秒钟后激活xhprof。 (现在可以失去第一次的分析)

如果是javascript,我们有setTimeout,但PHP没有线程化。

任何想法?

1 个答案:

答案 0 :(得分:1)

你可以使用这样的东西。 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在所有页面上包含此文件。