1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00

Calculate total self time of zones.

This commit is contained in:
Bartosz Taudul
2018-06-06 00:39:22 +02:00
parent 814cd1553d
commit b7930f67da
2 changed files with 16 additions and 2 deletions
+14 -2
View File
@@ -1499,7 +1499,7 @@ void Worker::ProcessZoneEnd( const QueueZoneEnd& ev )
m_data.lastTime = std::max( m_data.lastTime, zone->end );
#ifndef TRACY_NO_STATISTICS
const auto timeSpan = zone->end - zone->start;
auto timeSpan = zone->end - zone->start;
if( timeSpan > 0 )
{
auto it = m_data.sourceLocationZones.find( zone->srcloc );
@@ -1507,6 +1507,12 @@ void Worker::ProcessZoneEnd( const QueueZoneEnd& ev )
it->second.min = std::min( it->second.min, timeSpan );
it->second.max = std::max( it->second.max, timeSpan );
it->second.total += timeSpan;
for( auto& v : zone->child )
{
const auto childSpan = std::max( 0ll, v->end - v->start );
timeSpan -= childSpan;
}
it->second.selfTotal += timeSpan;
}
#endif
}
@@ -2089,12 +2095,18 @@ void Worker::ReadTimeline( FileRead& f, Vector<ZoneEvent*>& vec, uint16_t thread
if( zone->end >= 0 )
{
const auto timeSpan = zone->end - zone->start;
auto timeSpan = zone->end - zone->start;
if( timeSpan > 0 )
{
it->second.min = std::min( it->second.min, timeSpan );
it->second.max = std::max( it->second.max, timeSpan );
it->second.total += timeSpan;
for( auto& v : zone->child )
{
const auto childSpan = std::max( 0ll, v->end - v->start );
timeSpan -= childSpan;
}
it->second.selfTotal += timeSpan;
}
}
#endif