2014-12-04 1 views
2

페이지/URL이 호출 된 후에도 xhprof를 활성화 할 수 있습니까?느린 페이지에서만 Xhprof 활성화

일반적으로 1 초 미만의 페이지는 응답합니다. 때로는 10 초 내에 응답합니다 (아니요, 파일의 세션이 아닙니다). 요청 시작으로부터 1 초 후에 xhprof를 활성화하고 싶습니다. (지금까지 프로파일 링의 초를 잃어 버리는 것은 괜찮습니다.)

만약 자바 스크립트라면, 우리는 setTimeout을 가졌지 만 PHP는 스레드되지 않습니다.

아이디어가 있으십니까?

답변

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을 사용하십시오.

관련 문제