xref: /openbmc/bmcweb/features/redfish/include/utils/telemetry_utils.hpp (revision 163994a86488b62011cddeb0b6edec03dad31587)
1081ebf06SWludzik, Jozef #pragma once
2081ebf06SWludzik, Jozef 
34dbb8aeaSWludzik, Jozef #include "dbus_utility.hpp"
44dbb8aeaSWludzik, Jozef 
5081ebf06SWludzik, Jozef namespace redfish
6081ebf06SWludzik, Jozef {
7081ebf06SWludzik, Jozef 
8081ebf06SWludzik, Jozef namespace telemetry
9081ebf06SWludzik, Jozef {
10081ebf06SWludzik, Jozef constexpr const char* service = "xyz.openbmc_project.Telemetry";
11081ebf06SWludzik, Jozef constexpr const char* reportInterface = "xyz.openbmc_project.Telemetry.Report";
12081ebf06SWludzik, Jozef constexpr const char* metricReportDefinitionUri =
134028ff77SEd Tanous     "/redfish/v1/TelemetryService/MetricReportDefinitions";
14081ebf06SWludzik, Jozef constexpr const char* metricReportUri =
154028ff77SEd Tanous     "/redfish/v1/TelemetryService/MetricReports";
16081ebf06SWludzik, Jozef 
17081ebf06SWludzik, Jozef inline std::string getDbusReportPath(const std::string& id)
18081ebf06SWludzik, Jozef {
19*163994a8SSzymon Dompke     sdbusplus::message::object_path reportsPath(
20*163994a8SSzymon Dompke         "/xyz/openbmc_project/Telemetry/Reports/TelemetryService");
21*163994a8SSzymon Dompke     return {reportsPath / id};
22*163994a8SSzymon Dompke }
23*163994a8SSzymon Dompke 
24*163994a8SSzymon Dompke inline std::string getDbusTriggerPath(const std::string& id)
25*163994a8SSzymon Dompke {
26*163994a8SSzymon Dompke     sdbusplus::message::object_path triggersPath(
27*163994a8SSzymon Dompke         "/xyz/openbmc_project/Telemetry/Triggers/TelemetryService");
28*163994a8SSzymon Dompke     return {triggersPath / id};
29081ebf06SWludzik, Jozef }
30081ebf06SWludzik, Jozef 
31081ebf06SWludzik, Jozef } // namespace telemetry
32081ebf06SWludzik, Jozef } // namespace redfish
33