Rev 6269 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%'=====================================================' daemon_status.asp'=====================================================%><%Class DaemonStatusprivate m_rsQryDS ' m_rsQryDS is a record set containing daemon status details. It is created by sub GetDaemonStatus or GetDaemonStatusForReleaseprivate m_bIndefinitelyPaused ' m_bIndefinitelyPaused indicates if all deamons have been indefintely paused'----------------------------------------------------------------------------------------------------------------------------------------------' ConstructorPrivate Sub Class_Initialize()Set m_rsQryDS = Nothingm_bIndefinitelyPaused = IndefPauseEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------------' Queries the daemons status for all releases of a specified project' Parameters:' iProjId is the specified projectSub GetDaemonStatus(iProjId)OraDatabase.Parameters.Add "PROJ_ID", iProjId, ORAPARM_INPUT, ORATYPE_NUMBERSet m_rsQryDS = OraDatabase.DbCreateDynaset( GetQuery ("ReleaseDaemonStatus.sql"), ORADYN_DEFAULT )OraDatabase.Parameters.Remove "PROJ_ID"End Sub'----------------------------------------------------------------------------------------------------------------------------------------------' Queries the daemons status for a specified release' Parameters:' iRtagId is the specified releaseSub GetDaemonStatusForRelease(iRtagId)OraDatabase.Parameters.Add "RTAG_ID", iRtagId, ORAPARM_INPUT, ORATYPE_NUMBERSet m_rsQryDS = OraDatabase.DbCreateDynaset( GetQuery ("ReleaseDaemonStatusForRelease.sql"), ORADYN_DEFAULT )OraDatabase.Parameters.Remove "RTAG_ID"End Sub'----------------------------------------------------------------------------------------------------------------------------------------------' Renders a bar chart to show the daemon status for a specified release' irtag_id: the specified release' isize: the status icon size in pixelsSub RenderDaemonStatusForRelease(irtag_id,isize)Call GetDaemonStatusForRelease(irtag_id)Call RenderDaemonStatus(irtag_id,isize)End Sub'----------------------------------------------------------------------------------------------------------------------------------------------' Gets the daemon summary for a specified release' Parameters:' irtag_id: the specified release' Assumes GetDaemonStatus or GetDaemonStatusForRelease has already been called'Function GetDaemonSummary(irtag_id)Dim iDmStsStatusDim sDmStsToolTipDim sDmStsSearchDim iDmStsTotalUnavailableDim iDmStsTotalTimedoutDim iDmStsTotalEnabledDim iDmStsTotalDisabledDim iDmStsTotalPausedDim iDmStsTotalEngagedDim iDmStsTotalRunningDim iDmStsTotal' Get status summary for showing in the bar chart popup tooltip' Get daemons for specified releasesDmStsSearch="rtag_id=" & irtag_idm_rsQryDS.FindFirst(sDmStsSearch)iDmStsTotal=0 ' total daemonsiDmStsTotalRunning=0 ' total runningiDmStsTotalTimedout=0 ' total timed outiDmStsTotalUnavailable=0 ' total unavailableiDmStsTotalEnabled=0 ' total enablediDmStsTotalPaused=0 ' total pausediDmStsTotalDisabled=0 ' total disablediDmStsTotalEngaged=0 ' total enagaged' Loop through each daemon and get summary totalsDo While Not m_rsQryDS.NoMatchiDmStsStatus=CInt(m_rsQryDS("status"))iDmStsTotal = iDmStsTotal + 1Select Case iDmStsStatusCase -1iDmStsTotalUnavailable= iDmStsTotalUnavailable + 1Case -2iDmStsTotalTimedout= iDmStsTotalTimedout + 1iDmStsTotalRunning=iDmStsTotalRunning + 1Case 0 ' if enablediDmStsTotalEnabled= iDmStsTotalEnabled + 1iDmStsTotalRunning=iDmStsTotalRunning + 1Case 1 ' if pausediDmStsTotalPaused= iDmStsTotalPaused + 1Case 2 ' if disablediDmStsTotalDisabled= iDmStsTotalDisabled + 1Case 3 ' if engagediDmStsTotalEngaged= iDmStsTotalEngaged + 1iDmStsTotalRunning=iDmStsTotalRunning + 1End Selectm_rsQryDS.FindNext(sDmStsSearch)LoopIf iDmStsTotal = 0 ThensDmStsToolTip= "No daemons found." & " "ElseIf m_bIndefinitelyPaused ThensDmStsToolTip= "WARNING: Build Daemons are all stopped." & " " & "Please contact an administrator." & " "ElsesDmStsToolTip = ""If iDmStsTotalRunning > 0 ThensDmStsToolTip = sDmStsToolTip & iDmStsTotalRunning & " daemon" & iif(iDmStsTotalRunning > 1,"s","") & " running." & " "End IfIf iDmStsTotalPaused > 0 ThensDmStsToolTip = sDmStsToolTip & iDmStsTotalPaused & " daemon" & iif(iDmStsTotalPaused > 1,"s","") & " paused." & " "End IfIf iDmStsTotalDisabled > 0 ThensDmStsToolTip = sDmStsToolTip & iDmStsTotalDisabled & " daemon" & iif(iDmStsTotalDisabled > 1,"s","") & " disabled." & " "End IfIf iDmStsTotalUnavailable > 0 ThensDmStsToolTip = sDmStsToolTip & iDmStsTotalUnavailable & " daemon" & iif(iDmStsTotalUnavailable > 1,"s","") & " unavailable." & " "End If'If iDmStsTotalEngaged > 0 Then' sDmStsToolTip = sDmStsToolTip & iDmStsTotalEngaged & " daemon" & iif(iDmStsTotalEngaged > 1,"s","") & " engaged in a build." & " "'End If'If iDmStsTotalTimedout > 0 Then' sDmStsToolTip = sDmStsToolTip & iDmStsTotalTimedout & " daemon" & iif(iDmStsTotalTimedout > 1,"s","") & " timedout." & " "'End IfEnd IfsDmStsToolTip = sDmStsToolTip & "Click to view details."GetDaemonSummary = sDmStsToolTipEnd Function'----------------------------------------------------------------------------------------------------------------------------------------------' Renders a bar chart to show the daemon status for a specified release' Parameters:' irtag_id: the specified release' isize: the status icon size in pixels' Assumes GetDaemonStatus or GetDaemonStatusForRelease has already been called'Sub RenderDaemonStatus(irtag_id,isize)Dim iDmStsStatusDim sDmStsImgDim sDmStsToolTipDim sDmStsSearchDim iheightDim iWidthDim iWidthEndDim sDmStsAgeDim sDmStsAgeTipDim bTestAgeDim bIsDeprecatedDim bHasDeprecated : bHasDeprecated = falseiHeight=isize' the status icon default dimensions are height:48 and width:30' ie. ratio of height to width is 16:10' the bar end icon default dimensions are height:48 and width:8' ie. ratio of height to bar end is 16:3iWidth = Round(iSize*10/16)iWidthEnd = Round(iSize*3/16)' First, get status summary for showing in the bar chart popup tooltipsDmStsToolTip = GetDaemonSummary(irtag_id)sDmStsSearch="rtag_id=" & irtag_idm_rsQryDS.FindFirst(sDmStsSearch)' Now, create deamon bar chart for the specified releaseResponse.Write("<table border=0 cellpadding=0 cellspacing=0 width=""100%""" & " onClick=""location.href='build_status.asp?rtag_id=" & irtag_id & "';""" & " style=""cursor:hand"">")' Add in tooltip generated aboveResponse.Write("<tr valign=middle title=""" & sDmStsToolTip & """>")Response.Write("<td>")Response.Write("<table border=0 cellpadding=0 cellspacing=0>")Response.Write("<tr>")' add left side of chartResponse.Write("<td>")Response.Write("<img src=""icons/tdmsts_left.gif"" width=" & iWidthEnd & " height=" & iHeight & " border=0 vspace=0 hspace=0>")Response.Write("</td>")IF m_rsQryDS.NoMatch ThenResponse.Write("<td>")Response.Write("<img src=""icons/tdmsts_notfound.gif"" width=" & iWidth & " height=" & iHeight & " border=0 vspace=0 hspace=0>")Response.Write("</td>")Else'add an icon for each daemonDo While Not m_rsQryDS.NoMatchbTestAge = truebIsDeprecated = m_rsQryDS("active") = "N"iDmStsStatus=CInt(m_rsQryDS("status"))If bIsDeprecated ThenbHasDeprecated = truesDmStsImg="icons/tdmsts_notfound.gif"sDmStsToolTip="Daemon Deprecated." & " "bTestAge = falseElseIf m_bIndefinitelyPaused ThensDmStsImg="icons/tdmsts_stopped.gif"sDmStsToolTip="Daemon indefinitley paused." & " "bTestAge = falseElseIf iDmStsStatus = -2 ThensDmStsImg="icons/tdmsts_timedout.gif"sDmStsToolTip="Daemon timed out." & " "ElseIf iDmStsStatus = -1 ThensDmStsImg="icons/tdmsts_unavailable.gif"sDmStsToolTip="Daemon unavailable." & " "bTestAge = falseElseIf iDmStsStatus = 0 ThensDmStsImg="icons/tdmsts_started.gif"sDmStsToolTip="Daemon running." & " "ElseIf iDmStsStatus = 1 ThensDmStsImg="icons/tdmsts_paused.gif"sDmStsToolTip="Daemon paused." & " "ElseIf iDmStsStatus = 2 ThensDmStsImg="icons/tdmsts_stopped.gif"sDmStsToolTip="Daemon stopped." & " "bTestAge = falseElseIf iDmStsStatus = 3 ThensDmStsImg="icons/tdmsts_engaged.gif"sDmStsToolTip="Daemon engaged in a build." & " "End IfIf sDmStsToolTip <> "" ThensDmStsToolTip = sDmStsToolTip & "Click to view details."End IfIf bTestAge AND m_rsQryDS("daemon_mode") = "M" ThenDim nBuildAgeDim nLastBuildDaysnBuildAge = NiceInt(m_rsQryDS("build_age"), 31)nLastBuildDays = NiceInt(m_rsQryDS("last_build_days"), 31)If nBuildAge > 0 ThenIf nLastBuildDays > nBuildAge ThensDmStsAge = "images/s_warning.gif"sDmStsAgeTip = "No Build in this release since " & m_rsQryDS("last_build") & ". [" & m_rsQryDS("last_build_days") & " Days]"End IfEnd IfEnd IfResponse.Write("<td>")Response.Write("<img src=""" & sDmStsImg & """ width=" & iWidth & " height=" & iHeight & " border=0 vspace=0 hspace=0 " & iif(sDmStsToolTip <> "","title='" & sDmStsToolTip & "'","") & ">")Response.Write("</td>")m_rsQryDS.FindNext(sDmStsSearch)LoopEnd If' add right side of chartResponse.Write("<td>")Response.Write("<img src=""icons/tdmsts_right.gif"" width=" & iWidthEnd & " height=" & iHeight & " border=0 vspace=0 hspace=0>")Response.Write("</td>")If sDmStsAge <> "" ThenResponse.Write("<td>")Response.Write("<img src=""" & sDmStsAge & """ width=14 height=13 border=0 vspace=0 hspace=0 " & "title='" & sDmStsAgeTip & "'" & ">")Response.Write("</td>")End IfIf bHasDeprecated ThenResponse.Write("<td>")Response.Write("<img src=""images/s_warning.gif"" width=14 height=13 border=0 vspace=0 hspace=0 " & "title='" & "One or more daemons have been deprecated" & "'" & ">")Response.Write("</td>")End IfResponse.Write("</tr>")Response.Write("</table>")Response.Write("</td>")Response.Write("</tr>")Response.Write("</table>")End Sub'----------------------------------------------------------------------------------------------------------------------------------------------' DestructorSub Class_Terminatem_rsQryDS.CloseSet m_rsQryDS = NothingEnd SubEnd Class%>