Eclipse PHP Profiler - 如何获取参数?

时间:2011-08-17 16:42:55

标签: php eclipse profiling profiler

使用Eclipse的PHP Profiler,我发现我的代码中有一个被多次调用的方法的瓶颈。问题是我无法分辨哪些参数传递给方法以确定如何重现症状。

我已尝试将探查器报告的代码包围一整秒,以完成以下操作:

$startTime = microtime(true);
$safe_text = wp_check_invalid_utf8( $text );
$endTime = microtime(true);
$time = $endTime - $startTime;
if ($time > .05) {
    error_log('Time: ' . $time . ' text [' . $text . ']');
}

我从来没有在错误日志中点击过一次,但是探查器会继续报告一个完整的秒数。在浏览器中刷新页面确实表明存在显着的缓慢。

我在代码的3个不同区域遇到同样的问题,并且知道在缓慢运行时传递给方法的内容可能有助于解决问题。有什么方法可以确定当它缓慢运行时传递给间歇性慢速方法的是什么?

1 个答案:

答案 0 :(得分:0)

可以使用xdebug来设置它,这是Eclipse用于分析的,但默认情况下它被禁用,因为在一个项目中记录这些数据会导致大量调用或传递大型数据结构,这很快就会破坏你的可用内存。

我建议您按照目前的方式进行手动记录,但我首先要测量所有对wp_check_invalid_utf8的调用的总时间,以确保您在该部分中确实存在问题并且这不仅仅是Eclipse探查器本身导致的问题。一旦确定总时间超过了您的预期,就可以开始记录各个呼叫及其参数。