Log threadcount together with memory

This commit is contained in:
Siana Gearz
2012-02-29 16:03:11 +01:00
parent baad415f0d
commit a7d70878b7
4 changed files with 9 additions and 3 deletions

View File

@@ -67,6 +67,7 @@ U32 ll_thread_local local_thread_ID = 0;
#endif
U32 LLThread::sIDIter = 0;
LLAtomicS32 LLThread::sCount = 0;
LL_COMMON_API void assert_main_thread()
{
@@ -125,6 +126,8 @@ LLThread::LLThread(std::string const& name) :
mThreadLocalData(NULL)
{
mID = ++sIDIter;
sCount++;
llassert(sCount <= 50);
mRunCondition = new LLCondition;
}
@@ -175,7 +178,7 @@ void LLThread::shutdown()
}
mAPRThreadp = NULL;
}
sCount--;
delete mRunCondition;
mRunCondition = 0;
}

View File

@@ -73,6 +73,7 @@ class LL_COMMON_API LLThread
{
private:
static U32 sIDIter;
static LLAtomicS32 sCount;
public:
typedef enum e_thread_status
@@ -90,6 +91,7 @@ public:
bool isStopped() const { return (STOPPED == mStatus); }
static U32 currentID(); // Return ID of current thread
static S32 getCount() { return sCount; }
static void yield(); // Static because it can be called by the main thread, which doesn't have an LLThread data structure.
public:
@@ -129,7 +131,7 @@ protected:
apr_thread_t *mAPRThreadp;
volatile EThreadStatus mStatus;
U32 mID;
friend void LLThreadLocalData::create(LLThread* threadp);
LLThreadLocalData* mThreadLocalData;

View File

@@ -8156,7 +8156,7 @@
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>600.0</real>
<real>30.0</real>
</map>
<key>MemoryPrivatePoolEnabled</key>
<map>

View File

@@ -228,6 +228,7 @@ void display_stats()
gMemoryAllocated = LLMemory::getCurrentRSS();
U32 memory = (U32)(gMemoryAllocated / (1024*1024));
llinfos << llformat("MEMORY: %d MB", memory) << llendl;
llinfos << "THREADS: "<< LLThread::getCount() << llendl;
LLMemory::logMemoryInfo(TRUE) ;
gRecentMemoryTime.reset();
}