diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 964e47fe..845b6c52 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -218,6 +218,7 @@ Worker::Worker( const char* addr ) , m_pendingSourceLocation( 0 ) , m_pendingCallstackFrames( 0 ) , m_traceVersion( CurrentVersion ) + , m_loadTime( 0 ) { m_data.sourceLocationExpand.push_back( 0 ); m_data.threadExpand.push_back( 0 ); @@ -238,6 +239,8 @@ Worker::Worker( FileRead& f, EventType::Type eventMask ) , m_stream( nullptr ) , m_buffer( nullptr ) { + auto loadStart = std::chrono::high_resolution_clock::now(); + m_data.threadExpand.push_back( 0 ); m_data.callstackPayload.push_back( nullptr ); @@ -868,6 +871,7 @@ Worker::Worker( FileRead& f, EventType::Type eventMask ) if( fileVer == 0 && f.IsEOF() ) { s_loadProgress.total.store( 0, std::memory_order_relaxed ); + m_loadTime = std::chrono::duration_cast( std::chrono::high_resolution_clock::now() - loadStart ).count(); return; } @@ -1032,6 +1036,7 @@ finishLoading: } s_loadProgress.total.store( 0, std::memory_order_relaxed ); + m_loadTime = std::chrono::duration_cast( std::chrono::high_resolution_clock::now() - loadStart ).count(); } Worker::~Worker() diff --git a/server/TracyWorker.hpp b/server/TracyWorker.hpp index d411dad9..00ac1a8c 100644 --- a/server/TracyWorker.hpp +++ b/server/TracyWorker.hpp @@ -267,6 +267,7 @@ public: uint8_t GetHandshakeStatus() const { return m_handshake.load( std::memory_order_relaxed ); } static const LoadProgress& GetLoadProgress() { return s_loadProgress; } + int64_t GetLoadTime() const { return m_loadTime; } private: void Exec(); @@ -420,6 +421,7 @@ private: std::atomic m_handshake = 0; static LoadProgress s_loadProgress; + int64_t m_loadTime; }; }