mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-10 10:41:50 +00:00
Display maximum number of waiting threads for a lock.
This commit is contained in:
parent
0f2b61cf24
commit
407fb61a30
@ -7149,6 +7149,7 @@ void View::DrawLockInfoWindow()
|
|||||||
int64_t holdStartTime = 0;
|
int64_t holdStartTime = 0;
|
||||||
int64_t waitTotalTime = 0;
|
int64_t waitTotalTime = 0;
|
||||||
int64_t holdTotalTime = 0;
|
int64_t holdTotalTime = 0;
|
||||||
|
uint32_t maxWaitingThreads = 0;
|
||||||
for( auto& v : lock.timeline )
|
for( auto& v : lock.timeline )
|
||||||
{
|
{
|
||||||
if( holdState )
|
if( holdState )
|
||||||
@ -7174,6 +7175,10 @@ void View::DrawLockInfoWindow()
|
|||||||
waitTotalTime += v->time - waitStartTime;
|
waitTotalTime += v->time - waitStartTime;
|
||||||
waitState = false;
|
waitState = false;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
maxWaitingThreads = std::max<uint32_t>( maxWaitingThreads, TracyCountBits( v->waitList ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -7181,6 +7186,7 @@ void View::DrawLockInfoWindow()
|
|||||||
{
|
{
|
||||||
waitStartTime = v->time;
|
waitStartTime = v->time;
|
||||||
waitState = true;
|
waitState = true;
|
||||||
|
maxWaitingThreads = std::max<uint32_t>( maxWaitingThreads, TracyCountBits( v->waitList ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -7242,6 +7248,7 @@ void View::DrawLockInfoWindow()
|
|||||||
TextFocused( "Lock wait time:", TimeToString( waitTotalTime ) );
|
TextFocused( "Lock wait time:", TimeToString( waitTotalTime ) );
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::TextDisabled( "(%.2f%%)", waitTotalTime / float( lifetime ) * 100.f );
|
ImGui::TextDisabled( "(%.2f%%)", waitTotalTime / float( lifetime ) * 100.f );
|
||||||
|
TextFocused( "Max waiting threads:", RealToString( maxWaitingThreads, true ) );
|
||||||
ImGui::Separator();
|
ImGui::Separator();
|
||||||
|
|
||||||
const auto threadList = ImGui::TreeNode( "Thread list" );
|
const auto threadList = ImGui::TreeNode( "Thread list" );
|
||||||
|
Loading…
Reference in New Issue
Block a user