xref: /openbmc/telemetry/src/utils/clock.hpp (revision 8069771c)
1 #pragma once
2 
3 #include "interfaces/clock.hpp"
4 #include "types/duration_type.hpp"
5 
6 #include <chrono>
7 
8 class Clock : public interfaces::Clock
9 {
10   public:
11     time_point now() const noexcept override
12     {
13         return std::chrono::steady_clock::now();
14     }
15 
16     uint64_t timestamp() const noexcept override
17     {
18         return std::chrono::time_point_cast<Milliseconds>(now())
19             .time_since_epoch()
20             .count();
21     }
22 };
23