php运行时间工具,php Timer 页面运行时间监测类

php Timer 页面运行时间监测类,可按不同key监测不同的运行时间

Timer.class.php

/**Timer class, 计算页面运行时间,可按不同key计算不同的运行时间

*Date: 2014-02-28

*Author: fdipzone

*Ver: 1.0

*

*Func:

*public start 记录开始时间

*public end 记录结束时间

*public getTime 计算运行时间

*pulbic printTime 输出运行时间

*private getKey 获取key

*private getMicrotime 获取microtime

*/

class Timer{ // class start

private $_start = array();

private $_end = array();

private $_default_key = "Timer";

private $_prefix = "Timer_";

/**记录开始时间

* @param String $key 标记

*/

public function start($key=""){

$flag = $this->getKey($key);

$this->_start[$flag] = $this->getMicrotime();

}

/**记录结束时间

* @param String $key 标记

*/

public function end($key=""){

$flag = $this->getKey($key);

$this->_end[$flag] = $this->getMicrotime();

}

/**计算运行时间

* @param String $key 标记

* @return float

*/

public function getTime($key=""){

$flag = $this->getKey($key);

if(isset($this->_end[$flag]) && isset($this->_start[$flag])){

return (float)($this->_end[$flag] - $this->_start[$flag]);

}else{

return 0;

}

}

/**输出页面运行时间

* @param String $key 标记

* @return String

*/

public function printTime($key=""){

printf("%srun time %f ms

", $key==""? $key : $key." ", $this->getTime($key)*1000);

}

/**获取key

* @param String $key 标记

* @return String

*/

private function getKey($key=""){

if($key==""){

return $this->_default_key;

}else{

return $this->_prefix.$key;

}

}

/**获取microtime

*/

private function getMicrotime(){

list($usec, $sec) = explode(" ", microtime());

return (float)$usec + (float)$sec;

}

} // class end

?>

demo:

require "Timer.class.php";

$timer = new Timer();

$timer->start();

$timer->start("program1");

usleep(mt_rand(100000,500000));

$timer->end("program1");

$timer->printTime("program1");

$timer->start("program2");

usleep(mt_rand(100000,500000));

$timer->end("program2");

$timer->printTime("program2");

$timer->end();

$timer->printTime();

?>

demo运行输出:

program1 run time 163.285971 ms

program2 run time 100.347042 ms

run time 264.035940 ms

源码下载地址:点击查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值