pw_trace_tokenized: use steady_clock, not system_clock
Updates the pw_trace_tokenized's host_trace_time backend to use
the std::chrono::steady_clock which is monotonic, instead of the
std::chrono::system_clock which may unexpectedly jump backwards
causing odd trace artifacts.
Change-Id: I42749e7a8272650c23f2ff420615a23191df3b1a
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/23222
Reviewed-by: Rob Oliver <rgoliver@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Ewout van Bekkum <ewout@google.com>
diff --git a/pw_trace_tokenized/host_trace_time.cc b/pw_trace_tokenized/host_trace_time.cc
index b9135b4..ed004dc 100644
--- a/pw_trace_tokenized/host_trace_time.cc
+++ b/pw_trace_tokenized/host_trace_time.cc
@@ -22,13 +22,13 @@
namespace {
-auto start = system_clock::now();
+auto start = steady_clock::now();
} // namespace
// Define trace time as a counter for tests.
PW_TRACE_TIME_TYPE pw_trace_GetTraceTime() {
- auto delta = system_clock::now() - start;
+ auto delta = steady_clock::now() - start;
return duration_cast<microseconds>(delta).count();
}