7

有什么方法可以聚合以前由 PHP XDebug 获取的配置文件数据?

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

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

4

3 回答 3

11

将所有文件合并为一个:

cat cachegrind.out.* > cachegrind.combined

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

于 2012-11-14T10:21:51.507 回答
0

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

于 2012-09-01T18:20:59.390 回答
0

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

使用 Xdebug 和 Webgrind 分析 PHP

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

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

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

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

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

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

阅读更多文章上方

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

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

PHP 的 XDEBUG 扩展 | 文档

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

于 2012-09-01T20:04:32.950 回答