mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-22 14:44:34 +00:00
Add display of per-line sample time as a program run time percentage.
This commit is contained in:
parent
adbee2f820
commit
ef9f2d247d
@ -3257,7 +3257,17 @@ void SourceView::RenderLine( const Tokenizer::Line& line, int lineNum, const Add
|
|||||||
{
|
{
|
||||||
if( m_cost == CostType::SampleCount )
|
if( m_cost == CostType::SampleCount )
|
||||||
{
|
{
|
||||||
if( worker ) TextFocused( "Local time:", TimeToString( ipcnt.local * worker->GetSamplingPeriod() ) );
|
if( worker )
|
||||||
|
{
|
||||||
|
const auto time = ipcnt.local * worker->GetSamplingPeriod();
|
||||||
|
TextFocused( "Local time:", TimeToString( time ) );
|
||||||
|
const auto timePct = 100.f * time / worker->GetLastTime();
|
||||||
|
if( timePct >= 0.01f )
|
||||||
|
{
|
||||||
|
ImGui::SameLine();
|
||||||
|
ImGui::TextDisabled( "(%.2f%% run time)", timePct );
|
||||||
|
}
|
||||||
|
}
|
||||||
TextFocused( "Local samples:", RealToString( ipcnt.local ) );
|
TextFocused( "Local samples:", RealToString( ipcnt.local ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -3267,7 +3277,17 @@ void SourceView::RenderLine( const Tokenizer::Line& line, int lineNum, const Add
|
|||||||
}
|
}
|
||||||
if( ipcnt.ext )
|
if( ipcnt.ext )
|
||||||
{
|
{
|
||||||
if( worker ) TextFocused( "Child time:", TimeToString( ipcnt.ext * worker->GetSamplingPeriod() ) );
|
if( worker )
|
||||||
|
{
|
||||||
|
const auto time = ipcnt.ext * worker->GetSamplingPeriod();
|
||||||
|
TextFocused( "Child time:", TimeToString( time ) );
|
||||||
|
const auto timePct = 100.f * time / worker->GetLastTime();
|
||||||
|
if( timePct >= 0.01f )
|
||||||
|
{
|
||||||
|
ImGui::SameLine();
|
||||||
|
ImGui::TextDisabled( "(%.2f%% run time)", timePct );
|
||||||
|
}
|
||||||
|
}
|
||||||
TextFocused( "Child samples:", RealToString( ipcnt.ext ) );
|
TextFocused( "Child samples:", RealToString( ipcnt.ext ) );
|
||||||
}
|
}
|
||||||
if( hasHwData ) PrintHwSampleTooltip( cycles, retired, cacheRef, cacheMiss, branchRetired, branchMiss, false );
|
if( hasHwData ) PrintHwSampleTooltip( cycles, retired, cacheRef, cacheMiss, branchRetired, branchMiss, false );
|
||||||
@ -3584,7 +3604,14 @@ void SourceView::RenderAsmLine( AsmLine& line, const AddrStat& ipcnt, const Addr
|
|||||||
{
|
{
|
||||||
if( m_cost == CostType::SampleCount )
|
if( m_cost == CostType::SampleCount )
|
||||||
{
|
{
|
||||||
TextFocused( "Local time:", TimeToString( ipcnt.local * worker.GetSamplingPeriod() ) );
|
const auto time = ipcnt.local * worker.GetSamplingPeriod();
|
||||||
|
TextFocused( "Local time:", TimeToString( time ) );
|
||||||
|
const auto timePct = 100.f * time / worker.GetLastTime();
|
||||||
|
if( timePct >= 0.01f )
|
||||||
|
{
|
||||||
|
ImGui::SameLine();
|
||||||
|
ImGui::TextDisabled( "(%.2f%% run time)", timePct );
|
||||||
|
}
|
||||||
TextFocused( "Local samples:", RealToString( ipcnt.local ) );
|
TextFocused( "Local samples:", RealToString( ipcnt.local ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -3594,7 +3621,14 @@ void SourceView::RenderAsmLine( AsmLine& line, const AddrStat& ipcnt, const Addr
|
|||||||
}
|
}
|
||||||
if( ipcnt.ext )
|
if( ipcnt.ext )
|
||||||
{
|
{
|
||||||
TextFocused( "Child time:", TimeToString( ipcnt.ext * worker.GetSamplingPeriod() ) );
|
const auto time = ipcnt.ext * worker.GetSamplingPeriod();
|
||||||
|
TextFocused( "Child time:", TimeToString( time ) );
|
||||||
|
const auto timePct = 100.f * time / worker.GetLastTime();
|
||||||
|
if( timePct >= 0.01f )
|
||||||
|
{
|
||||||
|
ImGui::SameLine();
|
||||||
|
ImGui::TextDisabled( "(%.2f%% run time)", timePct );
|
||||||
|
}
|
||||||
TextFocused( "Child samples:", RealToString( ipcnt.ext ) );
|
TextFocused( "Child samples:", RealToString( ipcnt.ext ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user