Vik*_*tás 2 php debugging wordpress profiling hook-woocommerce
什么工具、方法最适合分别获取每个WP 函数的执行时间。理想情况下,我希望看到一个列表,如下图所示:
这是“调试栏”插件的 UI,带有“慢动作”插件,这是一个好的开始,但现在对我来说还不够,因为它只显示钩子本身的总运行时间,而不显示各个函数(回调)一一附加到它们上。
见下图:
因此,我也很高兴看到每个功能的单独时间。
到目前为止,这个插件让我最接近这个,它肯定是一个有价值的产品,但是有可能对其进行改进吗?--> 我们是否知道任何现成的解决方案(自定义代码或产品)?
(作为参考,这里是我在研究这个主题期间发现的一个较旧的相关问题。在这里我计划检查 Xdebug,但首先我想找到 Wordpress 特定的工具。)
感谢您的任何帮助/提示!
最好的,
维克托
我是 Konstantin,我编写了您在屏幕截图中显示的调试栏慢动作扩展,感谢您试用它!它没有显示每个函数调用以及每个函数调用所花费的时间的原因是因为在纯 PHP 中很难获得此信息。但幸运的是,还有其他选择。
您正在寻找的称为profiling,并且有很多很棒的选项,例如您已经提到的 Xdebug,但也有更轻量级的工具,例如 XHProf。它们并不是专门针对 WordPress 的,这使得挖掘操作和过滤器变得有点棘手,因为您只会看到“do_action()花了 X 毫秒”,但不会告诉您哪些操作或过滤器是违规的。
Gennady Kovshenin在这里为 Xdebug 编写了一个补丁,以将 WordPress 操作和过滤器名称添加到输出中,因此,如果您愿意修补 C 程序并编译它,那么如果您已经在每日贝斯。
我为 XHProf 编写了一个类似的补丁,这是一个可以在生产中运行的轻量级分层分析器。它标记 WordPress 操作和过滤器,还标记关闭/匿名函数。另外,原始版本(恰好也是一个分支)跟踪curl_exec()和mysqli_query(),这是基于 WordPress 的产品中两个非常常见的问题。
XHProf 的修改版本附带了我为 WordPress 编写的部署工具,其中包含一个基于 CLI 的配置文件浏览器,它将向您显示连接到 WordPress 操作或过滤器的每个函数及其计时,并允许您深入了解其父级和子函数:
重申一下,如果您正在 WordPress 中寻找有关操作和过滤器、MySQL 查询或远程请求的一些常规计时,那么查询监视器、调试栏(扩展器、远程请求、慢操作等)等工具可以为您提供帮助出去。但是,如果信息不足,您的下一站应该是操作分析器:Xdebug、XHProf、New Relic 等。
祝你好运,希望有所帮助。