如何读取 qcachegrind 的 UI?

How do I read the UI of qcachegrind?

我正在使用 qcachegrind 查看由 Xdebug 创建的配置文件日志。我可以正常查看文件,但我不知道我在看什么。

我试过了Google,但我一直在看安装教程,没有关于如何理解显示的内容。

  1. 下面的 qcachegrind 显示告诉我关于我的应用程序的什么信息
  2. 我还能从这个文件中查看更多信息吗,或者这是所有可用数据吗?

(请在新标签中打开图片以获得更好的视图)


qcachegrindkcachegrind 等工具可视化 Xdebug PHP 分析器的输出。探查器的输出实际上是所有 PHP 函数调用的日志,具有相应的开始时间、执行时间和层次结构。

典型视图如下图所示:

左边是'Flat Profile'。它列出了从最耗时到最耗时的所有单个函数调用。 'Incl.' 列显示包括被调用者在内的函数消耗的时间。 'Self' 列显示了不包括被调用者的函数花费的时间。 'Called' 和 'Function' 列分别显示调用函数的次数和函数的名称(加上命名空间)。

在右侧,各种视图可用于可视化呼叫者和被呼叫者。调用者和被调用者对应左侧选择的函数

在我顶部的屏幕截图中,'Callee Map' 已打开。每个矩形都是所选函数(被调用者)内的函数调用,并且其中的每个矩形都是被调用者的被调用者。大小对应相对'Incl'。时间.

在底部,'All Callees' 视图按您喜欢的 属性 顺序显示所选函数的调用者。

更详细的视图如下:

这是按 'Self' 时间排序的 Laravel 数据库函数的函数。您清楚地看到不同函数调用之间的关系以及哪个函数占用的时间最多:PDOStatement::execute。这并不奇怪,因为它是一个连接到外部数据库、查询它并等待结果的函数。

回到您的原始屏幕截图:它告诉您您的应用程序花费了大部分时间在 PHP 的 session_start 函数中 (99.8%)。