From be5793987ef43b71b5309317634f925f93a95d8d Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Thu, 27 Feb 2020 12:49:48 +0100 Subject: [PATCH] Don't send symbol name. --- client/TracyProfiler.cpp | 7 +++---- common/TracyQueue.hpp | 10 +++++++++- server/TracyWorker.cpp | 9 +++------ server/TracyWorker.hpp | 2 +- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/client/TracyProfiler.cpp b/client/TracyProfiler.cpp index 6782dbe4..f2205b0c 100644 --- a/client/TracyProfiler.cpp +++ b/client/TracyProfiler.cpp @@ -2690,10 +2690,9 @@ void Profiler::HandleSymbolQuery( uint64_t symbol ) QueueItem item; MemWrite( &item.hdr.type, QueueType::SymbolInformation ); - MemWrite( &item.callstackFrame.file, uint64_t( sym.file ) ); - MemWrite( &item.callstackFrame.name, uint64_t( sym.name ) ); - MemWrite( &item.callstackFrame.line, sym.line ); - MemWrite( &item.callstackFrame.symAddr, symbol ); + MemWrite( &item.symbolInformation.file, uint64_t( sym.file ) ); + MemWrite( &item.symbolInformation.line, sym.line ); + MemWrite( &item.symbolInformation.symAddr, symbol ); AppendData( &item, QueueDataSize[(int)QueueType::SymbolInformation] ); diff --git a/common/TracyQueue.hpp b/common/TracyQueue.hpp index 963acb26..abdac5e9 100644 --- a/common/TracyQueue.hpp +++ b/common/TracyQueue.hpp @@ -314,6 +314,13 @@ struct QueueCallstackFrame uint64_t symAddr; }; +struct QueueSymbolInformation +{ + uint64_t file; + uint32_t line; + uint64_t symAddr; +}; + struct QueueCrashReport { int64_t time; @@ -420,6 +427,7 @@ struct QueueItem QueueCallstackSample callstackSample; QueueCallstackFrameSize callstackFrameSize; QueueCallstackFrame callstackFrame; + QueueSymbolInformation symbolInformation; QueueCrashReport crashReport; QueueSysTime sysTime; QueueContextSwitch contextSwitch; @@ -449,7 +457,7 @@ static constexpr size_t QueueDataSize[] = { sizeof( QueueHeader ) + sizeof( QueueCallstack ), sizeof( QueueHeader ) + sizeof( QueueCallstackAlloc ), sizeof( QueueHeader ) + sizeof( QueueCallstackSample ), - sizeof( QueueHeader ) + sizeof( QueueCallstackFrame ), // symbol information + sizeof( QueueHeader ) + sizeof( QueueSymbolInformation ), sizeof( QueueHeader ) + sizeof( QueueFrameImage ), sizeof( QueueHeader ) + sizeof( QueueZoneBegin ), sizeof( QueueHeader ) + sizeof( QueueZoneBegin ), // callstack diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 0f8ac9b6..5cd927dd 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -3559,7 +3559,7 @@ bool Worker::Process( const QueueItem& ev ) ProcessCallstackFrame( ev.callstackFrame ); break; case QueueType::SymbolInformation: - ProcessSymbolInformation( ev.callstackFrame ); + ProcessSymbolInformation( ev.symbolInformation ); break; case QueueType::Terminate: m_terminate = true; @@ -4846,13 +4846,11 @@ void Worker::ProcessCallstackFrame( const QueueCallstackFrame& ev ) m_pendingCustomStrings.erase( m_pendingCustomStrings.find( ev.file ) ); } -void Worker::ProcessSymbolInformation( const QueueCallstackFrame& ev ) +void Worker::ProcessSymbolInformation( const QueueSymbolInformation& ev ) { auto it = m_pendingSymbols.find( ev.symAddr ); assert( it != m_pendingSymbols.end() ); - auto nit = m_pendingCustomStrings.find( ev.name ); - assert( nit != m_pendingCustomStrings.end() ); auto fit = m_pendingCustomStrings.find( ev.file ); assert( fit != m_pendingCustomStrings.end() ); @@ -4864,8 +4862,7 @@ void Worker::ProcessSymbolInformation( const QueueCallstackFrame& ev ) m_data.symbolMap.emplace( ev.symAddr, std::move( sd ) ); m_pendingSymbols.erase( it ); - m_pendingCustomStrings.erase( nit ); - m_pendingCustomStrings.erase( m_pendingCustomStrings.find( ev.file ) ); + m_pendingCustomStrings.erase( fit ); } void Worker::ProcessCrashReport( const QueueCrashReport& ev ) diff --git a/server/TracyWorker.hpp b/server/TracyWorker.hpp index a3be43a9..1688ae9b 100644 --- a/server/TracyWorker.hpp +++ b/server/TracyWorker.hpp @@ -533,7 +533,7 @@ private: tracy_force_inline void ProcessCallstackSample( const QueueCallstackSample& ev ); tracy_force_inline void ProcessCallstackFrameSize( const QueueCallstackFrameSize& ev ); tracy_force_inline void ProcessCallstackFrame( const QueueCallstackFrame& ev ); - tracy_force_inline void ProcessSymbolInformation( const QueueCallstackFrame& ev ); + tracy_force_inline void ProcessSymbolInformation( const QueueSymbolInformation& ev ); tracy_force_inline void ProcessCrashReport( const QueueCrashReport& ev ); tracy_force_inline void ProcessSysTime( const QueueSysTime& ev ); tracy_force_inline void ProcessContextSwitch( const QueueContextSwitch& ev );