commit | 1dff7dceb9b2b8efe8b44c6d7518cd0207b89837 | [log] [tgz] |
---|---|---|
author | Rashmica Gupta <rashmica.g@gmail.com> | Tue Jul 27 19:43:31 2021 +1000 |
committer | Rashmica Gupta <rashmica.g@gmail.com> | Thu Aug 12 19:03:00 2021 +1000 |
tree | 6ad02a707f607e63cf5c58e4f9eb70451da0c339 | |
parent | c95a59e8849832344790c3cc0c62f931d6874077 [diff] |
Support threshold hysteresis Add support for a hysteresis value on the warning high/low and critical high/low sensor thresholds. On the high thresholds, this requires the sensor value to dip below the (threshold - hysteresis) value before the alarm clears, and on the low thresholds it has to go above (threshold + hysteresis). These are optional fields in the configuration JSON and will default to zero if not present, which results in the previous behavior of not having a hysteresis at all. Tested: with IBM's Ambient_Virtual_Temp sensor. When changing the value above a high threshold and then back below the threshold, we only see the alarm deasserted when the temp is below (threshold - hysteresis). Change-Id: Ied1d40def94e1b66cf4ec8826799bada4e6236ab Signed-off-by: Matt Spinler <spinler@us.ibm.com> Signed-off-by: Rashmica Gupta <rashmica.g@gmail.com>
phosphor-virtual-sensor reads in virtual_sensor_config.json There are two types of data in this file:
See virtual_sensor_config.json in this repository for an example. Sensors added this way can use any expression that is accepted by exprtk.
For example:
{ "Desc": { "Config" : "D-Bus", "Type" : "modifiedMedian" } }
Sensors added this way can only use a set of restricted calculations. At this stage the only type supported is modifiedMedian.
The virtual sensor configuration information needs to be added into the relevant hardware configuration file in entity-manager. This method of adding a virtual sensor allows a recipe that builds for different hardware configurations to have different virtual sensors for each configuration.
The virtual sensor configuration in entity manager follows a different format to the JSON in virtual_sensor_config.json (specified in entity-manager/schemas/VirtualSensor.json). In particular, the format for Thresholds is different. The following table shows the severity fields that correspond to a particular threshold.
Threshold | Severity |
---|---|
Warning | 0 |
Critical | 1 |
PerformanceLoss | 2 |
SoftShutdown | 3 |
HardShutdown | 4 |