PHP脚本的计时部分,包括对象的各个方法的运行时?

PHP脚本的计时部分,包括对象的各个方法的运行时?,php,debugging,methods,timing,Php,Debugging,Methods,Timing,我正在寻找一种可靠、干净的方法来为PHP脚本的特定部分生成高级运行时报告。我想做的是在脚本执行期间动态地计时和跟踪每个对象的每个方法调用,记录这些信息,并在脚本末尾创建一个表/报告以供输出 我考虑过做一些类似的事情,用伪代码: class MagicTimingClass redefines *ALL_CLASSES* { public function __call($name, $args) { log_start_time(); $return =

我正在寻找一种可靠、干净的方法来为PHP脚本的特定部分生成高级运行时报告。我想做的是在脚本执行期间动态地计时和跟踪每个对象的每个方法调用,记录这些信息,并在脚本末尾创建一个表/报告以供输出

我考虑过做一些类似的事情,用伪代码:

class MagicTimingClass redefines *ALL_CLASSES* {
    public function __call($name, $args) {
        log_start_time();
        $return = run_the_method();
        log_end_time();
        return $return; // return original method results
    }
}
我知道我做不到这一点,我已经研究了PHP的
runkit
/
classkit
,但我不确定这是否能帮助我实现我想要的目标

我希望能得到一份报告,这样我就可以确定是什么方法导致我的脚本出现瓶颈,而无需临时修改我的类以进行这一级别的调试,然后在需要代码投入生产时再次取消修改


如果有人有任何想法或线索,那将是伟大的!提前感谢

您可以使用这样的探查器,这意味着您根本不需要修改代码。

您可以使用这样的探查器,这意味着您根本不需要修改代码。

最终这是最好的解决方案。自从我提出这个问题以来,我做了大量的研究,发现xdebug与WinCacheGrind的结合已经被证明是一个惊人的工具组合。非常感谢。最后,这是最好的解决办法。自从我提出这个问题以来,我做了大量的研究,发现xdebug与WinCacheGrind的结合已经被证明是一个惊人的工具组合。非常感谢。