xhprof安装使用以及View Full Callgraph以及failed to execute cmd dot-Txxx解决

环境

mac+php7.2+apache2.4+homebrew

安装

1、pecl install xhprof

2、点击查看参考文档

install

git clone https://github.com/longxinH/xhprof.git ./xhprof
cd xhprof/extension/
/path/to/php7/bin/phpize
./configure --with-php-config=/path/to/php7/bin/php-config
make && sudo make install

configuration add to your php.ini

[xhprof]
extension = xhprof.so
xhprof.output_dir = /tmp/xhprof

sudo apachectl restart

php -m|grep xhprof

查得到就是安装成功了

配置虚拟站点访问分析报告

我是用apache的,项目都放在home/www下,我在这个目录下新建个文件夹叫xhprof

cd /home/www

mkdir xhprof

克隆xhprof的xhprof_html 和 xhpro_lib(这写可以在安装步骤里面的git中找到)

cp -r 之前解压缩的xhprof目录/xhprof_html /home/www/xhprof

cp -r 之前解压缩的xhprof目录/xhprof_lib /home/www/xhprof

配置apache站点

<VirtualHost *:80>
    DocumentRoot "/home/www/xhprof"
    ServerName local.xhprof.com
    <Directory /home/www/xhprof>
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

vim /etc/hosts

add 下面的配置

127.0.0.1 local.xhprof.com

sudo apachectl restart

访问报告

浏览器打开 http://local.xhprof.com/xhprof_html

就可以看到下面的报告了

tip:我把xhprof.output_dir也设置成了xhprof目录下。

image

点击其中一个报告会有下图的信息

image

如果想用图中的[View Full Callgraph],直接点击,如果报错failed to execute cmd: ” dot -Tpng”

  • brew install graphviz

如果还是报错,我是这么处理的

修改xhprof/xhprof_lib/utils/callgraph_utils.php

大概113行 将

$cmd = " dot -T" . $type;

改成

$cmd = "/usr/local/Cellar/graphviz/2.40.1/bin/dot -T" . $type;

再重新点击[View Full Callgraph]就能生成了,如下图

image

名词解释
Function Name 函数名
Calls 调用次数
Calls% 调用百分比
Incl. Wall Time (microsec) 调用的包括子函数所有花费时间 以微秒算(一百万分之一秒)
IWall% 调用的包括子函数所有花费时间的百分比
Excl. Wall Time (microsec) 函数执行本身花费的时间,不包括子树执行时间,以微秒算(一百万分之一秒)
EWall% 函数执行本身花费的时间的百分比,不包括子树执行时间
Incl. CPU(microsecs) 调用的包括子函数所有花费的cpu时间。减Incl. Wall Time即为等待cpu的时间
减Excl. Wall Time即为等待cpu的时间
ICpu% Incl. CPU(microsecs)的百分比
Excl. CPU(microsec) 函数执行本身花费的cpu时间,不包括子树执行时间,以微秒算(一百万分之一秒)。
ECPU% Excl. CPU(microsec)的百分比
Incl.MemUse(bytes) 包括子函数执行使用的内存。
IMemUse% Incl.MemUse(bytes)的百分比
Excl.MemUse(bytes) 函数执行本身内存,以字节算
EMemUse% Excl.MemUse(bytes)的百分比
Incl.PeakMemUse(bytes) Incl.MemUse的峰值
IPeakMemUse% Incl.PeakMemUse(bytes) 的峰值百分比
Excl.PeakMemUse(bytes) Excl.MemUse的峰值
EPeakMemUse% EMemUse% 峰值百分比
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值