我希望xdebug只跟踪超过X ms或超过Y KB RAM的“跳转”,例如,每次执行时间超过100毫秒或内存使用量增加超过100KB。这样我就可以忽略数千条我不需要查看的跟踪线,并且可以使优化变得更加容易 - 因为在ZF2中,膨胀的框架需要1秒才能开始使用我们企业项目中的composer autoloader,结果在成千上万行中我真的没用。沿着这条线的某个地方,我确实发现了执行时间的较大跳跃,但不是经过长时间的滚动。
是否有一个默认选项来禁用“比X更快”执行的日志记录,或者如果没有,你知道一个帮助shell / python脚本可以只发出较慢的那些吗?
为了澄清,我正在讨论通过在我的应用程序中运行xdebug_start_trace()获得的.xt文件的内容。
答案 0 :(得分:1)
我对这些选项一无所知,但我建议的是使用配置文件而不是跟踪。
Here是一篇如何使用它的文章。 如果很短,请将这些行放在php.ini文件中:
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir="c:\Projects"
当您想要启动探查器时,请使用查询参数?XDEBUG_PROFILE=1
这将生成一个名称为cachegrind.out.*
的文件,并将其放入profiler_output_dir
。
可以使用CacheGrind查看器查看该文件。上面的链接有一个应用程序列表,可以查看不同平台的文件。我使用wincachegrind(用于Windows)来分析ZendFramework应用程序。对我来说非常有用的工具。界面允许查看调用树,执行时间,调用次数等。 好吧,但我看不到用它来测量内存使用情况的选项。