* Compute the summed up wait counts and times for WaitObjectGroups.
* Delete the wait object array in the WaitObjectGroup destructor. It was leaked before. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30449 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
e9b47e4853
commit
4ab2927d42
|
@ -15,13 +15,20 @@ ThreadModel::WaitObjectGroup::WaitObjectGroup(
|
||||||
Model::ThreadWaitObject** waitObjects, int32 count)
|
Model::ThreadWaitObject** waitObjects, int32 count)
|
||||||
:
|
:
|
||||||
fWaitObjects(waitObjects),
|
fWaitObjects(waitObjects),
|
||||||
fCount(count)
|
fCount(count),
|
||||||
|
fWaits(0),
|
||||||
|
fTotalWaitTime(0)
|
||||||
{
|
{
|
||||||
|
for (int32 i = 0; i < fCount; i++) {
|
||||||
|
fWaits += fWaitObjects[i]->Waits();
|
||||||
|
fTotalWaitTime += fWaitObjects[i]->TotalWaitTime();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ThreadModel::WaitObjectGroup::~WaitObjectGroup()
|
ThreadModel::WaitObjectGroup::~WaitObjectGroup()
|
||||||
{
|
{
|
||||||
|
delete[] fWaitObjects;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,9 @@ public:
|
||||||
inline uint32 Type() const;
|
inline uint32 Type() const;
|
||||||
inline const char* Name() const;
|
inline const char* Name() const;
|
||||||
|
|
||||||
|
inline int64 Waits() const;
|
||||||
|
inline bigtime_t TotalWaitTime() const;
|
||||||
|
|
||||||
inline int32 CountWaitObjects() const;
|
inline int32 CountWaitObjects() const;
|
||||||
inline Model::ThreadWaitObject* WaitObjectAt(int32 index) const;
|
inline Model::ThreadWaitObject* WaitObjectAt(int32 index) const;
|
||||||
|
|
||||||
|
@ -68,6 +71,8 @@ public:
|
||||||
private:
|
private:
|
||||||
Model::ThreadWaitObject** fWaitObjects;
|
Model::ThreadWaitObject** fWaitObjects;
|
||||||
int32 fCount;
|
int32 fCount;
|
||||||
|
int64 fWaits;
|
||||||
|
bigtime_t fTotalWaitTime;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -105,6 +110,20 @@ ThreadModel::WaitObjectGroup::Name() const
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int64
|
||||||
|
ThreadModel::WaitObjectGroup::Waits() const
|
||||||
|
{
|
||||||
|
return fWaits;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bigtime_t
|
||||||
|
ThreadModel::WaitObjectGroup::TotalWaitTime() const
|
||||||
|
{
|
||||||
|
return fTotalWaitTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int32
|
int32
|
||||||
ThreadModel::WaitObjectGroup::CountWaitObjects() const
|
ThreadModel::WaitObjectGroup::CountWaitObjects() const
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue