diff --git a/libs/prof/include/psemek/prof/profiler.hpp b/libs/prof/include/psemek/prof/profiler.hpp index 25f61f05..0d5293e2 100644 --- a/libs/prof/include/psemek/prof/profiler.hpp +++ b/libs/prof/include/psemek/prof/profiler.hpp @@ -17,13 +17,13 @@ namespace psemek::prof ~ profiler(); static void start_frame(std::string const & name); - static void push(std::string const & name, std::chrono::duration duration); + static void push(std::string const & name, std::chrono::duration duration, std::size_t count = 1); static void end_frame(std::chrono::duration duration); template - static void push(std::string const & name, Duration duration) + static void push(std::string const & name, Duration duration, std::size_t count = 1) { - push(name, std::chrono::duration_cast>(duration)); + push(name, std::chrono::duration_cast>(duration), count); } double duration() const diff --git a/libs/prof/source/profiler.cpp b/libs/prof/source/profiler.cpp index 297647c1..e99a6e65 100644 --- a/libs/prof/source/profiler.cpp +++ b/libs/prof/source/profiler.cpp @@ -199,12 +199,12 @@ namespace psemek::prof current = current->child(name); } - void profiler::push(std::string const & name, std::chrono::duration duration) + void profiler::push(std::string const & name, std::chrono::duration duration, std::size_t count) { get_current(); std::lock_guard lock{*(current->mutex)}; - current->child(name)->execution_time.push(duration.count()); + current->child(name)->execution_time.push(duration.count(), count); } void profiler::end_frame(std::chrono::duration duration)