我正在尝试寻找一个 GUI 来解析和查看Xdebug 跟踪文件。尽管您可以使它们具有人类可读性,但绝对行数使其无法使用。
我正在寻找类似 KCachegrind 的东西,但要寻找跟踪文件。这一切背后的主要目标是找出内存猪是什么。
我正在尝试寻找一个 GUI 来解析和查看Xdebug 跟踪文件。尽管您可以使它们具有人类可读性,但绝对行数使其无法使用。
我正在寻找类似 KCachegrind 的东西,但要寻找跟踪文件。这一切背后的主要目标是找出内存猪是什么。
我发现这非常可靠。也许它也对您有用:
我找到了这个:xdebug trace file parser。
我今天刚开始使用xdebug,几个小时前也遇到了这个问题。我喜欢用于 xdebug 跟踪的 cachegrind 风格的 gui。
许多较低级别的调用包含不必要的信息,例如 strlen() 调用。我发现xdebug启动跟踪文件有21个空格用于顶级函数调用,23个空格用于二级调用,25个等等。所以你可以做的是 grep out 超过 22 个或更多空格的行来列出顶级调用,24 个用于第二级和更高级别的调用等。
cat trace.xt | grep -v ' '
基于 Web 的跟踪解析器听起来是个好主意。它可以将输出解析为一堆可以折叠的嵌套 ul 和 li 元素。我的时间也很紧,但如果你想合作,让我知道。
我使用 .NET WinForms 编写了一个简单的查看器:
https://github.com/ron-inbar/xdebug-trace-viewer
您将需要 Visual Studio(2010 或更高版本)来构建它。随意自定义代码。
你可以试试 Xdebug Trace Explorer。以树样式查看。我环顾四周后构建了它,但没有找到任何匹配的解决方案。仍未针对大文件进行优化:
xdebug.org 上有一个 vim 脚本,可以让您进行“代码折叠”以使它们更容易挖掘,但我从未见过任何可以将该格式解析为任何类型的图形表示的东西。
向http://derickrethans.nl/xdebug-and-tracing-memory-usage.html 大喊。不是典型的 GUI,但它确实可以轻松查看数据。
我相信 Eclipse 的 PDT 插件会导入跟踪日志,我知道它可以与 xdebug 集成并进行分析
WebGrind 提供了一种通过浏览器查看 CacheGrind 文件的简单方法:
但是看看 Facebook 开源的 XHProf,它非常容易设置,捕获许多重要指标,甚至生成调用图:
我不知道这是否正是您所需要的,但您可以在 XDebug 中启用分析,然后转储一个大的 cachegrind 文件。然后在我的 Mac 上,我使用 MacCallGrind 在 GUI 中查看这些转储。我至少可以看到给定请求的整个调用堆栈以及每个调用花费了多少时间。你是这个意思吗?我还没有在 Eclipse PDT 中工作。