Monitor task

QNX SDP8.0PLMS User's GuideAPIConfigurationDeveloper

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.

Page updated: