From 6b7e619fb30fe8b0d942c1c971b68147b959685d Mon Sep 17 00:00:00 2001 From: Mario Bielert Date: Thu, 26 Oct 2023 17:52:30 +0200 Subject: [PATCH] Adds support for real_time in clock_definition With this change and a decently new Vampir, you can now see date strings as time instead of fractional seconds. We may want to drop the old attribute in favor of only writing the clock_definition accordingly. --- include/lo2s/trace/trace.hpp | 2 ++ lib/otf2xx | 2 +- src/trace/trace.cpp | 7 +++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/include/lo2s/trace/trace.hpp b/include/lo2s/trace/trace.hpp index ea828e28..9e60b7e1 100644 --- a/include/lo2s/trace/trace.hpp +++ b/include/lo2s/trace/trace.hpp @@ -19,6 +19,7 @@ * along with lo2s. If not, see . */ #pragma once +#include #include #include #include @@ -322,6 +323,7 @@ class Trace std::recursive_mutex mutex_; otf2::chrono::time_point starting_time_; + std::chrono::system_clock::time_point starting_system_time_; otf2::chrono::time_point stopping_time_; otf2::definition::interrupt_generator& interrupt_generator_; diff --git a/lib/otf2xx b/lib/otf2xx index b4d1b787..746e082c 160000 --- a/lib/otf2xx +++ b/lib/otf2xx @@ -1 +1 @@ -Subproject commit b4d1b787d19cb0d3f80e2efe45a040c1ce3ab0fa +Subproject commit 746e082cb8a6a640c4b63c7140cd9416c83979c0 diff --git a/src/trace/trace.cpp b/src/trace/trace.cpp index 3c3ec256..1605e2a1 100644 --- a/src/trace/trace.cpp +++ b/src/trace/trace.cpp @@ -19,6 +19,7 @@ * along with lo2s. If not, see . */ +#include "otf2xx/chrono/duration.hpp" #include #include @@ -199,8 +200,9 @@ void Trace::begin_record() { Log::info() << "Initialization done. Start recording..."; starting_time_ = time::now(); + starting_system_time_ = std::chrono::system_clock::now(); - const std::time_t t_c = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now()); + const std::time_t t_c = std::chrono::system_clock::to_time_t(starting_system_time_); add_lo2s_property("STARTING_TIME", fmt::format("{:%c}", fmt::localtime(t_c))); } @@ -257,7 +259,8 @@ Trace::~Trace() stopping_time_ = starting_time_; } - archive_ << otf2::definition::clock_properties(starting_time_, stopping_time_); + archive_ << otf2::definition::clock_properties(starting_time_, stopping_time_, + starting_system_time_); std::filesystem::path symlink_path = nitro::env::get("LO2S_OUTPUT_LINK");