使用 KCacheGrind 聚合 PHP XDebug 数据


Aggregate PHP XDebug data with KCacheGrind

有没有办法聚合以前由 PHP XDeb 获取的配置文件数据?

我已经管理PHP XDebug,将与一个请求相关的数据放入单个文件中。当我在 kcachegrind 中打开该文件时,它会显示该文件中聚合的所有请求。但是,每个请求都有自己的堆栈跟踪(我了解,它可能会更改)。有没有办法查看从所有请求中聚合的配置文件数据?我不在乎它是否不是100%准确或是否缺少某些电话,我只需要对所有日常操作的简要概述。

免责声明:kcachegrind不是必需的,我只是发现它是迄今为止最好的工具。

将所有文件合并为一个:

cat cachegrind.out.* > cachegrind.combined

打开cachegrind.combined 并选择窗口右下角的"零件"选项卡。您将看到配置文件的多个部分列在那里。全部选择它们(CTRL + a或使用鼠标),您将看到所有这些配置文件的总和数据。

生成的

报告是 TEXT 并且可以解析,因此构建生成报告的解析器应该不会很复杂。我将WinCacheGrind用于Windows,发现它非常好,因为除了详细的树之外,它还显示了一般的组合时间/函数以及它有多少调用。

我不确定,但请参阅下面的 URL 并阅读它。我认为这对你很有帮助。

使用 Xdebug 和 Webgrind 分析 PHP

http://www.chrisabernethy.com/php-profiling-xdebug-webgrind/

查找和修复 PHP Web 应用程序中的性能瓶颈可能既耗时又困难。幸运的是,像 Xdebug 和 Webgrind 这样的免费工具允许你轻松找到和可视化 PHP 脚本中的瓶颈。

Webgrind 是 PHP5 中的 Xdebug 分析 Web 前端。它实现了kcachegrind功能的一个子集,并在几秒钟内安装,并适用于所有平台。

任何曾经需要剖析代码的人都可能熟悉KcacheGrind(一种剖析数据可视化工具)。KcacheGrind提供了一种可视化程序执行配置文件数据的方法,使您可以快速轻松地查看程序花费时间的位置。了解执行瓶颈的位置可以让您将优化工作集中在正确的位置。

长期以来,PHP 的 Xdebug 扩展已经能够(除其他外)以 KcacheGrind 可用的格式将执行配置文件信息转储到磁盘,如果您使用 KDE 运行 Linux,这非常有用。

webgrind 项目提供了基于 Web 的 KcacheGrind 替代品,可以安装在任何操作系统上,允许您通过浏览器可视化 Xdebug 分析数据的一部分。

阅读更多

内容 艺术

http://www.chrisabernethy.com/php-profiling-xdebug-webgrind/

另请参阅另一个示例并阅读:-

XDEBUG EXTENSION FOR PHP |文档

http://xdebug.org/docs/profiler

Xdebug的内置分析器允许您查找脚本中的瓶颈,并使用外部工具(如KCacheGrind或WinCacheGrind)可视化这些瓶颈。介绍

Xdebug的Profiler是一个强大的工具,它使您能够分析PHP代码并确定瓶颈,或者通常查看代码的哪些部分很慢并且可以使用速度提升。Xdebug 2 中的探查器以 cachegrind 兼容文件的形式输出分析信息。这允许您使用出色的KCacheGrind工具(Linux/Windows,KDE)来分析您的分析数据。如果你使用的是Linux,你可以用你最喜欢的包管理器安装KCacheGrind;如果你在Windows上,你可以在SourceForge上获得KCacheGrind的预编译二进制文件。

Windows用户也可以使用WinCacheGrind,其功能与KCacheGrind不同,因此此页面上记录KCacheGrind使用的部分不适用于此程序。还有一个名为xdebugtoolkit的替代配置文件信息呈现工具,一个名为Webgrind的基于Web的前端和一个名为XCallGraph的基于Java的工具。

阅读更多

内容 艺术

http://xdebug.org/docs/profiler