Fixed issue with wrong timestamp
Telemetry service used steady_clock for generating timestamps, but it
produced incorrect time. This change makes telemetry service use
steady_clock for intervals and system_clock for timestamps.
Changed readings timestamp to display current timestamp instead of a
time when reading was received.
Tested:
- correct timestamp is visible on dbus
- other telemetry service features are still working
Change-Id: Ic49f45640532cfffaeff5e0bd5591e6d99e5def5
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
diff --git a/src/sensor.hpp b/src/sensor.hpp
index 3c9c746..d2c3ec2 100644
--- a/src/sensor.hpp
+++ b/src/sensor.hpp
@@ -2,7 +2,7 @@
#include "interfaces/sensor.hpp"
#include "interfaces/sensor_listener.hpp"
-#include "types/milliseconds.hpp"
+#include "types/duration_types.hpp"
#include "utils/unique_call.hpp"
#include <boost/asio/high_resolution_timer.hpp>
@@ -53,7 +53,7 @@
utils::UniqueCall uniqueCall;
std::vector<std::weak_ptr<interfaces::SensorListener>> listeners;
- uint64_t timestamp = 0;
+ Milliseconds timestamp = Milliseconds{0u};
std::optional<double> value;
std::unique_ptr<sdbusplus::bus::match_t> signalMonitor;
};