Throw the exception on the EM D-Bus fail

Throw the exception that occurs when there is a D-Bus failure when
trying to talk to entity-manager instead of the name of the exception,
and also add a trace that says entity-manager is the culprit.

Nothing was actually printing the exception name on the crash, it would
just have: terminate called after throwing an instance of 'char const*'

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I91eb65468a9a799bcd7256aae24a1121164b59b9
1 file changed
tree: 4d1362fffa2908ab943192e2c2e9e7b6180f8966
  1. subprojects/
  2. .clang-format
  3. .editorconfig
  4. .gitignore
  5. .markdownlint.yaml
  6. .prettierrc.yaml
  7. dbusSensor.hpp
  8. dbusUtils.hpp
  9. exprtkTools.hpp
  10. LICENSE
  11. meson.build
  12. OWNERS
  13. phosphor-virtual-sensor.service.in
  14. README.md
  15. thresholds.hpp
  16. virtual_sensor_config.json
  17. virtualSensor.cpp
  18. virtualSensor.hpp
README.md

phosphor-virtual-sensor

phosphor-virtual-sensor reads in virtual_sensor_config.json There are two types of data in this file:

virtual sensor configuration information

See virtual_sensor_config.json in this repository for an example. Sensors added this way can use any expression that is accepted by exprtk.

information to get a virtual sensor configuraton from D-Bus

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).