php实现的Timer页面运行时间监测类

本文实例讲述了php实现的Timer页面运行时间监测类及其用法,是一款非常实用的PHP类文件。分享给大家供大家参考。具体分析如下:

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

Timer.class.php类文件如下:

<?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\r\n", $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示例代码如下:

<?php 

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

完整实例源码点击此处本站下载。

希望本文所述对大家的PHP程序设计有所帮助。

(0)

相关推荐

  • php 页面执行时间计算代码

    代码如下: 复制代码 代码如下: <? $pagestartime=microtime(); ?> <!--网页内容 start--> 网页内容 ... ... <!--网页内容 end--> <? $pageendtime = microtime(); $starttime = explode(" ",$pagestartime); $endtime = explode(" ",$pageendtime); $totalt

  • PHP记录页面停留时间的方法

    本文实例讲述了PHP记录页面停留时间的方法.分享给大家供大家参考,具体如下: 首先在要监控的页面添加JS如下 <script> var dt1 = new Date(); window.onbeforeunload = function(){ var dt2 = new Date(); var ms = dt2.getTime() - dt1.getTime(); var img = new Image(); img.src = 'log.php?stay_ms=' + ms; } </

  • php设置页面超时时间解决方法

    有时候我的页面因为网络卡,会一直转,我想是不是可以给页面设置一个超时时间,多久没反应就提示超时 比如php里的set_time_limit(300) 我想不是php页面也有个超时机制 ------解决思路---------------------- php 里不就是set_time_limit() 吗,你还可以设置php.ini中的max_execution_time来改变全局超时时间. ------解决思路---------------------- max_execution_time --

  • PHP 一个页面执行时间类代码

    核心代码 <?php class Timer//页面执行时间类 { var starttime;//页面开始执行时间 var stoptime;//页面结束执行时间 var spendtime;//页面执行花费时间 function getmicrotime()//获取返回当前微秒数的浮点数 { list(usec,sec)=explode(" ",microtime()); return ((float)usec + (float)sec); } function start(

  • 获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)

    THINKphp里面有调试运行状态的效果: Process:0.2463s (Load:0.0003s Init:0.0010s Exec:0.1095s Template:0.1355s )|DB:13 queries 0 writes| Cache:2 gets,0 writes|UseMem:415 kb|LoadFile:20|CallFun:63,1370 代表的含义: 运行信息: 整体执行时间0.2463s ( 加载:0.0003s 初始化:0.0010s 执行:0.1095s 模板

  • 解析PHP计算页面执行时间的实现代码

    如下所示: 复制代码 代码如下: <?php  $t = new executeTime;  phpinfo();  class executeTime{      private $microtime;      public function __construct(){          $this->microtime = microtime(true);      } public function getNow(){                  $this->__dec

  • php简单计算页面加载时间的方法

    本文实例讲述了php简单计算页面加载时间的方法.分享给大家供大家参考.具体实现方法如下: 简单的把开始时间放在页面头部,结束时间放在页面尾部,计算页面加载时间 $start = time(); // put a long operation in here sleep(2); $diff = time() - $start; print "This page needed $diff seconds to load :-)"; // if you want a more exact v

  • 计算php页面运行时间的函数介绍

    一个计算php页面运行时间的函数. 复制代码 代码如下: <?php/*@ 计算php程序运行时间*/function microtime_float(){list($usec, $sec) = explode(" ", microtime());return ((float)$usec + (float)$sec);}//开始计时,放在头部$starttime = microtime_float();//结束计时,放在最底部$runtime = number_format((m

  • php实现的Timer页面运行时间监测类

    本文实例讲述了php实现的Timer页面运行时间监测类及其用法,是一款非常实用的PHP类文件.分享给大家供大家参考.具体分析如下: 该php Timer页面运行时间监测类,可按不同key监测不同的运行时间. Timer.class.php类文件如下: <?php /** Timer class, 计算页面运行时间,可按不同key计算不同的运行时间 * Date: 2014-02-28 * Author: fdipzone * Ver: 1.0 * * Func: * public start 记

  • php代码运行时间查看类代码分享

    复制代码 代码如下: //date:2011-08-05 class RunTime//页面执行时间类 { private $starttime;//页面开始执行时间 private $stoptime;//页面结束执行时间 private $spendtime;//页面执行花费时间 function getmicrotime()//获取返回当前微秒数的浮点数 { list($usec,$sec)=explode(" ",microtime()); return ((float)$us

  • 查找页面中所有类为test的结点的方法

    前言 阿里巴巴,web前端实习生要在线考试了.确实对于菜鸟的我还是恶补一下知识先.所以百度谷歌了之前阿里巴巴校招的前端笔试题,觉得自己真的被鄙视了,完全做不懂的.啊里巴巴的web前端是在线的笔试,是不是给我们百度谷歌的机会呢? 看见这道题目的时候,觉得确实自己应该去封装一些你常用的方法,就像jquery那样.做出一些方法,是实现浏览器兼容的,或者是工具类,确实对以后开发还是有利的. HTML 为了方便说明,我们先写下HTML 复制代码 代码如下: <p class="A B"&g

  • php中计算程序运行时间的类代码

    复制代码 代码如下: class Timer { private $StartTime = 0;//程序运行开始时间 private $StopTime = 0;//程序运行结束时间 private $TimeSpent = 0;//程序运行花费时间 function start(){//程序运行开始 $this->StartTime = microtime(); } function stop(){//程序运行结束 $this->StopTime = microtime(); } funct

  • PHP测试程序运行时间的类

    类很简单,主要是运用了几个函数数组列表函数list(),字符串分割成数组函数explode(),获取时间戳和微秒数microtime(),代码如下: 复制代码 代码如下: <?php class runTime { private $starTime;//开始时间 private $stopTime;//结束时间 private function getMicTime(){ $mictime=microtime();//获取时间戳和微秒数 list($usec,$sec)=explode("

  • Jsp页面实现文件上传下载类代码第1/2页

    刚才和lp看完电影,把jsp页面抽出class调整了一下.最近总上经典,是感觉既然当了斑竹,就该留下点什么.lp这几天也半开玩笑半生气的说,一回来就上经典,就发帖,你干脆娶经典作lp得了.想想,这几天是有点夸张,以后放慢速度了.保持1星期1帖吧,那样也能多想写,多总结些.发帖的初衷就是有时候看到有的朋友问的问题,似乎还没有走进java的门,希望这样的帖子,能对新手一点帮助,也就满足了.有时候随意的一段话,其实也是自己的一点经验,而有时候之所以絮絮叨叨,是想把问题说的清楚明白,让高手见笑了.因为在

  • JavaScript 类的定义和引用 JavaScript高级培训 自定义对象

    一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在Javascript中,已经存在一些标准的类,例如Date.Array.RegExp.String.Math.Number等等,这为我们编程提供了许多方便.但对于复杂的客户端程序而言,这些还远远不够. 与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascript提供的标准类很

  • Asp.Net 动态页面转静态页面主要代码

    一个是一个页面转换的类,该类通过静态函数Changfile()来实现,动态页面到静态页面的转换. 复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControl

随机推荐