xref: /openbmc/telemetry/README.md (revision 9189e35fb25188b438fd536e4f7173bbf2911473)
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