InterSystems IRIS Data Platform 2020.4 > Class Reference > %SYS namespace > SYS.Monitor.Health.Control

SYS.Monitor.Health.Control

Registered as a Subscriber to the System Monitor to handle all of the Health Monitor Sensors. This may create Charts for a Sensor (for multiple periods) if the Sensor is evaluated based on deviation from normal values.

Method Inventory

Methods

classmethod CalcChartStats(ByRef Readings As %List, ByRef Mean As %String, ByRef Sigma As %String, ByRef HighValue As %String, ByRef WarnValue As %String, ByRef stat As %Integer) as %Status [ Language = objectscript ]
Calculate mean and standard deviation based on list of values stat returns error code:

-1 - too few samples. 13 is minimum.

0 - success

classmethod CalcHigh(Mean As %Integer, Sigma As %Integer, High As %Integer, ByRef HighValue, ByRef WarnValue) as %Status [ Language = objectscript ]
Calculate alert value and warning value given high, mean, and sigma
classmethod CalcShiftedMean(Samples As %List, ByRef Z As %String, ByRef Trend As %Integer = 0) as %Status [ Language = objectscript ]
Calculate Shifted Mean. The first element is the historic base value. The remainder are samples. A minimum of 5 samples is required to compute a meaningful statistic. Trend: 0: No trend, +1: Rising shifted mean, -1: Lowering shifted mean Return code: 0 - insufficient data, 1 sufficient data, -1 an error: test $ze
classmethod CalcTrend(Samples As %List, ByRef Z As %String, ByRef Trend As %Integer = 0) as %Status [ Language = objectscript ]
Calculate Trend statistic z based on list of samples. The first element is the historic base value. The remainder are samples. A minimum of 5 samples is required to compute a meaningful statistic. Trend: 0: No trend, +1: Rising trend, -1: Lowering trend, +2: Rising shifted mean, -2: Lowering shifted mean Return code: 0 - insufficient data, 1 sufficient data, -1 an error: test $ze
method CheckMirror(Init As %Integer = 0) as %Status [ Language = objectscript ]
method HealthAlert(sensor As %String, item As %String, rule As %Integer, severity As %Integer, valuelist As %List) as %Status [ Language = objectscript ]
Save all readings after an out of bounds
classmethod InitializeDB() as %Status [ Language = objectscript ]
final classmethod InitializeSensor(Sensor As %String, Threshold As %Integer = 0, MaxVal As %Integer = 0, MaxMult As %Integer = 0, WarnVal As %Integer = 0, WarnMult As %Integer = 0) as %Status [ Language = objectscript ]
This method is called to set details of a sensor. Name, type, threshold, max value, max multiplier Returns 0 if already exists, 1 if ok, status code if problem saving the sensor object.
method LoadSensors() as %Status [ Language = objectscript ]
method LogMsg(Msg As %String) as %Status [ Language = objectscript ]
classmethod RandTest(Readings As %List, ByRef Random As %Integer = 0) as %Status [ Language = objectscript ]
Randomness test.

Calculate trends from the Median. In a normally distributed sample, there should not be significant rise or lowering from the median. Return code: 0 - insufficient data, 1 sufficient data, -1 an error: test $ze

method SetSensor(sensor As %String, item As %String, value As %Integer) as %Status [ Language = objectscript ]
Evaluate running averages

Inherited Members

Inherited Properties

Inherited Methods

Feedback