实现ASP程序执行时间统计类的代码

第一次写ASP类,实现功能:分段统计程序执行时间,输出统计表等. 


代码如下:

Class ccClsProcessTimeRecorder 
'程序作者:明月星光 
'作者主页:http://www.5iya.com/blog 
'http://www.kuozhanming.com 
'ASP程序代码执行时间统计类

Private ccInti,ccIntNonceTime,ccIntDecimal 
  Private ccIntStartTime,ccIntEndTime,ccIntNow,ccIntNonce 
  Private ccStrInterval,ccStrEvent,ccStrTime,ccStrStatisticLog,ccStrFormatInterval 
  Private ccArrEvent,ccArrTime

Private Sub Class_Initialize 
    ccStrInterval = "|"  '默认分隔符 
    ccIntDecimal = 4    '小数点后位数 
    ccStrEvent = "" 
    ccStrTime = "" 
    ccStrFormatInterval = "<br />" & vbCrLf 
    ccIntStartTime = Timer 
    ccIntNow = ccIntStartTime 
    ccIntNonce = ccIntStartTime 
  End Sub

Public Sub Record(ccStrEventName) 
    ccStrEvent = ccStrEvent & ccStrInterval & Replace(ccStrEventName,ccStrInterval,"") 
    ccStrTime = ccStrTime & ccStrInterval & FormatNumber(Timer-ccIntNow,ccIntDecimal,True,False,True) 
    ccIntNow = Timer 
  End Sub

Public Property Let Format(ccStrFormatType) 
    If LCase(Trim(ccStrFormatType)) = "html" Then 
      ccStrFormatInterval = "<br />" & vbCrLf 
    Else 
      ccStrFormatInterval = vbCrLf 
    End If 
  End Property

Public Function Statistic 
    If InStr(ccStrEvent,ccStrInterval) > 0 Then 
      ccIntEndTime = Timer 
      ccArrEvent = Split(ccStrEvent,ccStrInterval) 
      ccArrTime = Split(ccStrTime,ccStrInterval) 
      ccStrStatisticLog = ccStrStatisticLog & "Process Time Record" & ccStrFormatInterval 
      ccStrStatisticLog = ccStrStatisticLog & "--------------------------------------" & ccStrFormatInterval 
      For ccInti = 1 To UBound(ccArrEvent) 
        ccStrStatisticLog = ccStrStatisticLog & ccArrEvent(ccInti) & " : " & ccArrTime(ccInti) & " s" & ccStrFormatInterval 
      Next 
      ccStrStatisticLog = ccStrStatisticLog & "--------------------------------------" & ccStrFormatInterval 
      ccStrStatisticLog = ccStrStatisticLog & "Total : " & FormatNumber(ccIntEndTime-ccIntStartTime,ccIntDecimal,True,False,True) & " s" 
      Statistic = ccStrStatisticLog 
    Else 
      Statistic = "No Record" 
    End If 
  End Function

Public Function Nonce 
    ccIntNonceTime = FormatNumber(Timer-ccIntNonce,ccIntDecimal,True,False,True) 
    ccIntNonce = Timer 
    Nonce = ccIntNonceTime 
  End Function

Public Function Total 
    Total = FormatNumber(Timer-ccIntStartTime,ccIntDecimal,True,False,True) 
  End Function

End Class

类属性:
1.Format
输出时是否带HTML换行标签
-html:输出HTML换行标签和文本换行符(默认)
-text:仅输出文本换行符

类方法:
1.Record("Code Name")
统计自上一次调用Record方法至现在的时间(第一次调用时统计声明类时至调用时时间),最后在Statistic中输出

类函数:(即时返回信息)
1.Nonce
输出自上一次调用nonce函数至现在的时间(第一次调用时统计声明类时至调用时时间)
2.Total
输出声明类到现在总时间
3.Statistic
输出所有Record统计信息和总程序时间

实例代码:


代码如下:

Dim objRecord,i,k,j,x

Set objRecord = New ccClsProcessTimeRecorder 
objRecord.Format = "html"

For i = 1 To 100000 
  x = 2 + 2 
Next

Call objRecord.Record("加法") 
For j = 1 To 100000 
  x = 2 * 2 
Next

Call objRecord.Record("乘法")

For k = 1 To 100000 
  x = 2 ^ 2 
Next

Call objRecord.Record("开方")

Response.Write objRecord.Statistic

输出:
Process Time Record
--------------------------------------
加法 : 0.0625 s
乘法 : 0.0469 s
开方 : 0.1094 s
--------------------------------------
Total : 0.2188 s

(0)

相关推荐

  • asp.net 通过httpModule计算页面的执行时间

    创建一个类库,建立如下类: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Web;//引用web命名空间 using System.Text; namespace TimerHttpModule { public class Class1:IHttpModule//继承IHttpModules { public void Init(HttpApplication application)//实现IH

  • asp.net计算每个页面执行时间的方法

    本文实例讲述了asp.net计算每个页面执行时间的方法.分享给大家供大家参考.具体分析如下: 这里的asp.net代码可实现计算每个页面的执行时间,无需要修改页面的相关代码,这段代码会给所有的页面统一加上执行时间显示 public class PerformanceMonitorModule : IHttpModule { public void Init(HttpApplication context) { context.PreRequestHandlerExecute += delegat

  • ASP显示页面执行时间的方法

    在 ASP 程序中,要想计算一个页面从执行开始到执行结束需要花费多少时间是非常简单的!我们知道,ASP 是解释型语言,也就是说它的执行过程是从页面的开端到页面的尾端,我们只需要计算一个时间差就可以得到页面执行的时间了. 下面看看是怎么实现的,分为三步! 第一步:在页面的头部定义一个开始时间的变量,并且获取当前时间 <% Dim StarTime StarTime = Timer() %> 第二步:在页面的尾部定义一个结束时间的变量,并且获取当前时间 <% Dim EndTime EndT

  • asp.net显示页面执行时间

    复制代码 代码如下: protected void Application_BeginRequest(Object sender, EventArgs e) { Application["StartTime"] = System.DateTime.Now; } protected void Application_EndRequest(Object sender, EventArgs e) { System.DateTime startTime = (System.DateTime)A

  • ASP程序代码执行时间统计类

    第一次写ASP类,实现功能:分段统计程序执行时间,输出统计表等. 复制代码 代码如下: Class ccClsProcessTimeRecorder '程序作者:明月星光 '作者主页:http://www.5iya.com/blog 'http://www.kuozhanming.com 'ASP程序代码执行时间统计类 Private ccInti,ccIntNonceTime,ccIntDecimal   Private ccIntStartTime,ccIntEndTime,ccIntNow

  • 实现ASP程序执行时间统计类的代码

    第一次写ASP类,实现功能:分段统计程序执行时间,输出统计表等.  复制代码 代码如下: Class ccClsProcessTimeRecorder  '程序作者:明月星光  '作者主页:http://www.5iya.com/blog  'http://www.kuozhanming.com  'ASP程序代码执行时间统计类 Private ccInti,ccIntNonceTime,ccIntDecimal    Private ccIntStartTime,ccIntEndTime,cc

  • C#程序员统计自己的代码行数

    很多程序员都以自己写的代码的行数作为自己程序员阅历的一个标志,如何统计呢,以下是具体内容. 小编,已经快学了两年编程了.昨天突发奇想,想统计下这些年到底写过多少行代码,于是做了一个这个小程序来统计代码行数.老规矩,先上图. 比较惭愧,写了两年只有2万多行.那我们还是进入下一项吧. 界面搭建我也不说了,我就讲一下思路和核心代码,最后附上源代码.Life_Programmer.Serch_Files. 思路:我们点击刷新按钮,他会弹出一个小窗口让我们选择要搜索的区域.这个原理在我的C#游戏进程杀手的

  • ASP 三层架构 Convert类实现代码

    这个类主要解决在类型转换时,如果直接使用类型转换函数,会因为变量为空或者格式不对而导致程序报错,而这种报错在大多数情况下是允许的.例如要转换一个字符串变量为数字,如果变量为空,则一般需要自动返回0. 另外一个重要功能就是封装变量格式化操作,可以保持整个网站的输出格式统一,例如时间格式,货币格式等等. 日期和货币格式化的时候,极易遇到因空值报错的情况,一般都不得不写个预判断空值的逻辑,再格式化变量. 使用这个类负责类型转换和格式化输出后,就不用操心这些琐碎的细节了,可以让编程的心情得到大大改善啊.

  • IIS 应用程序池 CPU 100% 分析软件,找出具体有问题的ASP程序URL

    IIS应用程序池分析软件有什么作用? 一个 IIS 6.0 / 7.0 服务器上可能存在着100-300个WEB站点,如果其中一个站点的ASP程序设计存在问题,那么将会引起CPU 持续占用100%,从而引起同一个服务器其他站点不能正常工作,或访问缓慢. 如果不能快速找出有问题的WEB站点,同一个服务器的用户QQ.电话可能不断.客户总是抱怨说什么服务器,这么慢老是出问题?怎么给客户解释-- 如何快速查找有问题的WEB站点? 找到后就直接关闭WEB站点吗?关闭站点意味着拒绝一个客户. 如何帮助客户找

  • 在asp中通过vbs类实现rsa加密与解密的代码

    在asp中通过vbs类实现rsa加密与解密,建议入精华 本文章有两文件组成 test.asp 测试演示文件 clsrsa.asp 实现rsa加密与解密的vbs类文件 下面是代码: 1. test.asp  复制代码 代码如下: <%  rem 文章标题:在asp中通过vbs类实现rsa加密与解密  rem 收集整理:yanek  rem 联系:aspboy@263.net %>  <%Option Explicit%>  <!--#INCLUDE FILE="cls

  • 显示程序执行时间php函数代码

    复制代码 代码如下: /**  * 程序执行时间  *  * @return  int 单位ms  */ function execute_time() {     $stime = explode ( ' ', SYS_START_TIME );     $etime = explode ( ' ', microtime () );     return number_format ( ($etime [1] + $etime [0] - $stime [1] - $stime [0]), 6

  • 在Asp程序中取得表单所有内容的代码

    在Asp中如何得到所有表单的名称跟对应的值.其实,这个问题很简单,但是可能还是有很多人不知道该怎么做,所以特地写下来,仅供参考.在Asp程序中,用来获得客户端数据的对象是 Request,这个对象给我们提供了很多的方法以及属性.比如,有这样一个Form, <FORM METHOD=POST name=cqq ACTION=""> <INPUT TYPE="text" NAME="username"> <INPUT T

  • 飞云防CC攻击ASP程序代码插件

    <% '================== '飞云防CC攻击ASP程序插件 '建议除必须修改的参数内容外不要修改其他内容 '如果需要反馈错误或提交意见,可以到落伍(IM286.COM)联系 "正版飞云" '================== dim FYCC_19,FYCC_20,FYCC_21,FYCC_05 dim FYCC_18 FYCC_05="" 'CCLog.txt存放的路径文件夹!需要手动创建!建议留空 '如果输入,请在前面加上符号"

  • 用python实现面向对像的ASP程序实例

    本文实例讲述了用python实现面向对像的ASP程序的方法.分享给大家供大家参考.具体实现方法如下: 平时我们写ASP时,一般都用vbscript或javascript. javascript是用function来实现类的,很麻烦,而且效果不爽. vbscript虽然可以实现类,但是功能上也有很大的局限性. 如果用python来写ASP脚本,就可以实现真的类,成为真正的面向对像.请看下面的例子: 复制代码 代码如下: <%@LANGUAGE="python" CODEPAGE=&

随机推荐