Skip to main content


class %Monitor.System.License extends %Monitor.System.Adaptor

This class can sample the status of the License Units, both local and distributed, and provide values for each Property listed.

It may also be used to create an alert based on the results. The simplest way to create an alert is to set a minimum level using the SetAlert() class method. Then use %MONAPPMGR to 'activate' this class in the %SYS namespace. When the Application Manager calls the GetSample() method to sample the license counts, if they fall below the minimum level the method will generate an entry in the cconsole.log file (which may then be emailed via the System Monitor). See the SetAlert() method for more details.

Users may also use this Class and the sampled Property values to create an Alert with the %Monitor.Alert Class. This allows for more complex checks and/or generating more specific alerts.

Property Inventory

Method Inventory


property AvailableDist as %Monitor.Integer;
The total number (used and unused) of distributed license units available.
Property methods: AvailableDistDisplayToLogical(), AvailableDistGet(), AvailableDistIsValid(), AvailableDistLogicalToDisplay(), AvailableDistNormalize(), AvailableDistSet()
property AvailableLocal as %Monitor.Integer;
The total number (used and unused) of local license units available.
Property methods: AvailableLocalDisplayToLogical(), AvailableLocalGet(), AvailableLocalIsValid(), AvailableLocalLogicalToDisplay(), AvailableLocalNormalize(), AvailableLocalSet()
property CurrentUsedDist as %Monitor.Integer;
The current number of distributed license units used.
Property methods: CurrentUsedDistDisplayToLogical(), CurrentUsedDistGet(), CurrentUsedDistIsValid(), CurrentUsedDistLogicalToDisplay(), CurrentUsedDistNormalize(), CurrentUsedDistSet()
property CurrentUsedLocal as %Monitor.Integer;
The current number of local license units used.
Property methods: CurrentUsedLocalDisplayToLogical(), CurrentUsedLocalGet(), CurrentUsedLocalIsValid(), CurrentUsedLocalLogicalToDisplay(), CurrentUsedLocalNormalize(), CurrentUsedLocalSet()
property MaxUsedDist as %Monitor.Integer;
A highwater-mark for the maximum number of distributed license units used since Cache was started.
Property methods: MaxUsedDistDisplayToLogical(), MaxUsedDistGet(), MaxUsedDistIsValid(), MaxUsedDistLogicalToDisplay(), MaxUsedDistNormalize(), MaxUsedDistSet()
property MaxUsedLocal as %Monitor.Integer;
A highwater-mark for the maximum number of local license units used since Cache was started.
Property methods: MaxUsedLocalDisplayToLogical(), MaxUsedLocalGet(), MaxUsedLocalIsValid(), MaxUsedLocalLogicalToDisplay(), MaxUsedLocalNormalize(), MaxUsedLocalSet()


method GetSample() as %Status
Get routine metric sample. Fetches current license unit values for each Property and may generate an entry in cconsole.log if the unused License Units fall below a minimum value (see SetValue method).

A return code of $$$OK indicates there is a new sample instance.
A return code of 0 indicates there is no sample instance.
method Initialize() as %Status
Initialize routine metrics.
classmethod SetAlert(Minimum As %Integer) as %Integer
Stores a minimum level of available license units to be checked by the GetSample() method.

If the value of (AvailableLocal - CurrentUsedLocal) or (AvailableDist - CurrentUsedDist) falls below this value, then the GetSample method will log an error in the cconsole.log, which will trigger an alert by the System Monitor. Note that the %Monitor.System.License Class must be "activated" in the Cache Application Monitor (run ^%MONAPPMGR in the %SYS namespace).

A value of "0" will disable this alert.

Returns the previous value. If Minimum="", it returns the current value but does not change it.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab