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

所属分类: 网络编程 / ASP编程 阅读数: 1501
收藏 0 赞 0 分享
第一次写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
更多精彩内容其他人还在看

IIS访问ASP页面时报错The requested resource is in use.的解决办法

IIS访问ASP页面时报错The requested resource is in use.的解决办法
收藏 0 赞 0 分享

错误类型:Provider (0x80004005)未指定的错误 的一个处理方法

一般情况下asp可以正常运行,但只要连接数据库就提示,Microsoft JET Database Engine 错误'80004005'
收藏 0 赞 0 分享

关于“未指定的错误”的问题 的比较正解的解决方法

关于“未指定的错误”的问题 的比较正解的解决方法
收藏 0 赞 0 分享

关于asp+access的安全问题分析

关于asp+access的安全问题分析
收藏 0 赞 0 分享

把RS.GetRows看得更清楚

把RS.GetRows看得更清楚
收藏 0 赞 0 分享

ASP面向对象编程探讨及比较

ASP面向对象编程探讨及比较
收藏 0 赞 0 分享

ASP错误处理

ASP错误处理
收藏 0 赞 0 分享

web文件管理器的后续开发

web文件管理器的后续开发
收藏 0 赞 0 分享

上一篇,下一篇过程代码

上一篇,下一篇过程代码
收藏 0 赞 0 分享

一小偷类!!有兴趣的可以看看

一小偷类!!有兴趣的可以看看
收藏 0 赞 0 分享
查看更多