diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index e78097af..c535054b 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -1830,12 +1830,32 @@ Worker::Worker( FileRead& f, EventType::Type eventMask, bool bgTasks ) it->second.push_back_non_empty( SampleDataRange { time, ip } ); } } + + for( uint16_t i=1; idata[0].symAddr; + auto it = m_data.childSamples.find( symAddr ); + if( it == m_data.childSamples.end() ) + { + m_data.childSamples.emplace( symAddr, Vector( time ) ); + } + else + { + it->second.push_back_non_empty( time ); + } + } } } for( auto& v : m_data.symbolSamples ) { pdqsort_branchless( v.second.begin(), v.second.end(), []( const auto& lhs, const auto& rhs ) { return lhs.time.Val() < rhs.time.Val(); } ); } + for( auto& v : m_data.childSamples ) + { + pdqsort_branchless( v.second.begin(), v.second.end(), []( const auto& lhs, const auto& rhs ) { return lhs.Val() < rhs.Val(); } ); + } std::lock_guard lock( m_data.lock ); m_data.symbolSamplesReady = true; } ) );