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 출력 모든 기록 통계 정보 와 총 프로그램 시간

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 레코드 : 0.0625 곱셈 : 0.0469 처방 : 0.1094 s -------------------------------------- Total : 0.2188 s

좋은 웹페이지 즐겨찾기