public static function showXhprof()
{
if (function_exists('xhprof_enable') && function_exists('xhprof_disable')) {
self::$_xhprofData = xhprof_disable();
include_once "/data/cap/xhprof/xhprof_lib/utils/xhprof_lib.php"; //加载xhprof包
include_once "/data/cap/xhprof/xhprof_lib/utils/xhprof_runs.php";
$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run(self::$_xhprofData, "xhprof_info");
echo '
.' style="color:red;">查看xhprof状态
}
}
}
注:您可以查看图表性能:
failed to execute cmd: " dot -Tpng". stderr: `sh: dot: command not found '
这是因为你没有安装GraphViz,只需要安装!
安装简单:yum install 'graphviz*'
如下图:
主要指标:
Inclusive Time (或子树时间):包括子函数的所有执行时间。
Exclusive Time/Self Time:函数执行本身的时间不包括子树执行时间。
Wall时间:花时间或挂钟。
CPU时间:用户耗的时间 内核耗时
# 如果xhprof_enable函数写作:xhprof_enable(XHPROF_FLAGS_CPU XHPROF_FLAGS_MEMORY)可输出更多指标。
Function Name 函数名
Calls 调用次数
Calls% 调用百分比
# 消耗时间
Incl. Wall Time (microsec) 调用包括子函数的所有时间 微秒算(一百万分之一秒)
IWall% 调用的百分比包括子函数的所有时间
Excl. Wall Time (microsec) 函数执行本身所花费的时间不包括子树执行时间,以微秒计算(100万分之一秒)
EWall% 函数执行本身所花费的时间百分比不包括子树执行时间
# 消耗CPU
Incl. CPU(microsecs) 调用包括子函数的所有费用cpu时间。减Incl. Wall Time即为等待cpu的时间
ICpu% Incl. CPU(microsecs)的百分比
Excl. CPU(microsec) 函数执行本身的费用cpu时间,不包括子树执行时间,计算(100万分之一秒)。
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% 峰值百分比
更详细的介绍:
http://www.neatstudio.com/archives/?article-1363.html