Health Monitoring
The healthState attribute is used to report the health state of Low CBF Subarray, Controller, Processor and Connector devices.
Health Aggregation
Subarray devices monitor the health of all Processor devices involved in processing their data and all Connector devices. Health values of all these lower-level devices are combined to form a single healthState value for the Subarray.
The Controller device monitors the health of all Subarray devices and combines them to form a singular healthState value summarising the whole Low CBF subsystem.
Note
Processors not in use by any Subarray are not currently monitored.
Attribute Subscription
Controller Tango device subscribes to changes in healthState
attribute of all
constituent Subarrays; it uses Tango database to retrieve the list of Subarrays:
Subarray Tango devices subscribes to changes in healthState
attribute of all
Connector devices and all Processors allocated to the Subarray. The list of
Connector Tango devices is retrieved from Tango database. The list of Processors
assigned to Subarray is reported by the Allocator.
Processor health
The health of Processor Tango device is determined from FPGA register values.
Each monitored FPGA register has an associated instance of RegisterHealthChecker
class which determines this register’s contribution to the overall Processor device
healthState
.
The hybrid (UML-like) diagram below illustrates steps taken when calculating Processor’s health:
ProcessorComponentManager
periodically polls FPGA registersIf any of the register values have changed pass this information to
LowCbfProcessor
Re-evaluate each individual register health contribution
Update Processor
healthState
if required