MCPcopy Create free account
hub / github.com/OpenHD/OpenHD / time_readable

Method time_readable

OpenHD/ohd_common/src/openhd_util_time.cpp:58–82  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

56}
57
58std::string openhd::util::time_readable(
59 const std::chrono::steady_clock::duration& dur) {
60 const auto durAbsolute = std::chrono::abs(dur);
61 if (durAbsolute >= std::chrono::seconds(1)) {
62 // More than one second, print as decimal with ms resolution.
63 const auto ms =
64 std::chrono::duration_cast<std::chrono::milliseconds>(dur).count();
65 return std::to_string(static_cast<float>(ms) / 1000.0f) + "s";
66 }
67 if (durAbsolute >= std::chrono::milliseconds(1)) {
68 // More than one millisecond, print as decimal with us resolution
69 const auto us =
70 std::chrono::duration_cast<std::chrono::microseconds>(dur).count();
71 return std::to_string(static_cast<float>(us) / 1000.0f) + "ms";
72 }
73 if (durAbsolute >= std::chrono::microseconds(1)) {
74 // More than one microsecond, print as decimal with ns resolution
75 const auto ns =
76 std::chrono::duration_cast<std::chrono::nanoseconds>(dur).count();
77 return std::to_string(static_cast<float>(ns) / 1000.0f) + "us";
78 }
79 const auto ns =
80 std::chrono::duration_cast<std::chrono::nanoseconds>(dur).count();
81 return std::to_string(ns) + "ns";
82}
83
84std::string openhd::util::time_readable_ns(uint64_t nanoseconds) {
85 return time_readable(std::chrono::nanoseconds(nanoseconds));

Callers

nothing calls this directly

Calls 1

to_stringFunction · 0.85

Tested by

no test coverage detected