mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-23 06:44:35 +00:00
Include inline parents when filtering sample statistics.
This commit is contained in:
parent
0f2095f84a
commit
b6ce693ede
@ -11296,7 +11296,22 @@ void View::DrawStatistics()
|
|||||||
for( auto& v : symMap )
|
for( auto& v : symMap )
|
||||||
{
|
{
|
||||||
auto name = m_worker.GetString( v.second.name );
|
auto name = m_worker.GetString( v.second.name );
|
||||||
if( m_statisticsFilter.PassFilter( name ) )
|
bool pass = m_statisticsFilter.PassFilter( name );
|
||||||
|
if( !pass && v.second.size.Val() == 0 )
|
||||||
|
{
|
||||||
|
uint32_t offset;
|
||||||
|
const auto parentAddr = m_worker.GetSymbolForAddress( v.first, offset );
|
||||||
|
if( parentAddr != 0 )
|
||||||
|
{
|
||||||
|
auto pit = symMap.find( parentAddr );
|
||||||
|
if( pit != symMap.end() )
|
||||||
|
{
|
||||||
|
const auto parentName = m_worker.GetString( pit->second.name );
|
||||||
|
pass = m_statisticsFilter.PassFilter( parentName );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if( pass )
|
||||||
{
|
{
|
||||||
auto it = symStat.find( v.first );
|
auto it = symStat.find( v.first );
|
||||||
if( it == symStat.end() )
|
if( it == symStat.end() )
|
||||||
@ -11337,7 +11352,22 @@ void View::DrawStatistics()
|
|||||||
if( sit != symMap.end() )
|
if( sit != symMap.end() )
|
||||||
{
|
{
|
||||||
auto name = m_worker.GetString( sit->second.name );
|
auto name = m_worker.GetString( sit->second.name );
|
||||||
if( m_statisticsFilter.PassFilter( name ) )
|
bool pass = m_statisticsFilter.PassFilter( name );
|
||||||
|
if( !pass && sit->second.size.Val() == 0 )
|
||||||
|
{
|
||||||
|
uint32_t offset;
|
||||||
|
const auto parentAddr = m_worker.GetSymbolForAddress( v.first, offset );
|
||||||
|
if( parentAddr != 0 )
|
||||||
|
{
|
||||||
|
auto pit = symMap.find( parentAddr );
|
||||||
|
if( pit != symMap.end() )
|
||||||
|
{
|
||||||
|
const auto parentName = m_worker.GetString( pit->second.name );
|
||||||
|
pass = m_statisticsFilter.PassFilter( parentName );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if( pass )
|
||||||
{
|
{
|
||||||
data.push_back_no_space_check( SymList { v.first, v.second.incl, v.second.excl } );
|
data.push_back_no_space_check( SymList { v.first, v.second.incl, v.second.excl } );
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user