(PECL luasandbox >= 1.1.0)
LuaSandbox::getProfilerFunctionReport — 获取分析器数据
对于之前通过 LuaSandbox::enableProfiler() 启动的分析实例,获取每个函数的成本报告。
用于成本测量的单位由 $units 参数确定。
LuaSandbox::SAMPLES
以样本数为单位测量。
LuaSandbox::SECONDS
以 CPU 时间的秒数为单位测量。
LuaSandbox::PERCENT
以 CPU 时间的百分比为单位测量。
units
测量单位常量。
返回分析器测量值,按降序排序,作为关联的 array。键是 Lua 函数名(带有尖括号中的源文件和行号),值是 int 或 float 形式的测量值。
注意:
在 Windows 上,此函数始终返回空数组。在不支持
CLOCK_THREAD_CPUTIME_ID
的操作系统上,例如 FreeBSD 和 Mac OS X,此函数将报告经过的挂钟时间,而不是 CPU 时间。
示例 #1 分析 Lua 代码
<?php
// 创建一个新的 LuaSandbox
$sandbox = new LuaSandbox();
// 启动分析器
$sandbox->enableProfiler( 0.01 );
// ... 在这里执行一些 Lua 代码 ...
// 获取分析器数据
$data = $sandbox->getProfilerFunctionReport();
?>