From 1a81b204847dc8bd97472bfee02481c9ae64b4ac Mon Sep 17 00:00:00 2001 From: Jason Wang Date: Wed, 10 Feb 2021 15:12:04 -0500 Subject: [PATCH] added total average latency into dataman monitor --- source/adios2/engine/dataman/DataManMonitor.cpp | 12 +++++++++--- source/adios2/engine/dataman/DataManMonitor.h | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/source/adios2/engine/dataman/DataManMonitor.cpp b/source/adios2/engine/dataman/DataManMonitor.cpp index b6ee705139..d5c8b940c4 100644 --- a/source/adios2/engine/dataman/DataManMonitor.cpp +++ b/source/adios2/engine/dataman/DataManMonitor.cpp @@ -65,7 +65,9 @@ void DataManMonitor::AddLatencyMilliseconds(const uint64_t remoteStamp) std::chrono::duration_cast( std::chrono::system_clock::now().time_since_epoch()) .count(); - m_LatencyMilliseconds.push_back(localStamp - remoteStamp - m_ClockError); + uint64_t latency = localStamp - remoteStamp - m_ClockError; + m_LatencyMilliseconds.push_back(latency); + m_AccumulatedLatency += latency; } void DataManMonitor::EndStep(const size_t step) @@ -126,8 +128,12 @@ void DataManMonitor::EndStep(const size_t step) << ", Total MB/s " << m_TotalRate << ", " << m_StepTimers.size() << " step average MB/s " << m_AverageRate << ", Drop rate " << m_DropRate * 100 << "%" - << ", Steps per second " << m_StepsPerSecond - << ", Average latency milliseconds " << averageLatency + << ", Steps per second " << m_StepsPerSecond << ", " + << m_StepTimers.size() + << " step average latency milliseconds " << averageLatency + << ", Average latency milliseconds " + << m_AccumulatedLatency / + static_cast(m_CurrentStep + 1) << std::endl; } } diff --git a/source/adios2/engine/dataman/DataManMonitor.h b/source/adios2/engine/dataman/DataManMonitor.h index 0df767620c..7d91cefdf0 100644 --- a/source/adios2/engine/dataman/DataManMonitor.h +++ b/source/adios2/engine/dataman/DataManMonitor.h @@ -53,6 +53,7 @@ class DataManMonitor double m_AverageRate = 0; double m_DropRate = 0; double m_StepsPerSecond = 0; + double m_AccumulatedLatency = 0; bool m_Verbose = true; };