summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreportnov <eportnov@ibs.ru>2022-09-08 15:37:02 +0300
committereportnov <eportnov@ibs.ru>2022-09-08 15:37:02 +0300
commit0baf1942d94d90479f411419f1c2a0fdee525ba4 (patch)
treeac92067591f961df72b7943e635cc8f0c7c74c87
parent496d54ef0db15fed5e696c5791aa925ac0ad2d1d (diff)
downloadopenbmc-0baf1942d94d90479f411419f1c2a0fdee525ba4.tar.xz
add telemetry last hour
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/interfaces/bmcweb/0012-add-telemetry-hour-data.patch191
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/interfaces/bmcweb_%.bbappend1
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/0005-add-hour-data.patch97
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/30173616022
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/30173616032
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/30173616042
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/30173616052
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/30173616062
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/30173616072
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/30173616082
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/30173616092
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/30173616102
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/30173616112
-rw-r--r--meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry_%.bbappend1
14 files changed, 300 insertions, 10 deletions
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/interfaces/bmcweb/0012-add-telemetry-hour-data.patch b/meta-ibs/meta-cp2-5422/recipes-phosphor/interfaces/bmcweb/0012-add-telemetry-hour-data.patch
new file mode 100644
index 0000000000..f835ac2ca5
--- /dev/null
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/interfaces/bmcweb/0012-add-telemetry-hour-data.patch
@@ -0,0 +1,191 @@
+From 8115dec92eb59b60e48295d3d94e739e138c22b3 Mon Sep 17 00:00:00 2001
+From: eportnov <eportnov@ibs.ru>
+Date: Thu, 8 Sep 2022 15:22:48 +0300
+Subject: [PATCH] add telemetry hour data
+
+---
+ redfish-core/lib/metric_report.hpp | 148 +++++++++++++++++++++++------
+ 1 file changed, 119 insertions(+), 29 deletions(-)
+
+diff --git a/redfish-core/lib/metric_report.hpp b/redfish-core/lib/metric_report.hpp
+index b3f5721e..64808a9c 100644
+--- a/redfish-core/lib/metric_report.hpp
++++ b/redfish-core/lib/metric_report.hpp
+@@ -16,6 +16,20 @@ namespace redfish
+ namespace telemetry
+ {
+
++enum class Params
++{
++ ReportName,
++ IdGroup,
++ Period,
++};
++
++enum class Periods
++{
++ All,
++ LastHour,
++ None,
++};
++
+ constexpr const char* metricReportUri =
+ "/redfish/v1/TelemetryService/MetricReports";
+
+@@ -87,6 +101,81 @@ inline bool fillReport(nlohmann::json& json, const std::string& id,
+ json["MetricValues"] = toMetricValues(readings);
+ return true;
+ }
++
++inline telemetry::Periods ConvertPeriod(std::string const& period_as_string)
++{
++ if( period_as_string == "all" )
++ {
++ return telemetry::Periods::All;
++ }
++ else if( period_as_string == "last_hour" )
++ {
++ return telemetry::Periods::LastHour;
++ }
++ return telemetry::Periods::None;
++}
++
++inline std::pair<Params, std::string> BuildPairParams(std::vector<std::string> const& params_as_string)
++{
++ static constexpr int SIZE_OF_PAIR = 2;
++
++ std::pair<telemetry::Params, std::string> result;
++
++ if(params_as_string.empty() || params_as_string.size() > SIZE_OF_PAIR )
++ {
++ return result;
++ }
++ if(params_as_string[0] == "id")
++ {
++ result.first = telemetry::Params::IdGroup;
++ result.second = params_as_string[1];
++ }
++ else if(params_as_string[0] == "period")
++ {
++ result.first = telemetry::Params::Period;
++ result.second = params_as_string[1];
++ }
++ else if( params_as_string[0] == "report" )
++ {
++ result.first = telemetry::Params::ReportName;
++ result.second = params_as_string[1];
++ }
++ return result;
++}
++
++inline std::vector<std::string> ParseLine( std::string const& line, std::string const& delimiter )
++{
++ std::vector<std::string> result;
++
++ auto start = 0U;
++ auto end = line.find(delimiter);
++ while(end != std::string::npos)
++ {
++ auto parsed = line.substr(start, end - start);
++ result.push_back(parsed);
++ start = end + delimiter.length();
++ end = line.find(delimiter, start);
++ }
++ auto parsed = line.substr(start, end);
++ result.push_back(parsed);
++ return result;
++}
++
++inline std::unordered_map<telemetry::Params, std::string> BuildParams(std::vector<std::string> const& parsed_data)
++{
++ static const std::string DELIMITER_ON_PARAMETER = "=";
++
++ std::unordered_map<telemetry::Params, std::string> result;
++ for(const auto& not_parsed_param : parsed_data)
++ {
++ auto param_pair = ParseLine( not_parsed_param, DELIMITER_ON_PARAMETER );
++ auto pair_params = BuildPairParams( param_pair );
++ result.insert( pair_params );
++ }
++ return result;
++}
++
++
+ } // namespace telemetry
+
+ inline void requestRoutesMetricReportCollection(App& app)
+@@ -119,44 +208,45 @@ inline void requestRoutesMetricReport(App& app)
+ .methods(boost::beast::http::verb::get)(
+ [&app](const crow::Request& req,
+ const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
+- const std::string& id) {
++ const std::string& params) {
+ if (!redfish::setUpRedfishRoute(app, req, asyncResp))
+ {
+ return;
+ }
+- const std::string reportPath = telemetry::getDbusReportPath(id);
+- crow::connections::systemBus->async_method_call(
+- [asyncResp, id, reportPath](const boost::system::error_code& ec) {
+- if (ec.value() == EBADR ||
+- ec == boost::system::errc::host_unreachable)
+- {
+- messages::resourceNotFound(asyncResp->res, "MetricReport", id);
+- return;
+- }
+- if (ec)
+- {
+- BMCWEB_LOG_ERROR << "respHandler DBus error " << ec;
+- messages::internalError(asyncResp->res);
+- return;
+- }
+-
+- sdbusplus::asio::getProperty<telemetry::TimestampReadings>(
+- *crow::connections::systemBus, telemetry::service, reportPath,
+- telemetry::reportInterface, "Readings",
+- [asyncResp, id](const boost::system::error_code ec2,
+- const telemetry::TimestampReadings& ret) {
+- if (ec2)
++ static const std::string DELIMITER_ON_LINE = "&";
++
++ auto full_params = "report=" + params;
++ auto parsed_params = telemetry::BuildParams( telemetry::ParseLine( full_params, DELIMITER_ON_LINE ) );
++
++ auto report_name_it = parsed_params.find(telemetry::Params::ReportName);
++ auto report_name = report_name_it != parsed_params.end() ? report_name_it->second : "";
++
++ auto period_it = parsed_params.find(telemetry::Params::Period);
++ auto period = period_it != parsed_params.end() ? period_it->second : "";
++
++ const std::string reportPath = telemetry::getDbusReportPath(report_name);
++
++ auto is_need_last_hour = telemetry::ConvertPeriod(period) == telemetry::Periods::LastHour;
++
++ crow::connections::systemBus->async_method_call([asyncResp, report_name, period](const boost::system::error_code& error_code,
++ const telemetry::TimestampReadings& ret){
++ if(error_code.value() == EBADR ||
++ error_code == boost::system::errc::host_unreachable)
+ {
+- BMCWEB_LOG_ERROR << "respHandler DBus error " << ec2;
+- messages::internalError(asyncResp->res);
++ std::cout << "first error " << std::endl;
++ std::cout << "host_unreachable" << std::endl;
+ return;
+ }
++ if(error_code)
++ {
++ std::cout << "respHandler DBus error " << error_code << std::endl;
++ return;
++ }
+
+- telemetry::fillReport(asyncResp->res.jsonValue, id, ret);
+- });
++ telemetry::fillReport(asyncResp->res.jsonValue,report_name, ret);
+ },
+ telemetry::service, reportPath, telemetry::reportInterface,
+- "Update");
+- });
++ "GetReadings", is_need_last_hour);
++ });
+ }
+ } // namespace redfish
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/interfaces/bmcweb_%.bbappend b/meta-ibs/meta-cp2-5422/recipes-phosphor/interfaces/bmcweb_%.bbappend
index 450c5cc6d4..8eb1537e64 100644
--- a/meta-ibs/meta-cp2-5422/recipes-phosphor/interfaces/bmcweb_%.bbappend
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/interfaces/bmcweb_%.bbappend
@@ -3,6 +3,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI += "\
file://0001-IBS-Default-BMC-Name-and-Model.patch \
file://0011-configure-telemetry.patch \
+ file://0012-add-telemetry-hour-data.patch \
"
#SRC_URI += "\
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/0005-add-hour-data.patch b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/0005-add-hour-data.patch
new file mode 100644
index 0000000000..3a795b1838
--- /dev/null
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/0005-add-hour-data.patch
@@ -0,0 +1,97 @@
+From 34ff94d5b3c8fae4050c96aaabc2975d158c85cf Mon Sep 17 00:00:00 2001
+From: eportnov <eportnov@ibs.ru>
+Date: Thu, 8 Sep 2022 15:23:11 +0300
+Subject: [PATCH] add hour data
+
+---
+ src/report.cpp | 51 ++++++++++++++++++++++++++++++++++++++++++++++----
+ src/report.hpp | 2 ++
+ 2 files changed, 49 insertions(+), 4 deletions(-)
+
+diff --git a/src/report.cpp b/src/report.cpp
+index 624bdbc..06985a5 100644
+--- a/src/report.cpp
++++ b/src/report.cpp
+@@ -296,10 +296,6 @@ std::unique_ptr<sdbusplus::asio::dbus_interface>
+ return 1;
+ },
+ [this](const auto&) { return persistency; });
+-
+- dbusIface->register_property_r("Readings", readings,
+- sdbusplus::vtable::property_::emits_change,
+- [this](const auto&) { return readings; });
+ dbusIface->register_property_rw<std::string>(
+ "ReportingType", sdbusplus::vtable::property_::emits_change,
+ [this](auto newVal, auto& oldVal) {
+@@ -411,11 +407,58 @@ std::unique_ptr<sdbusplus::asio::dbus_interface>
+ updateReadings();
+ }
+ });
++ dbusIface->register_method("GetReadings", [this](bool is_need_last_hour) {
++ if(is_need_last_hour)
++ {
++ return getHourReadings();
++ }
++ return readings;
++ });
+ constexpr bool skipPropertiesChangedSignal = true;
+ dbusIface->initialize(skipPropertiesChangedSignal);
+ return dbusIface;
+ }
+
++ Readings Report::getHourReadings()
++ {
++ static constexpr int ZERO_POSITION = 0;
++
++ Readings result;
++ std::get<0>(result) = std::get<0>(readings);
++ auto& result_read = std::get<1>(result);;
++
++ auto& read = std::get<1>(readings);
++ auto hour_pos = GetPositionOnLastHour(read);
++
++ if(hour_pos == ZERO_POSITION)
++ {
++ return readings;
++ }
++ std::copy(read.begin() + hour_pos, read.end(), std::back_inserter(result_read));
++
++ return result;
++ }
++
++ int Report::GetPositionOnLastHour(const std::vector<ReadingData>& readings)
++ {
++ static constexpr uint32_t SECONDS_IN_HOUR = 60*60;
++ static constexpr int DEFAULT_RESULT = 0;
++
++ uint64_t time_past_hour = std::chrono::duration_cast<std::chrono::seconds>(
++ std::chrono::system_clock::now().time_since_epoch()).count() - SECONDS_IN_HOUR;
++
++
++ for(auto it = readings.rbegin(); it !=readings.rend(); ++it)
++ {
++ auto reading_time = std::get<2>(*it);
++ if(reading_time < time_past_hour)
++ {
++ return abs(readings.rend() - it);
++ }
++ }
++ return DEFAULT_RESULT;
++ }
++
+ void Report::timerProcForPeriodicReport(boost::system::error_code ec,
+ Report& self)
+ {
+diff --git a/src/report.hpp b/src/report.hpp
+index 74c979b..b55b01b 100644
+--- a/src/report.hpp
++++ b/src/report.hpp
+@@ -112,6 +112,8 @@ class Report : public interfaces::Report, public interfaces::MetricListener
+ void updateReadings();
+ void scheduleTimer();
+ std::vector<ErrorMessage> verify() const;
++ Readings getHourReadings();
++ int GetPositionOnLastHour(const std::vector<ReadingData>& readings);
+
+ std::string id;
+ const sdbusplus::message::object_path path;
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361602 b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361602
index 01c02bc6d8..4796f8a90a 100644
--- a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361602
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361602
@@ -1 +1 @@
-{"AppendLimit":17280,"Enabled":true,"Id":"cpu_voltage","Interval":10,"Name":"cpu_voltage","ReadingParameters":[{"collectionDuration":2,"collectionTimeScope":0,"id":"cpu_voltage","operationType":2,"sensorPath":[{"metadata":"PVCCIN_CPU1","path":"/xyz/openbmc_project/sensors/voltage/PVCCIN_CPU1","service":"xyz.openbmc_project.ADCSensor"},{"metadata":"PVCCIN_CPU2","path":"/xyz/openbmc_project/sensors/voltage/PVCCIN_CPU2","service":"xyz.openbmc_project.ADCSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
+{"AppendLimit":17280,"Enabled":true,"Id":"cpu_voltage","Interval":10000,"Name":"cpu_voltage","ReadingParameters":[{"collectionDuration":2,"collectionTimeScope":0,"id":"cpu_voltage","operationType":2,"sensorPath":[{"metadata":"PVCCIN_CPU1","path":"/xyz/openbmc_project/sensors/voltage/PVCCIN_CPU1","service":"xyz.openbmc_project.ADCSensor"},{"metadata":"PVCCIN_CPU2","path":"/xyz/openbmc_project/sensors/voltage/PVCCIN_CPU2","service":"xyz.openbmc_project.ADCSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361603 b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361603
index d6d8078585..f76e9079f1 100644
--- a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361603
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361603
@@ -1 +1 @@
-{"AppendLimit":86400,"Enabled":true,"Id":"fans","Interval":10,"Name":"fans","ReadingParameters":[{"collectionDuration":10,"collectionTimeScope":0,"id":"fans","operationType":2,"sensorPath":[{"metadata":"CPU1_Fan","path":"/xyz/openbmc_project/sensors/fan_tach/CPU1_Fan","service":"xyz.openbmc_project.FanSensor"},{"metadata":"CPU2_Fan","path":"/xyz/openbmc_project/sensors/fan_tach/CPU2_Fan","service":"xyz.openbmc_project.FanSensor"},{"metadata":"System_Fan_1","path":"/xyz/openbmc_project/sensors/fan_tach/System_Fan_1","service":"xyz.openbmc_project.FanSensor"},{"metadata":"System_Fan_2","path":"/xyz/openbmc_project/sensors/fan_tach/System_Fan_2","service":"xyz.openbmc_project.FanSensor"},{"metadata":"System_Fan_3","path":"/xyz/openbmc_project/sensors/fan_tach/System_Fan_3","service":"xyz.openbmc_project.FanSensor"},{"metadata":"Pwm_1","path":"/xyz/openbmc_project/sensors/fan_pwm/Pwm_1","service":"xyz.openbmc_project.FanSensor"},{"metadata":"Pwm_5","path":"/xyz/openbmc_project/sensors/fan_pwm/Pwm_5","service":"xyz.openbmc_project.FanSensor"},{"metadata":"Pwm_6","path":"/xyz/openbmc_project/sensors/fan_pwm/Pwm_6","service":"xyz.openbmc_project.FanSensor"},{"metadata":"Pwm_7","path":"/xyz/openbmc_project/sensors/fan_pwm/Pwm_7","service":"xyz.openbmc_project.FanSensor"},{"metadata":"Pwm_8","path":"/xyz/openbmc_project/sensors/fan_pwm/Pwm_8","service":"xyz.openbmc_project.FanSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
+{"AppendLimit":86400,"Enabled":true,"Id":"fans","Interval":10000,"Name":"fans","ReadingParameters":[{"collectionDuration":10,"collectionTimeScope":0,"id":"fans","operationType":2,"sensorPath":[{"metadata":"CPU1_Fan","path":"/xyz/openbmc_project/sensors/fan_tach/CPU1_Fan","service":"xyz.openbmc_project.FanSensor"},{"metadata":"CPU2_Fan","path":"/xyz/openbmc_project/sensors/fan_tach/CPU2_Fan","service":"xyz.openbmc_project.FanSensor"},{"metadata":"System_Fan_1","path":"/xyz/openbmc_project/sensors/fan_tach/System_Fan_1","service":"xyz.openbmc_project.FanSensor"},{"metadata":"System_Fan_2","path":"/xyz/openbmc_project/sensors/fan_tach/System_Fan_2","service":"xyz.openbmc_project.FanSensor"},{"metadata":"System_Fan_3","path":"/xyz/openbmc_project/sensors/fan_tach/System_Fan_3","service":"xyz.openbmc_project.FanSensor"},{"metadata":"Pwm_1","path":"/xyz/openbmc_project/sensors/fan_pwm/Pwm_1","service":"xyz.openbmc_project.FanSensor"},{"metadata":"Pwm_5","path":"/xyz/openbmc_project/sensors/fan_pwm/Pwm_5","service":"xyz.openbmc_project.FanSensor"},{"metadata":"Pwm_6","path":"/xyz/openbmc_project/sensors/fan_pwm/Pwm_6","service":"xyz.openbmc_project.FanSensor"},{"metadata":"Pwm_7","path":"/xyz/openbmc_project/sensors/fan_pwm/Pwm_7","service":"xyz.openbmc_project.FanSensor"},{"metadata":"Pwm_8","path":"/xyz/openbmc_project/sensors/fan_pwm/Pwm_8","service":"xyz.openbmc_project.FanSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361604 b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361604
index 571b836771..a5a3feec3c 100644
--- a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361604
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361604
@@ -1 +1 @@
-{"AppendLimit":17280,"Enabled":true,"Id":"cpu_temp","Interval":10,"Name":"cpu_temp","ReadingParameters":[{"collectionDuration":2,"collectionTimeScope":0,"id":"cpu_temp","operationType":2,"sensorPath":[{"metadata":"Die_CPU1","path":"/xyz/openbmc_project/sensors/temperature/Die_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"Die_CPU2","path":"/xyz/openbmc_project/sensors/temperature/Die_CPU2","service":"xyz.openbmc_project.CPUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
+{"AppendLimit":17280,"Enabled":true,"Id":"cpu_temp","Interval":10000,"Name":"cpu_temp","ReadingParameters":[{"collectionDuration":2,"collectionTimeScope":0,"id":"cpu_temp","operationType":2,"sensorPath":[{"metadata":"Die_CPU1","path":"/xyz/openbmc_project/sensors/temperature/Die_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"Die_CPU2","path":"/xyz/openbmc_project/sensors/temperature/Die_CPU2","service":"xyz.openbmc_project.CPUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361605 b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361605
index 05aa4b2a41..d9226bd9d3 100644
--- a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361605
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361605
@@ -1 +1 @@
-{"AppendLimit":69120,"Enabled":true,"Id":"dimm_temp","Interval":10,"Name":"dimm_temp","ReadingParameters":[{"collectionDuration":8,"collectionTimeScope":0,"id":"dimm_temp","operationType":2,"sensorPath":[{"metadata":"DIMM_A1_CPU1","path":"/xyz/openbmc_project/sensors/temperature/DIMM_A1_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_A1_CPU2","path":"/xyz/openbmc_project/sensors/temperature/DIMM_A1_CPU2","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_B1_CPU1","path":"/xyz/openbmc_project/sensors/temperature/DIMM_B1_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_B1_CPU2","path":"/xyz/openbmc_project/sensors/temperature/DIMM_B1_CPU2","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_D1_CPU1","path":"/xyz/openbmc_project/sensors/temperature/DIMM_D1_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_D1_CPU2","path":"/xyz/openbmc_project/sensors/temperature/DIMM_D1_CPU2","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_E1_CPU1","path":"/xyz/openbmc_project/sensors/temperature/DIMM_E1_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_E1_CPU2","path":"/xyz/openbmc_project/sensors/temperature/DIMM_E1_CPU2","service":"xyz.openbmc_project.CPUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
+{"AppendLimit":69120,"Enabled":true,"Id":"dimm_temp","Interval":10000,"Name":"dimm_temp","ReadingParameters":[{"collectionDuration":8,"collectionTimeScope":0,"id":"dimm_temp","operationType":2,"sensorPath":[{"metadata":"DIMM_A1_CPU1","path":"/xyz/openbmc_project/sensors/temperature/DIMM_A1_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_A1_CPU2","path":"/xyz/openbmc_project/sensors/temperature/DIMM_A1_CPU2","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_B1_CPU1","path":"/xyz/openbmc_project/sensors/temperature/DIMM_B1_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_B1_CPU2","path":"/xyz/openbmc_project/sensors/temperature/DIMM_B1_CPU2","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_D1_CPU1","path":"/xyz/openbmc_project/sensors/temperature/DIMM_D1_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_D1_CPU2","path":"/xyz/openbmc_project/sensors/temperature/DIMM_D1_CPU2","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_E1_CPU1","path":"/xyz/openbmc_project/sensors/temperature/DIMM_E1_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DIMM_E1_CPU2","path":"/xyz/openbmc_project/sensors/temperature/DIMM_E1_CPU2","service":"xyz.openbmc_project.CPUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361606 b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361606
index f9f480992c..356226a0bf 100644
--- a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361606
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361606
@@ -1 +1 @@
-{"AppendLimit":51840,"Enabled":true,"Id":"other_temp","Interval":10,"Name":"other_temp","ReadingParameters":[{"collectionDuration":6,"collectionTimeScope":0,"id":"other_temp","operationType":2,"sensorPath":[{"metadata":"DTS_CPU1","path":"/xyz/openbmc_project/sensors/temperature/DTS_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DTS_CPU2","path":"/xyz/openbmc_project/sensors/temperature/DTS_CPU2","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"Inlet_BRD_Temp","path":"/xyz/openbmc_project/sensors/temperature/Inlet_BRD_Temp","service":"xyz.openbmc_project.HwmonTempSensor"},{"metadata":"PCH___M_2_Temp","path":"/xyz/openbmc_project/sensors/temperature/PCH___M_2_Temp","service":"xyz.openbmc_project.HwmonTempSensor"},{"metadata":"Right_side_of_the_board_Temp","path":"/xyz/openbmc_project/sensors/temperature/Right_side_of_the_board_Temp","service":"xyz.openbmc_project.HwmonTempSensor"},{"metadata":"BMC_Temp","path":"/xyz/openbmc_project/sensors/temperature/BMC_Temp","service":"xyz.openbmc_project.HwmonTempSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
+{"AppendLimit":51840,"Enabled":true,"Id":"other_temp","Interval":10000,"Name":"other_temp","ReadingParameters":[{"collectionDuration":6,"collectionTimeScope":0,"id":"other_temp","operationType":2,"sensorPath":[{"metadata":"DTS_CPU1","path":"/xyz/openbmc_project/sensors/temperature/DTS_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"DTS_CPU2","path":"/xyz/openbmc_project/sensors/temperature/DTS_CPU2","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"Inlet_BRD_Temp","path":"/xyz/openbmc_project/sensors/temperature/Inlet_BRD_Temp","service":"xyz.openbmc_project.HwmonTempSensor"},{"metadata":"PCH___M_2_Temp","path":"/xyz/openbmc_project/sensors/temperature/PCH___M_2_Temp","service":"xyz.openbmc_project.HwmonTempSensor"},{"metadata":"Right_side_of_the_board_Temp","path":"/xyz/openbmc_project/sensors/temperature/Right_side_of_the_board_Temp","service":"xyz.openbmc_project.HwmonTempSensor"},{"metadata":"BMC_Temp","path":"/xyz/openbmc_project/sensors/temperature/BMC_Temp","service":"xyz.openbmc_project.HwmonTempSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361607 b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361607
index ccd23f9a53..b3410cb10a 100644
--- a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361607
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361607
@@ -1 +1 @@
-{"AppendLimit":17280,"Enabled":true,"Id":"power","Interval":10,"Name":"power","ReadingParameters":[{"collectionDuration":2,"collectionTimeScope":0,"id":"power","operationType":2,"sensorPath":[{"metadata":"Cpu_Power_Average_CPU1","path":"/xyz/openbmc_project/sensors/power/Cpu_Power_Average_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"Cpu_Power_Average_CPU2","path":"/xyz/openbmc_project/sensors/power/Cpu_Power_Average_CPU2","service":"xyz.openbmc_project.CPUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
+{"AppendLimit":17280,"Enabled":true,"Id":"power","Interval":10000,"Name":"power","ReadingParameters":[{"collectionDuration":2,"collectionTimeScope":0,"id":"power","operationType":2,"sensorPath":[{"metadata":"Cpu_Power_Average_CPU1","path":"/xyz/openbmc_project/sensors/power/Cpu_Power_Average_CPU1","service":"xyz.openbmc_project.CPUSensor"},{"metadata":"Cpu_Power_Average_CPU2","path":"/xyz/openbmc_project/sensors/power/Cpu_Power_Average_CPU2","service":"xyz.openbmc_project.CPUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361608 b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361608
index 3f5aa281bb..fa3586eb7a 100644
--- a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361608
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361608
@@ -1 +1 @@
-{"AppendLimit":34560,"Enabled":true,"Id":"psu_current","Interval":10,"Name":"report_name","ReadingParameters":[{"collectionDuration":4,"collectionTimeScope":0,"id":"psu_current","operationType":2,"sensorPath":[{"metadata":"PSU1_Input_Current","path":"/xyz/openbmc_project/sensors/current/PSU1_Input_Current","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Input_Current","path":"/xyz/openbmc_project/sensors/current/PSU2_Input_Current","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU1_Output_Current","path":"/xyz/openbmc_project/sensors/current/PSU1_Output_Current","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Output_Current","path":"/xyz/openbmc_project/sensors/current/PSU2_Output_Current","service":"xyz.openbmc_project.PSUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
+{"AppendLimit":34560,"Enabled":true,"Id":"psu_current","Interval":10000,"Name":"report_name","ReadingParameters":[{"collectionDuration":4,"collectionTimeScope":0,"id":"psu_current","operationType":2,"sensorPath":[{"metadata":"PSU1_Input_Current","path":"/xyz/openbmc_project/sensors/current/PSU1_Input_Current","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Input_Current","path":"/xyz/openbmc_project/sensors/current/PSU2_Input_Current","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU1_Output_Current","path":"/xyz/openbmc_project/sensors/current/PSU1_Output_Current","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Output_Current","path":"/xyz/openbmc_project/sensors/current/PSU2_Output_Current","service":"xyz.openbmc_project.PSUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361609 b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361609
index 2560e2e5d4..79a7e0de53 100644
--- a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361609
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361609
@@ -1 +1 @@
-{"AppendLimit":34560,"Enabled":true,"Id":"psu_power","Interval":10,"Name":"report_name","ReadingParameters":[{"collectionDuration":4,"collectionTimeScope":0,"id":"psu_power","operationType":2,"sensorPath":[{"metadata":"PSU1_Input_Power","path":"/xyz/openbmc_project/sensors/power/PSU1_Input_Power","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Input_Power","path":"/xyz/openbmc_project/sensors/power/PSU2_Input_Power","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU1_Output_Power","path":"/xyz/openbmc_project/sensors/power/PSU1_Output_Power","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Output_Power","path":"/xyz/openbmc_project/sensors/power/PSU2_Output_Power","service":"xyz.openbmc_project.PSUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
+{"AppendLimit":34560,"Enabled":true,"Id":"psu_power","Interval":10000,"Name":"report_name","ReadingParameters":[{"collectionDuration":4,"collectionTimeScope":0,"id":"psu_power","operationType":2,"sensorPath":[{"metadata":"PSU1_Input_Power","path":"/xyz/openbmc_project/sensors/power/PSU1_Input_Power","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Input_Power","path":"/xyz/openbmc_project/sensors/power/PSU2_Input_Power","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU1_Output_Power","path":"/xyz/openbmc_project/sensors/power/PSU1_Output_Power","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Output_Power","path":"/xyz/openbmc_project/sensors/power/PSU2_Output_Power","service":"xyz.openbmc_project.PSUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361610 b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361610
index 9908c37467..ebac751341 100644
--- a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361610
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361610
@@ -1 +1 @@
-{"AppendLimit":17280,"Enabled":true,"Id":"psu_temp","Interval":10,"Name":"report_name","ReadingParameters":[{"collectionDuration":2,"collectionTimeScope":0,"id":"psu_temp","operationType":2,"sensorPath":[{"metadata":"PSU1_Temperature","path":"/xyz/openbmc_project/sensors/temperature/PSU1_Temperature","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Temperature","path":"/xyz/openbmc_project/sensors/temperature/PSU2_Temperature","service":"xyz.openbmc_project.PSUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
+{"AppendLimit":17280,"Enabled":true,"Id":"psu_temp","Interval":10000,"Name":"report_name","ReadingParameters":[{"collectionDuration":2,"collectionTimeScope":0,"id":"psu_temp","operationType":2,"sensorPath":[{"metadata":"PSU1_Temperature","path":"/xyz/openbmc_project/sensors/temperature/PSU1_Temperature","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Temperature","path":"/xyz/openbmc_project/sensors/temperature/PSU2_Temperature","service":"xyz.openbmc_project.PSUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361611 b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361611
index 1c70b8d0aa..7391e2e75b 100644
--- a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361611
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry/3017361611
@@ -1 +1 @@
-{"AppendLimit":34560,"Enabled":true,"Id":"psu_voltage","Interval":10,"Name":"report_name","ReadingParameters":[{"collectionDuration":4,"collectionTimeScope":0,"id":"psu_voltage","operationType":2,"sensorPath":[{"metadata":"PSU1_Input_Voltage","path":"/xyz/openbmc_project/sensors/voltage/PSU1_Input_Voltage","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Input_Voltage","path":"/xyz/openbmc_project/sensors/voltage/PSU2_Input_Voltage","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU1_Output_Voltage","path":"/xyz/openbmc_project/sensors/voltage/PSU1_Output_Voltage","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Output_Voltage","path":"/xyz/openbmc_project/sensors/voltage/PSU2_Output_Voltage","service":"xyz.openbmc_project.PSUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
+{"AppendLimit":34560,"Enabled":true,"Id":"psu_voltage","Interval":10000,"Name":"report_name","ReadingParameters":[{"collectionDuration":4,"collectionTimeScope":0,"id":"psu_voltage","operationType":2,"sensorPath":[{"metadata":"PSU1_Input_Voltage","path":"/xyz/openbmc_project/sensors/voltage/PSU1_Input_Voltage","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Input_Voltage","path":"/xyz/openbmc_project/sensors/voltage/PSU2_Input_Voltage","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU1_Output_Voltage","path":"/xyz/openbmc_project/sensors/voltage/PSU1_Output_Voltage","service":"xyz.openbmc_project.PSUSensor"},{"metadata":"PSU2_Output_Voltage","path":"/xyz/openbmc_project/sensors/voltage/PSU2_Output_Voltage","service":"xyz.openbmc_project.PSUSensor"}]}],"ReportActions":[1],"ReportUpdates":2,"ReportingType":0,"Version":6}
diff --git a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry_%.bbappend b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry_%.bbappend
index e0169070a1..5d0d48c8b6 100644
--- a/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry_%.bbappend
+++ b/meta-ibs/meta-cp2-5422/recipes-phosphor/telemetry/telemetry_%.bbappend
@@ -40,6 +40,7 @@ SRC_URI += "file://3017361602 \
file://3017361610 \
file://3017361611 \
file://0004-configure-telemetry.patch \
+ file://0005-add-hour-data.patch \
"
do_install:append() {