1d2ad09fbSPatrick Williams# Telemetry 2d2ad09fbSPatrick Williams 33df8472fSAdrian AmbrożewiczThis component implements middleware for sensors and metrics aggregation. 43df8472fSAdrian Ambrożewicz 5d2ad09fbSPatrick Williams## Capabilities 6d2ad09fbSPatrick Williams 71ac4d547SWludzik, JozefThis application is implementation of Telemetry proposed in OpenBMC design docs 81ac4d547SWludzik, Jozef`[1]`. 93df8472fSAdrian Ambrożewicz 103df8472fSAdrian AmbrożewiczIt's responsible for: 11d2ad09fbSPatrick Williams 123df8472fSAdrian Ambrożewicz- on-demand creation of metric reports, 133df8472fSAdrian Ambrożewicz - aggregated sets of sensor values available in system `[2]`, 143df8472fSAdrian Ambrożewicz- access to metric report in both pull and push model (triggers), 153df8472fSAdrian Ambrożewicz- run-time monitoring of sensor`[3]` updates. 163df8472fSAdrian Ambrożewicz 17d2ad09fbSPatrick Williams## Use-cases 18d2ad09fbSPatrick Williams 193df8472fSAdrian Ambrożewicz- generic and centralized way to observe telemetry data inside system 203df8472fSAdrian Ambrożewicz- back-end for Redfish TelemetryService`[4]` 213df8472fSAdrian Ambrożewicz 22d2ad09fbSPatrick Williams## How to build 23d2ad09fbSPatrick Williams 241ac4d547SWludzik, JozefThere are two way to build telemetry service: 25d2ad09fbSPatrick Williams 261ac4d547SWludzik, Jozef- using bitbake in yocto environment 271ac4d547SWludzik, Jozef- using meson as native build 281ac4d547SWludzik, Jozef 29d2ad09fbSPatrick WilliamsTo build it using bitbake follow the guide from OpenBMC docs`[5]`. To build it 30d2ad09fbSPatrick Williamsusing meson follow the quick guide to install meson`[6]` and then run below 31d2ad09fbSPatrick Williamscommands 32d2ad09fbSPatrick Williams 33*9189e35fSPatrick Williams```sh 341ac4d547SWludzik, Jozefmeson build 351ac4d547SWludzik, Jozefcd build 361ac4d547SWludzik, Jozefninja 371ac4d547SWludzik, Jozef``` 38d2ad09fbSPatrick Williams 391ac4d547SWludzik, JozefAfter successful build you should be able to run telemetry binary or start unit 401ac4d547SWludzik, Jozeftests 41d2ad09fbSPatrick Williams 42*9189e35fSPatrick Williams```sh 431ac4d547SWludzik, Jozef./tests/telemetry-ut 441ac4d547SWludzik, Jozef./telemetry 451ac4d547SWludzik, Jozef``` 46d2ad09fbSPatrick Williams 471ac4d547SWludzik, JozefIn case if system is missing boost dependency, it is possible to build it 481ac4d547SWludzik, Jozeflocally and set BOOST_ROOT environment variable to location of built files for 491ac4d547SWludzik, Jozefmeson. After this change meson should be able to detect boost dependency. See 501ac4d547SWludzik, Jozef`[7]` for more details. 511ac4d547SWludzik, Jozef 52d2ad09fbSPatrick Williams## Notes 53d2ad09fbSPatrick Williams 541ac4d547SWludzik, JozefMore information can be found in OpenBMC docs repository `[8]`. 551ac4d547SWludzik, Jozef 56d2ad09fbSPatrick Williams## References 57d2ad09fbSPatrick Williams 583df8472fSAdrian Ambrożewicz1. [OpenBMC platform telemetry design](https://github.com/openbmc/docs/blob/master/designs/telemetry.md) 593df8472fSAdrian Ambrożewicz2. [Sensor support for OpenBMC](https://github.com/openbmc/docs/blob/master/architecture/sensor-architecture.md) 603df8472fSAdrian Ambrożewicz3. [dbus-sensors](https://github.com/openbmc/dbus-sensors) 613df8472fSAdrian Ambrożewicz4. [Redfish TelemetryService](https://redfish.dmtf.org/schemas/v1/TelemetryService.json) 621ac4d547SWludzik, Jozef5. [Yocto-development](https://github.com/openbmc/docs/blob/master/yocto-development.md) 631ac4d547SWludzik, Jozef6. [Meson-Quick-Guide](https://mesonbuild.com/Quick-guide.html) 641ac4d547SWludzik, Jozef7. [Meson-Boost-dependency](https://mesonbuild.com/Dependencies.html#boost) 651ac4d547SWludzik, Jozef8. [OpenBMC-docs-repository](https://github.com/openbmc/docs) 66