使用KCacheGrind聚合PHP XDebug数据

使用KCacheGrind聚合PHP XDebug数据,php,profiling,aggregate,xdebug,kcachegrind,Php,Profiling,Aggregate,Xdebug,Kcachegrind,是否有任何方法可以聚合PHP XDebug以前使用的概要文件数据 我管理了PHPXdebug,将与一个请求相关的数据放在单个文件中。当我在kcachegrind中打开该文件时,它会显示该文件中聚合的所有请求。但是,每个请求都有自己的堆栈跟踪(我知道,它可能会更改)。是否有任何方法可以查看从所有请求聚合的配置文件数据?我不在乎它是否100%准确,或者是否有一些电话丢失,我只需要所有日常操作的简要概述 免责声明:kcachegrind不是必需的,我只是发现它是迄今为止最好的工具。生成的报告是文本的,

是否有任何方法可以聚合PHP XDebug以前使用的概要文件数据

我管理了PHPXdebug,将与一个请求相关的数据放在单个文件中。当我在kcachegrind中打开该文件时,它会显示该文件中聚合的所有请求。但是,每个请求都有自己的堆栈跟踪(我知道,它可能会更改)。是否有任何方法可以查看从所有请求聚合的配置文件数据?我不在乎它是否100%准确,或者是否有一些电话丢失,我只需要所有日常操作的简要概述


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

生成的报告是文本的,可以解析,因此构建生成报告的解析器应该不会太复杂。
我使用WinCacheGrind for windows,发现它非常好,除了一个详细的树外,它还显示了一个通用的组合时间/函数以及它有多少调用。

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

使用Xdebug和Webgrind评测PHP

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

Webgrind是PHP5中的一个Xdebug评测web前端。它实现了kcachegrind的一部分功能,并在几秒钟内安装完毕,可在所有平台上运行

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

很长一段时间以来,用于PHP的Xdebug扩展能够(除其他外)以KcacheGrind可以使用的格式将执行配置文件信息转储到磁盘,如果您使用KDE运行Linux,这是非常好的

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

阅读文章上方的更多内容

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

XDEBUG PHP扩展|文档

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

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

Windows用户也可以使用WinCacheGrind,其功能与KCacheGrind不同,因此本页记录KCacheGrind使用的部分不适用于本程序。还有一个可选的概要信息表示工具xdebugtoolkit、一个基于web的前端Webgrind和一个基于Java的工具XCallGraph

阅读文章上方的更多内容


将所有文件合并为一个:

cat cachegrind.out.* > cachegrind.combined

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

知道如何创建这样的解析器吗?从头开始:)加载文件并通过它的行循环获取数据,根据它所代表的内容将其很好地放入数组中。它有一个pharsable格式,否则就不会有任何CacheGrind程序。如果你不喜欢从零开始写代码,试试看。谢谢你的回答。然而,我并没有看到太多关于我的问题-在一个(kcachegrind/webgrind)概述中对多个请求进行数据聚合和分析。。所有的日常运作?您要汇总的跟踪文件的数量(单位:兆)?