Monitor task
The monitor task defines the watchdog monitoring attributes of the component.
Format
task "monitor" {
interval = "Heartbeat time interval"
max_miss = value
start_delay = timevalue
}
Default
None. Heartbeat monitoring monitor task is disabled by default.
Example
task "monitor" {
max_miss = 5
}
Multiplicity
Zero or one instance in a component block.
Constraints
-
The monitor task is a reserved keyword; the parameters shown are the only ones allowed.
-
The monitor task is not usable in start_sequence and stop_sequence.
-
Only a process started from main task of this component with the exec() keyword can send heartbeat.
-
The process must use the libplms.so APIs, fsp_plms_Connect() and fsp_plms_WatchdogHeartbeat(), to send the heartbeat to plms.
The QPLMS watchdog functionality is enabled by default if the -k and -x options are not used to start plms. When heartbeat monitoring is enabled, components send periodic heartbeats, and plms checks for these signals at intervals specified by the -m command line option (interval_ms). Because checks occur at fixed intervals, a heartbeat may not be detected immediately after it is sent. Heartbeats are evaluated over the monitor interval (task "monitor".interval). If this interval is too small relative to interval_ms (for example, 2 x interval_ms), only a few checks occur within each monitoring window, which make detection sensitive to timing differences.
For more consistent behaviour, the monitor interval should be configured as a larger multiple of interval_ms.

If t4>t3 and the heartbeat is sent between t3 and t5 then the heartbeat is detected at t5, expected time of the next heartbeat will be t7=t5+interval in the monitor task.
The ideal configuration is that the interval in the monitor task is many times greater (i.e., many multiples greater) than interval_ms.
