php-timerphp 运行状态报告工具
最近写了一个异步mysql客户端的封装,想与传统的串行方式做下性能对比。包括运行时间、内存使用情况等信息。在github和packagist上搜索并没有找到自己想要的,xhprof又太大了,结果也太复杂,不符合现在的需要。所以决定自己写一个package,来实现对php脚本运行时间和内存使用情况的监控,并生成报告。
示例代码:
requiredirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR .'vendor'. DIRECTORY_SEPARATOR .'autoload.php'; //初始化,设置内存单位 $timer=new\Jenner\Timer(\Jenner\Timer::UNIT_KB); //记录a状态 $timer->mark('a'); sleep(2); //记录b状态 $timer->mark('b'); sleep(3); //记录c状态 $timer->mark('c'); sleep(4); //记录d状态 $timer->mark('d'); //打印总体报告(不包含差值) $timer->printReport(); //获取总体报告,返回数组 $report=$timer->getReport(); //获取一个mark的报告 $a_report=$timer->getReport('a'); print_r($a_report); //打印a状态和b状态的差异信息,包含运行时间、使用内存等 $timer->printDiffReportByStartAndEnd('a','b'); //获取a状态和b状态的差异报告 $ab_diff_report=$timer->getDiffReportByStartAndEnd('a','b'); //打印第一个mark和最后一个mark之间的差异信息 $timer->printDiffReport(); //获取第一个mark和最后一个mark之间的差异信息 $diff_report=$timer->getDiffReport();
输出结果:
------------------------------------------ mark:a time:1437535424.9998s memory_real:1280KB memory_emalloc:833.046875KB memory_peak_real:1280KB memory_peak_emalloc:843.2890625KB ------------------------------------------ mark:b time:1437535427s memory_real:1280KB memory_emalloc:834.2265625KB memory_peak_real:1280KB memory_peak_emalloc:843.2890625KB ------------------------------------------ mark:c time:1437535430.0002s memory_real:1280KB memory_emalloc:835.1875KB memory_peak_real:1280KB memory_peak_emalloc:843.2890625KB ------------------------------------------ mark:d time:1437535434.0004s memory_real:1280KB memory_emalloc:836.1484375KB memory_peak_real:1280KB memory_peak_emalloc:843.2890625KB Array ( [time] => 1437535424.9998 [memory_real] => 1310720 [memory_emalloc] => 853040 [memory_peak_real] => 1310720 [memory_peak_emalloc] => 863528 ) ------------------------------------------ mark:[diff] start_mark:a end_mark:b time:2.0001850128174s memory_real:0KB memory_emalloc:1.1796875KB memory_peak_real:0KB memory_peak_emalloc:0KB ------------------------------------------ mark:[totaldiff] time:9.0006000995636s memory_real:0KB memory_emalloc:3.1015625KB memory_peak_real:0KB memory_peak_emalloc:0KB
评论
php-timerphp 运行状态报告工具
最近写了一个异步mysql客户端的封装,想与传统的串行方式做下性能对比。包括运行时间、内存使用情况等信息。在github和packagist上搜索并没有找到自己想要的,xhprof又太大了,结果也太复
php-timerphp 运行状态报告工具
0
LTT系统运行状态和流程跟踪工具
LTT(LinuxTraceToolkit)是一个用于跟踪系统详细运行状态和流程的工具,它可以跟踪记录系统中的特定事件。这些事件包括: 系统调用的进入和退出 陷阱/中断(Trap/Irq)的进入和退出
LTT系统运行状态和流程跟踪工具
0
kWoocaSpringBoot 应用运行状态管理
Wooca 是一款用于管理 SpringBoot 应用运行状态的软件。开发该软件的初衷是为了让Spr
kWoocaSpringBoot 应用运行状态管理
0
kWoocaSpringBoot 应用运行状态管理
Wooca是一款用于管理SpringBoot应用运行状态的软件。开发该软件的初衷是为了让SpringBoot(或SpringCloud)应用的开发者们可以更好的在开发工作站上运行相应的应用,因为在Sp
kWoocaSpringBoot 应用运行状态管理
0
MongoWatchMongoDB状态监控工具
这个脚本是定时获取MongoDB的状态信息,并将其按时间顺序排列显示在Web页面上,让你可以直接看到随着时间推移你MongoDB的各项状态指标的变化。基于node.js开发。安装方法:gitclone
MongoWatchMongoDB状态监控工具
0