mirror of
https://github.com/wolfpld/tracy.git
synced 2025-03-20 07:40:02 +08:00
Process memory events with callstack.
This commit is contained in:
@@ -1447,6 +1447,15 @@ void Worker::Process( const QueueItem& ev )
|
||||
case QueueType::MemFree:
|
||||
ProcessMemFree( ev.memFree );
|
||||
break;
|
||||
case QueueType::MemAllocCallstack:
|
||||
ProcessMemAllocCallstack( ev.memAlloc );
|
||||
break;
|
||||
case QueueType::MemFreeCallstack:
|
||||
ProcessMemFreeCallstack( ev.memFree );
|
||||
break;
|
||||
case QueueType::CallstackMemory:
|
||||
ProcessCallstackMemory( ev.callstackMemory );
|
||||
break;
|
||||
case QueueType::Terminate:
|
||||
m_terminate = true;
|
||||
break;
|
||||
@@ -1966,6 +1975,24 @@ void Worker::ProcessMemFree( const QueueMemFree& ev )
|
||||
MemAllocChanged( time );
|
||||
}
|
||||
|
||||
void Worker::ProcessMemAllocCallstack( const QueueMemAlloc& ev )
|
||||
{
|
||||
m_lastMemActionCallstack = m_data.memory.data.size();
|
||||
ProcessMemAlloc( ev );
|
||||
}
|
||||
|
||||
void Worker::ProcessMemFreeCallstack( const QueueMemFree& ev )
|
||||
{
|
||||
ProcessMemFree( ev );
|
||||
m_lastMemActionCallstack = m_data.memory.frees.back();
|
||||
}
|
||||
|
||||
void Worker::ProcessCallstackMemory( const QueueCallstackMemory& ev )
|
||||
{
|
||||
auto& mem = m_data.memory.data[m_lastMemActionCallstack];
|
||||
mem.callstack = ev.ptr;
|
||||
}
|
||||
|
||||
void Worker::MemAllocChanged( int64_t time )
|
||||
{
|
||||
const auto val = (double)m_data.memory.usage;
|
||||
|
||||
Reference in New Issue
Block a user