open-insight/LSL2/STPROC/MONA_MONITORS.txt
2024-03-25 14:46:21 -07:00

80 lines
2.6 KiB
Plaintext

Compile subroutine MONA_MONITORS(@Service, @Params)
#pragma precomp SRP_PreCompiler
/*****************************************************************************\
This is a utility function. It is a container for auditing general OI metrics
and then reporting them into MonA directly.
History
-------
04/07/2021 JRO Original Programmer
\*****************************************************************************/
Declare subroutine RList, Mona_Services, Error_Services
Declare function Database_Services
$Insert SERVICE_SETUP
$Insert REVDOTNETEQUATES
$Insert LOGICAL
$Insert RLIST_EQUATES
GoToService else
Error_Services('Add', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
end
Return Response else ''
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Services
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Service RunMonitors()
hSysLists = Database_Services('GetTableHandle', 'SYSLISTS')
Lock hSysLists, ServiceKeyID then
Query = 'SELECT SQL_BACKLOG'
Rlist(Query, Target_ActiveList$, '', '', '')
QueueCount = @RecCount
GoSub ClearCursors
Mona_Services('SendMetric', 'SQL_BACKLOG', 'SQL_BACKLOG', QueueCount)
Query = 'SELECT SQL_PENDING'
Rlist(Query, Target_ActiveList$, '', '', '')
QueueCount = @RecCount
GoSub ClearCursors
Mona_Services('SendMetric', 'SQL_PENDING', 'SQL_PENDING', QueueCount)
* Query = 'SELECT SQL_BACKLOG_WO_LOG'
* Rlist(Query, Target_ActiveList$, '', '', '')
* QueueCount = @RecCount
* GoSub ClearCursors
* Mona_Services('SendMetric', 'SQL_BACKLOG', 'SQL_BACKLOG_WO_LOG', QueueCount)
*
* Query = 'SELECT SQL_BACKLOG_WO_MAT'
* Rlist(Query, Target_ActiveList$, '', '', '')
* QueueCount = @RecCount
* GoSub ClearCursors
* Mona_Services('SendMetric', 'SQL_BACKLOG', 'SQL_BACKLOG_WO_MAT', QueueCount)
Unlock hSysLists, ServiceKeyID else Null
end
end service
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Internal GoSubs
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ClearCursors:
For counter = 0 to 8
ClearSelect counter
Next counter
return