diff --git a/profiler/src/profiler/TracyLlmTools.cpp b/profiler/src/profiler/TracyLlmTools.cpp index ca1e2010..548dc812 100644 --- a/profiler/src/profiler/TracyLlmTools.cpp +++ b/profiler/src/profiler/TracyLlmTools.cpp @@ -1097,7 +1097,7 @@ std::string TracyLlmTools::SymbolParents( const std::string& address, uint32_t l for( auto& entry : sorted ) { - auto& cs = m_worker.GetParentCallstack( entry->first ); + auto& cs = m_worker.GetSyntheticCallstack( entry->first ); auto frames = m_view.GetCallstackJson( cs.data(), cs.size() )["frames"]; char buf[32]; diff --git a/profiler/src/profiler/TracyView_FrameTree.cpp b/profiler/src/profiler/TracyView_FrameTree.cpp index a382449e..8ab142bb 100644 --- a/profiler/src/profiler/TracyView_FrameTree.cpp +++ b/profiler/src/profiler/TracyView_FrameTree.cpp @@ -39,7 +39,7 @@ static tracy_force_inline T* GetFrameTreeItemGroup( unordered_flat_map static tracy_force_inline T* GetParentFrameTreeItemGroup( unordered_flat_map& tree, CallstackFrameId idx, const Worker& worker ) { - auto frameDataPtr = idx.custom ? worker.GetParentCallstackFrame( idx ) : worker.GetCallstackFrame( idx ); + auto frameDataPtr = idx.custom ? worker.GetSyntheticCallstackFrame( idx ) : worker.GetCallstackFrame( idx ); if( !frameDataPtr ) return nullptr; auto& frameData = *frameDataPtr; @@ -247,7 +247,7 @@ unordered_flat_map View::GetParentsCallstackFrameT { for( auto& path : stacks ) { - auto& cs = m_worker.GetParentCallstack( path.first ); + auto& cs = m_worker.GetSyntheticCallstack( path.first ); auto base = cs.back(); auto treePtr = GetParentFrameTreeItemGroup( root, base, m_worker ); if( treePtr ) @@ -266,7 +266,7 @@ unordered_flat_map View::GetParentsCallstackFrameT { for( auto& path : stacks ) { - auto& cs = m_worker.GetParentCallstack( path.first ); + auto& cs = m_worker.GetSyntheticCallstack( path.first ); auto base = cs.back(); auto treePtr = GetFrameTreeItemNoGroup( root, base ); treePtr->count += path.second; @@ -377,7 +377,7 @@ unordered_flat_map View::GetParentsCallstackFrameT { for( auto& path : stacks ) { - auto& cs = m_worker.GetParentCallstack( path.first ); + auto& cs = m_worker.GetSyntheticCallstack( path.first ); auto base = cs.front(); auto treePtr = GetParentFrameTreeItemGroup( root, base, m_worker ); if( treePtr ) @@ -396,7 +396,7 @@ unordered_flat_map View::GetParentsCallstackFrameT { for( auto& path : stacks ) { - auto& cs = m_worker.GetParentCallstack( path.first ); + auto& cs = m_worker.GetSyntheticCallstack( path.first ); auto base = cs.front(); auto treePtr = GetFrameTreeItemNoGroup( root, base ); treePtr->count += path.second; @@ -758,7 +758,7 @@ void View::DrawParentsFrameTreeLevel( const unordered_flat_mapsecond; const auto isKernel = ( m_worker.GetCanonicalPointer( v.frame ) >> 63 ) != 0; idx++; - auto frameDataPtr = v.frame.custom ? m_worker.GetParentCallstackFrame( v.frame ) : m_worker.GetCallstackFrame( v.frame ); + auto frameDataPtr = v.frame.custom ? m_worker.GetSyntheticCallstackFrame( v.frame ) : m_worker.GetCallstackFrame( v.frame ); if( frameDataPtr ) { auto& frameData = *frameDataPtr; diff --git a/profiler/src/profiler/TracyView_Samples.cpp b/profiler/src/profiler/TracyView_Samples.cpp index 6bdce158..63409443 100644 --- a/profiler/src/profiler/TracyView_Samples.cpp +++ b/profiler/src/profiler/TracyView_Samples.cpp @@ -993,7 +993,7 @@ void View::DrawSampleParents() char buf[64]; PrintStringPercent( buf, 100. * data[m_sampleParents.sel]->second / excl ); TextDisabledUnformatted( buf ); - auto& cs = m_worker.GetParentCallstack( data[m_sampleParents.sel]->first ); + auto& cs = m_worker.GetSyntheticCallstack( data[m_sampleParents.sel]->first ); if( s_config.llm ) { ImGui::SameLine(); @@ -1038,7 +1038,7 @@ void View::DrawSampleParents() int bidx = 0; for( auto& entry : cs ) { - auto frameData = entry.custom ? m_worker.GetParentCallstackFrame( entry ) : m_worker.GetCallstackFrame( entry ); + auto frameData = entry.custom ? m_worker.GetSyntheticCallstackFrame( entry ) : m_worker.GetCallstackFrame( entry ); assert( frameData ); const auto fsz = frameData->size; for( uint8_t f=0; fimageName }; for( int i=0; idata[i+1]; - parentFrameId = InternParentFrame( cfd ); + parentFrameId = InternSyntheticFrame( cfd ); } uint32_t parentIdx; @@ -7823,12 +7823,12 @@ void Worker::UpdateSampleStatisticsImpl( const CallstackFrameData** frames, uint auto arr = (VarArray*)( mem + sz * sizeof( CallstackFrameId ) ); new(arr) VarArray( sz, data ); - auto it = m_data.parentCallstackMap.find( arr ); - if( it == m_data.parentCallstackMap.end() ) + auto it = m_data.syntheticCallstackMap.find( arr ); + if( it == m_data.syntheticCallstackMap.end() ) { - parentIdx = m_data.parentCallstackPayload.size(); - m_data.parentCallstackMap.emplace( arr, parentIdx ); - m_data.parentCallstackPayload.push_back( arr ); + parentIdx = m_data.syntheticCallstackPayload.size(); + m_data.syntheticCallstackMap.emplace( arr, parentIdx ); + m_data.syntheticCallstackPayload.push_back( arr ); } else { @@ -7864,12 +7864,12 @@ void Worker::UpdateSampleStatisticsImpl( const CallstackFrameData** frames, uint auto arr = (VarArray*)( mem + sz * sizeof( CallstackFrameId ) ); new(arr) VarArray( sz, data ); - auto it = m_data.parentCallstackMap.find( arr ); - if( it == m_data.parentCallstackMap.end() ) + auto it = m_data.syntheticCallstackMap.find( arr ); + if( it == m_data.syntheticCallstackMap.end() ) { - baseParentIdx = m_data.parentCallstackPayload.size(); - m_data.parentCallstackMap.emplace( arr, baseParentIdx ); - m_data.parentCallstackPayload.push_back( arr ); + baseParentIdx = m_data.syntheticCallstackPayload.size(); + m_data.syntheticCallstackMap.emplace( arr, baseParentIdx ); + m_data.syntheticCallstackPayload.push_back( arr ); } else { @@ -7889,10 +7889,10 @@ void Worker::UpdateSampleStatisticsImpl( const CallstackFrameData** frames, uint } } -CallstackFrameId Worker::InternParentFrame( const CallstackFrameData& cfd ) +CallstackFrameId Worker::InternSyntheticFrame( const CallstackFrameData& cfd ) { - auto it = m_data.revParentFrameMap.find( &cfd ); - if( it != m_data.revParentFrameMap.end() ) return it->second; + auto it = m_data.revSyntheticFrameMap.find( &cfd ); + if( it != m_data.revSyntheticFrameMap.end() ) return it->second; auto frame = m_slab.Alloc( cfd.size ); memcpy( frame, cfd.data, sizeof( CallstackFrame ) * cfd.size ); @@ -7902,16 +7902,16 @@ CallstackFrameId Worker::InternParentFrame( const CallstackFrameData& cfd ) frameData->size = cfd.size; frameData->imageName = cfd.imageName; - CallstackFrameId parentFrameId = { - .idx = m_callstackParentNextIdx++, + CallstackFrameId syntheticFrameId = { + .idx = m_callstackSyntheticNextIdx++, .sel = 0, .custom = 1 }; - m_data.parentCallstackFrameMap.emplace( parentFrameId, frameData ); - m_data.revParentFrameMap.emplace( frameData, parentFrameId ); + m_data.syntheticCallstackFrameMap.emplace( syntheticFrameId, frameData ); + m_data.revSyntheticFrameMap.emplace( frameData, syntheticFrameId ); - return parentFrameId; + return syntheticFrameId; } #endif diff --git a/server/TracyWorker.hpp b/server/TracyWorker.hpp index f6b64b03..d807bc2d 100644 --- a/server/TracyWorker.hpp +++ b/server/TracyWorker.hpp @@ -333,10 +333,10 @@ private: unordered_flat_map codeSymbolMap; #ifndef TRACY_NO_STATISTICS - unordered_flat_map*, uint32_t, VarArrayHasher, VarArrayComparator> parentCallstackMap; - Vector>> parentCallstackPayload; - unordered_flat_map parentCallstackFrameMap; - unordered_flat_map revParentFrameMap; + unordered_flat_map*, uint32_t, VarArrayHasher, VarArrayComparator> syntheticCallstackMap; + Vector>> syntheticCallstackPayload; + unordered_flat_map syntheticCallstackFrameMap; + unordered_flat_map revSyntheticFrameMap; unordered_flat_map postponedSamples; unordered_flat_map pendingInstructionPointers; unordered_flat_map> instructionPointersMap; @@ -520,8 +520,8 @@ public: uint64_t GetSrcLocCount() const { return m_data.sourceLocationPayload.size() + m_data.sourceLocation.size(); } uint64_t GetCallstackPayloadCount() const { return m_data.callstackPayload.size() - 1; } #ifndef TRACY_NO_STATISTICS - uint64_t GetCallstackParentPayloadCount() const { return m_data.parentCallstackPayload.size(); } - uint64_t GetCallstackParentFrameCount() const { return m_callstackParentNextIdx; } + uint64_t GetCallstackSyntheticPayloadCount() const { return m_data.syntheticCallstackPayload.size(); } + uint64_t GetCallstackSyntheticFrameCount() const { return m_callstackSyntheticNextIdx; } #endif uint64_t GetCallstackFrameCount() const { return m_data.callstackFrameMap.size() - m_pendingCallstackFrames; } uint64_t GetCallstackSampleCount() const { return m_data.samplesCnt; } @@ -592,8 +592,8 @@ public: unordered_flat_map& GetCallstackFrameMap() { return m_data.callstackFrameMap; } #ifndef TRACY_NO_STATISTICS - const VarArray& GetParentCallstack( uint32_t idx ) const { return *m_data.parentCallstackPayload[idx]; } - const CallstackFrameData* GetParentCallstackFrame( const CallstackFrameId& ptr ) const; + const VarArray& GetSyntheticCallstack( uint32_t idx ) const { return *m_data.syntheticCallstackPayload[idx]; } + const CallstackFrameData* GetSyntheticCallstackFrame( const CallstackFrameId& ptr ) const; const Vector* GetSamplesForSymbol( uint64_t symAddr ) const; const Vector* GetChildSamples( uint64_t addr ) const; #endif @@ -1005,7 +1005,7 @@ private: bool UpdateSampleStatistics( uint32_t callstack, uint32_t count, bool canPostpone ); void UpdateSampleStatisticsPostponed( decltype(Worker::DataBlock::postponedSamples.begin())& it ); void UpdateSampleStatisticsImpl( const CallstackFrameData** frames, uint16_t framesCount, uint32_t count, const VarArray& cs ); - CallstackFrameId InternParentFrame( const CallstackFrameData& cfd ); + CallstackFrameId InternSyntheticFrame( const CallstackFrameData& cfd ); tracy_force_inline void GetStackWithInlines( Vector& ret, const VarArray& cs ); tracy_force_inline int AddGhostZone( const VarArray& cs, Vector* vec, uint64_t t ); #endif @@ -1113,7 +1113,7 @@ private: CallstackFrameData* m_callstackFrameStaging; uint64_t m_callstackFrameStagingPtr; uint64_t m_callstackAllocNextIdx = 0; - uint64_t m_callstackParentNextIdx = 0; + uint64_t m_callstackSyntheticNextIdx = 0; uint32_t m_serialNextCallstack = 0; uint64_t m_memNamePayload = 0;