diff --git a/server/TracyEvent.hpp b/server/TracyEvent.hpp index 05a0a573..842a6941 100644 --- a/server/TracyEvent.hpp +++ b/server/TracyEvent.hpp @@ -228,6 +228,7 @@ struct MemData flat_hash_map> active; uint64_t high = std::numeric_limits::min(); uint64_t low = std::numeric_limits::max(); + uint64_t usage = 0; }; struct StringLocation diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index bdc79916..41b1cfaa 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -1646,6 +1646,7 @@ void Worker::ProcessMemAlloc( const QueueMemAlloc& ev ) m_data.memory.low = std::min( m_data.memory.low, mem->ptr ); m_data.memory.high = std::max( m_data.memory.high, mem->ptr + mem->size ); + m_data.memory.usage += mem->size; assert( m_data.memory.active.find( ev.ptr ) == m_data.memory.active.end() ); m_data.memory.active.emplace( ev.ptr, mem ); @@ -1661,6 +1662,7 @@ void Worker::ProcessMemFree( const QueueMemFree& ev ) auto mem = it->second; mem->timeFree = TscTime( ev.time ); mem->threadFree = CompressThread( ev.thread ); + m_data.memory.usage -= mem->size; m_data.memory.active.erase( it ); }