From 4dc6222ba191f84cdd73d09fd8c5b2190ef7810f Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Fri, 9 Apr 2021 20:26:21 +0200 Subject: [PATCH] Add child samples data structure. --- server/TracyWorker.cpp | 8 ++++++++ server/TracyWorker.hpp | 2 ++ 2 files changed, 10 insertions(+) diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 1cf9e59d..e78097af 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -2196,6 +2196,14 @@ const Vector* Worker::GetSamplesForSymbol( uint64_t symAddr ) c if( it == m_data.symbolSamples.end() ) return nullptr; return &it->second; } + +const Vector* Worker::GetChildSamples( uint64_t addr ) const +{ + assert( m_data.symbolSamplesReady ); + auto it = m_data.childSamples.find( addr ); + if( it == m_data.childSamples.end() ) return nullptr; + return &it->second; +} #endif const SymbolData* Worker::GetSymbolData( uint64_t sym ) const diff --git a/server/TracyWorker.hpp b/server/TracyWorker.hpp index 35af22ff..cadbe209 100644 --- a/server/TracyWorker.hpp +++ b/server/TracyWorker.hpp @@ -294,6 +294,7 @@ private: unordered_flat_map> instructionPointersMap; unordered_flat_map> symbolSamples; unordered_flat_map, CallstackFrameIdHash, CallstackFrameIdCompare> pendingSymbolSamples; + unordered_flat_map> childSamples; bool newFramesWereReceived = false; bool callstackSamplesReady = false; bool ghostZonesReady = false; @@ -497,6 +498,7 @@ public: const VarArray& GetParentCallstack( uint32_t idx ) const { return *m_data.parentCallstackPayload[idx]; } const CallstackFrameData* GetParentCallstackFrame( const CallstackFrameId& ptr ) const; const Vector* GetSamplesForSymbol( uint64_t symAddr ) const; + const Vector* GetChildSamples( uint64_t addr ) const; #endif const CrashEvent& GetCrashEvent() const { return m_data.crashEvent; }