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

Process CPU usage reports.

This commit is contained in:
Bartosz Taudul
2019-02-21 22:45:39 +01:00
parent 9f4f5bcb63
commit e9baa80bf3
4 changed files with 38 additions and 1 deletions
+27
View File
@@ -2277,6 +2277,9 @@ bool Worker::Process( const QueueItem& ev )
case QueueType::CrashReport:
ProcessCrashReport( ev.crashReport );
break;
case QueueType::SysTimeReport:
ProcessSysTime( ev.sysTime );
break;
default:
assert( false );
break;
@@ -3096,6 +3099,30 @@ void Worker::ProcessCrashReport( const QueueCrashReport& ev )
m_data.m_crashEvent.callstack = 0;
}
void Worker::ProcessSysTime( const QueueSysTime& ev )
{
const auto time = TscTime( ev.time );
const auto val = ev.sysTime;
if( !m_sysTimePlot )
{
m_sysTimePlot = m_slab.AllocInit<PlotData>();
m_sysTimePlot->name = 0;
m_sysTimePlot->type = PlotType::SysTime;
m_sysTimePlot->min = val;
m_sysTimePlot->max = val;
m_sysTimePlot->data.push_back( { time, val } );
m_data.plots.Data().push_back( m_sysTimePlot );
}
else
{
assert( !m_sysTimePlot->data.empty() );
assert( m_sysTimePlot->data.back().time <= time );
if( m_sysTimePlot->min > val ) m_sysTimePlot->min = val;
else if( m_sysTimePlot->max < val ) m_sysTimePlot->max = val;
m_sysTimePlot->data.push_back_non_empty( { time, val } );
}
}
void Worker::MemAllocChanged( int64_t time )
{
const auto val = (double)m_data.memory.usage;