5

我希望 xdebug 仅跟踪超过 X 毫秒或超过 Y KB RAM 的“跳转”,例如,每次执行时间超过 100 毫秒或内存使用量增加超过 100 KB。这将使我忽略数千条我不需要查看的跟踪行,并使优化变得更加容易 - 因为在 ZF2 中,臃肿的框架需要 1 秒才能从我们的企业项目中的 composer 自动加载器开始,结果在数千行中我真的没有用。沿着这条线的某个地方,我确实发现执行时间的跳跃更大,但不是在长时间滚动之后。

是否有默认选项来禁用“比 X 更快”执行的日志记录,或者如果没有,您是否知道可以将较慢的执行 grep 排除在外的辅助 shell/python 脚本?

为了澄清起见,我说的是通过在我的应用程序中运行 xdebug_start_trace() 获得的 .xt 文件的内容。

4

1 回答 1

1

我对这些选项一无所知,但我可能建议使用配置文件而不是跟踪。

是一篇如何使用它的文章。如果简短,请将这些行放在您的 php.ini 文件中:

xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir="c:\Projects"

当你想启动分析器时,使用查询参数运行 url?XDEBUG_PROFILE=1

这将生成一个名为 like 的文件cachegrind.out.*并将其放入profiler_output_dir.

可以使用您操作系统的 CacheGrind 查看器查看该文件。上面的链接有一个应用程序列表,用于查看不同平台的这些文件。我正在使用 wincachegrind(用于 Windows)来分析 ZendFramework 应用程序。对我来说非常有用的工具。界面允许查看调用树、执行时间、调用次数等。好吧,但我看不到用它来测量内存使用情况的选项。

于 2013-02-13T08:14:16.627 回答