Skip to main content


class %Monitor.Manager extends %Library.RegisteredObject, %XML.Adaptor

Provides system management functions for the MONITOR and Application Monitor

Method Inventory


classmethod ClearSystemCounters(System As %Boolean = 0) as %Integer
Clear the current system MONITOR counters
System = 1 indicates to specifically clear the system level counters
classmethod EmailSender(sender As %String) as %String
Set email sender
classmethod EnableEmail(enable As %Boolean) as %Boolean
Email enabled
classmethod Halt() as %Integer
Halt the System monitor
classmethod Interval(interval As %Integer) as %String
Set sampling interval
classmethod IsActive() as %Boolean
Return summary active status: 0 - no active classes, else 1 (some active classes)
classmethod Recipients(recipients As %List) as %List
Set email recipients
classmethod Refresh() as %Integer
Refresh the System Monitor
classmethod SmtpPassword(passwd As %String) as %String
Set email SMTP password
classmethod SmtpServer(server As %String) as %String
Set email SMTP Server name. Returns current Server name (input argument is optional).
classmethod SmtpServerPort(port As %String) as %String
Set email SMTP Server port. Returns current Server port (input argument is optional).
classmethod SmtpServerSSL(ByRef SSLConfig As %String, ByRef UseSTARTTLS As %Boolean)
Set email SMTP SSLConfiguration and UseSTARTTLS (as defined in %Net.SMTP). Returns current SSLConfiguration and UseSTARTTLS (input arguments are optional).
classmethod SmtpUserName(name As %String) as %String
Set email SMTP user name
classmethod Start() as %Integer
Start the System Monitor
classmethod StartSystemCounters(System As %Boolean = 0, Processes As %Integer = $$$STmaxpid, Routines As %Integer = 200, Globals As %Integer = 100, Network As %Integer = 5, ProcessList As %List, Databases As %Integer = 10, RtnLines As %Boolean = 1) as %Integer
Enable the system MONITOR counters

System = 1 to separately enable only system level counters (other parameters ignored)

Note that if System level counters are enabled separately, then they must also be specifically stopped or cleared separately (use System = 1 for the Stop() and Clear() methods)

Processes = the number of individual processes to collect counts for
Routines = the number of individual routines to collect counts for
Globals = the number of individual globals to collect counts for
Network = the number of individual network nodes to collect counts for
ProcessList = a $List of specific process IDs to collect counts for
Databases = the number of individual databases to collect counts for
RtnLines = choice of counting RtnLines metric (disabling this can reduce overhead)

Note that the MONITOR will allocate 'slots' for the number of processes, globals, routines and nodes you indicate. The first 'n' processes, routines, globals and nodes to increment the counters will take those slots, and all counts from other processes, globals, routines, and nodes will be added to the 'Other' slot. The maximum number of 'slots' for each collection is 65,535.
These counters are the same metrics as reported by the PERFMON utility. If you plan to view the data collected via ^PERFMON, you should ensure that the start time for calculating per/second data is properly set for ^PERFMON by running the $$Clear^PERFMON() function. This will reset the counters and start time.
classmethod StopSystemCounters(System As %Boolean = 0) as %Integer
Stop the system MONITOR counters

System = 1 indicates to specifically stop the system level counters (if those were started separately)
classmethod SystemCountersActive(System As %Boolean = 0) as %String
Check if the system MONITOR counters are currently active

Returns '0' if not active, or a positive integer if active.
A '1' indicates that PERFMON (or the SystemCounters in this class) are active.
A '2' indicates that %SYS.MONLBL (or the %Monitor.System.LineByLine class) is active.
If the 'System' parameter is included as '1', then this will also return a second comma-delimited piece indicating the status of the 'system-only' level counters documented above in the StartSystemCounters() method. So, a '1,1' means both PERFMON and the system-only counters are active, but have been started separately. A '1,0' means that just a PERFMON collection was started (which includes system-level counters, but they will be stopped when PERFMON is stopped).

Inherited Members

Inherited Methods

FeedbackOpens in a new tab