BUG-2707 hunt for infos call crashing Kat
parent
da6a4ac62e
commit
d21fc254a7
|
|
@ -89,7 +89,8 @@ BOOL LLSkinJoint::setupSkinJoint( LLAvatarJoint *joint)
|
|||
mJoint = joint;
|
||||
if ( !mJoint )
|
||||
{
|
||||
llinfos << "Can't find joint" << llendl;
|
||||
//llinfos << "Can't find joint" << llendl;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// compute the inverse root skin matrix
|
||||
|
|
|
|||
|
|
@ -889,10 +889,10 @@ void LLPolyMesh::dumpDiagInfo()
|
|||
|
||||
std::string buf;
|
||||
|
||||
llinfos << "-----------------------------------------------------" << llendl;
|
||||
llinfos << " Global PolyMesh Table (DEBUG only)" << llendl;
|
||||
llinfos << " Verts Faces Mem(KB) Name" << llendl;
|
||||
llinfos << "-----------------------------------------------------" << llendl;
|
||||
LL_DEBUGS("LLPolyMesh") << "-----------------------------------------------------" << llendl;
|
||||
LL_DEBUGS("LLPolyMesh") << " Global PolyMesh Table (DEBUG only)" << llendl;
|
||||
LL_DEBUGS("LLPolyMesh") << " Verts Faces Mem(KB) Name" << llendl;
|
||||
LL_DEBUGS("LLPolyMesh") << "-----------------------------------------------------" << llendl;
|
||||
|
||||
// print each loaded mesh, and it's memory usage
|
||||
for(LLPolyMeshSharedDataTable::iterator iter = sGlobalSharedMeshList.begin();
|
||||
|
|
@ -906,17 +906,17 @@ void LLPolyMesh::dumpDiagInfo()
|
|||
U32 num_kb = mesh->getNumKB();
|
||||
|
||||
buf = llformat("%8d %8d %8d %s", num_verts, num_faces, num_kb, mesh_name.c_str());
|
||||
llinfos << buf << llendl;
|
||||
LL_DEBUGS("LLPolyMesh") << buf << llendl;
|
||||
|
||||
total_verts += num_verts;
|
||||
total_faces += num_faces;
|
||||
total_kb += num_kb;
|
||||
}
|
||||
|
||||
llinfos << "-----------------------------------------------------" << llendl;
|
||||
LL_DEBUGS("LLPolyMesh") << "-----------------------------------------------------" << llendl;
|
||||
buf = llformat("%8d %8d %8d TOTAL", total_verts, total_faces, total_kb );
|
||||
llinfos << buf << llendl;
|
||||
llinfos << "-----------------------------------------------------" << llendl;
|
||||
LL_DEBUGS("LLPolyMesh") << buf << llendl;
|
||||
LL_DEBUGS("LLPolyMesh") << "-----------------------------------------------------" << llendl;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -1203,7 +1203,7 @@ BOOL LLTexLayer::render(S32 x, S32 y, S32 width, S32 height)
|
|||
}
|
||||
else
|
||||
{
|
||||
llinfos << "lto not defined or image not defined: " << getInfo()->getLocalTexture() << " lto: " << mLocalTextureObject << llendl;
|
||||
LL_DEBUGS("LLTexLayer") << "lto not defined or image not defined: " << getInfo()->getLocalTexture() << " lto: " << mLocalTextureObject << llendl;
|
||||
}
|
||||
// if( mTexLayerSet->getAvatarAppearance()->getLocalTextureGL((ETextureIndex)getInfo()->mLocalTexture, &image_gl ) )
|
||||
{
|
||||
|
|
@ -1291,7 +1291,7 @@ BOOL LLTexLayer::render(S32 x, S32 y, S32 width, S32 height)
|
|||
|
||||
if( !success )
|
||||
{
|
||||
llinfos << "LLTexLayer::render() partial: " << getInfo()->mName << llendl;
|
||||
LL_DEBUGS("LLTexLayer") << "LLTexLayer::render() partial: " << getInfo()->mName << llendl;
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
|
@ -1891,7 +1891,7 @@ LLTexLayerStaticImageList::~LLTexLayerStaticImageList()
|
|||
|
||||
void LLTexLayerStaticImageList::dumpByteCount() const
|
||||
{
|
||||
llinfos << "Avatar Static Textures " <<
|
||||
LL_DEBUGS("LLTexLayerStaticImageList") << "Avatar Static Textures " <<
|
||||
"KB GL:" << (mGLBytes / 1024) <<
|
||||
"KB TGA:" << (mTGABytes / 1024) << "KB" << llendl;
|
||||
}
|
||||
|
|
@ -1900,7 +1900,7 @@ void LLTexLayerStaticImageList::deleteCachedImages()
|
|||
{
|
||||
if( mGLBytes || mTGABytes )
|
||||
{
|
||||
llinfos << "Clearing Static Textures " <<
|
||||
LL_DEBUGS("LLTexLayerStaticImageList") << "Clearing Static Textures " <<
|
||||
"KB GL:" << (mGLBytes / 1024) <<
|
||||
"KB TGA:" << (mTGABytes / 1024) << "KB" << llendl;
|
||||
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ void LLTexLayerParamAlpha::dumpCacheByteCount()
|
|||
{
|
||||
S32 gl_bytes = 0;
|
||||
getCacheByteCount( &gl_bytes);
|
||||
llinfos << "Processed Alpha Texture Cache GL:" << (gl_bytes/1024) << "KB" << llendl;
|
||||
LL_DEBUGS("LLTexLayerParamAlpha") << "Processed Alpha Texture Cache GL:" << (gl_bytes/1024) << "KB" << llendl;
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
@ -481,7 +481,7 @@ void LLTexLayerParamColor::setWeight(F32 weight, BOOL upload_bake)
|
|||
}
|
||||
}
|
||||
|
||||
// llinfos << "param " << mName << " = " << new_weight << llendl;
|
||||
// LL_DEBUGS(LLTexLayerParamAlpha) << "param " << mName << " = " << new_weight << llendl;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -75,11 +75,11 @@ void* F_STDCALL decode_alloc(unsigned int size, FMOD_MEMORY_TYPE type, const cha
|
|||
{
|
||||
if(type & FMOD_MEMORY_STREAM_DECODE)
|
||||
{
|
||||
llinfos << "Decode buffer size: " << size << llendl;
|
||||
LL_DEBUGS("FMODEX") << "Decode buffer size: " << size << llendl;
|
||||
}
|
||||
else if(type & FMOD_MEMORY_STREAM_FILE)
|
||||
{
|
||||
llinfos << "Strean buffer size: " << size << llendl;
|
||||
LL_DEBUGS("FMODEX") << "Strean buffer size: " << size << llendl;
|
||||
}
|
||||
return new char[size];
|
||||
}
|
||||
|
|
@ -304,16 +304,16 @@ void LLAudioEngine_FMODEX::shutdown()
|
|||
{
|
||||
stopInternetStream();
|
||||
|
||||
llinfos << "About to LLAudioEngine::shutdown()" << llendl;
|
||||
LL_DEBUGS("FMODEX") << "About to LLAudioEngine::shutdown()" << llendl;
|
||||
LLAudioEngine::shutdown();
|
||||
|
||||
llinfos << "LLAudioEngine_FMODEX::shutdown() closing FMOD Ex" << llendl;
|
||||
LL_DEBUGS("FMODEX") << "LLAudioEngine_FMODEX::shutdown() closing FMOD Ex" << llendl;
|
||||
if ( mSystem ) // speculative fix for MAINT-2657
|
||||
{
|
||||
mSystem->close();
|
||||
mSystem->release();
|
||||
}
|
||||
llinfos << "LLAudioEngine_FMODEX::shutdown() done closing FMOD Ex" << llendl;
|
||||
LL_DEBUGS("FMODEX") << "LLAudioEngine_FMODEX::shutdown() done closing FMOD Ex" << llendl;
|
||||
|
||||
delete mListenerp;
|
||||
mListenerp = NULL;
|
||||
|
|
@ -475,7 +475,7 @@ bool LLAudioChannelFMODEX::updateBuffer()
|
|||
Check_FMOD_Error(result, "FMOD::System::playSound");
|
||||
}
|
||||
|
||||
//llinfos << "Setting up channel " << std::hex << mChannelID << std::dec << llendl;
|
||||
//LL_DEBUGS("FMODEX") << "Setting up channel " << std::hex << mChannelID << std::dec << llendl;
|
||||
}
|
||||
|
||||
// If we have a source for the channel, we need to update its gain.
|
||||
|
|
@ -563,11 +563,11 @@ void LLAudioChannelFMODEX::cleanup()
|
|||
{
|
||||
if (!mChannelp)
|
||||
{
|
||||
//llinfos << "Aborting cleanup with no channel handle." << llendl;
|
||||
//LL_DEBUGS("FMODEX") << "Aborting cleanup with no channel handle." << llendl;
|
||||
return;
|
||||
}
|
||||
|
||||
//llinfos << "Cleaning up channel: " << mChannelID << llendl;
|
||||
//LL_DEBUGS("FMODEX") << "Cleaning up channel: " << mChannelID << llendl;
|
||||
Check_FMOD_Error(mChannelp->stop(),"FMOD::Channel::stop");
|
||||
|
||||
mCurrentBufferp = NULL;
|
||||
|
|
|
|||
|
|
@ -100,13 +100,13 @@ void LLStreamingAudio_FMODEX::start(const std::string& url)
|
|||
|
||||
if (!url.empty())
|
||||
{
|
||||
llinfos << "Starting internet stream: " << url << llendl;
|
||||
LL_DEBUGS("FMODEX") << "Starting internet stream: " << url << llendl;
|
||||
mCurrentInternetStreamp = new LLAudioStreamManagerFMODEX(mSystem,url);
|
||||
mURL = url;
|
||||
}
|
||||
else
|
||||
{
|
||||
llinfos << "Set internet stream to null" << llendl;
|
||||
LL_DEBUGS("FMODEX") << "Set internet stream to null" << llendl;
|
||||
mURL.clear();
|
||||
}
|
||||
}
|
||||
|
|
@ -121,7 +121,7 @@ void LLStreamingAudio_FMODEX::update()
|
|||
LLAudioStreamManagerFMODEX *streamp = *iter;
|
||||
if (streamp->stopStream())
|
||||
{
|
||||
llinfos << "Closed dead stream" << llendl;
|
||||
LL_DEBUGS("FMODEX") << "Closed dead stream" << llendl;
|
||||
delete streamp;
|
||||
mDeadStreams.erase(iter++);
|
||||
}
|
||||
|
|
@ -181,7 +181,7 @@ void LLStreamingAudio_FMODEX::update()
|
|||
{
|
||||
if (!strcmp(tag.name, "Sample Rate Change"))
|
||||
{
|
||||
llinfos << "Stream forced changing sample rate to " << *((float *)tag.data) << llendl;
|
||||
LL_DEBUGS("FMODEX") << "Stream forced changing sample rate to " << *((float *)tag.data) << llendl;
|
||||
mFMODInternetStreamChannelp->setFrequency(*((float *)tag.data));
|
||||
}
|
||||
continue;
|
||||
|
|
@ -195,9 +195,9 @@ void LLStreamingAudio_FMODEX::update()
|
|||
mFMODInternetStreamChannelp->getPaused(&paused);
|
||||
if(!paused)
|
||||
{
|
||||
llinfos << "Stream starvation detected! Pausing stream until buffer nearly full." << llendl;
|
||||
llinfos << " (diskbusy="<<diskbusy<<")" << llendl;
|
||||
llinfos << " (progress="<<progress<<")" << llendl;
|
||||
LL_DEBUGS("FMODEX") << "Stream starvation detected! Pausing stream until buffer nearly full." << llendl;
|
||||
LL_DEBUGS("FMODEX") << " (diskbusy="<<diskbusy<<")" << llendl;
|
||||
LL_DEBUGS("FMODEX") << " (progress="<<progress<<")" << llendl;
|
||||
mFMODInternetStreamChannelp->setPaused(true);
|
||||
}
|
||||
}
|
||||
|
|
@ -220,14 +220,14 @@ void LLStreamingAudio_FMODEX::stop()
|
|||
|
||||
if (mCurrentInternetStreamp)
|
||||
{
|
||||
llinfos << "Stopping internet stream: " << mCurrentInternetStreamp->getURL() << llendl;
|
||||
LL_DEBUGS("FMODEX") << "Stopping internet stream: " << mCurrentInternetStreamp->getURL() << llendl;
|
||||
if (mCurrentInternetStreamp->stopStream())
|
||||
{
|
||||
delete mCurrentInternetStreamp;
|
||||
}
|
||||
else
|
||||
{
|
||||
llwarns << "Pushing stream to dead list: " << mCurrentInternetStreamp->getURL() << llendl;
|
||||
LL_DEBUGS("FMODEX") << "Pushing stream to dead list: " << mCurrentInternetStreamp->getURL() << llendl;
|
||||
mDeadStreams.push_back(mCurrentInternetStreamp);
|
||||
}
|
||||
mCurrentInternetStreamp = NULL;
|
||||
|
|
|
|||
|
|
@ -218,8 +218,7 @@ bool LLApp::parseCommandOptions(int argc, char** argv)
|
|||
{
|
||||
if(argv[ii][0] != '-')
|
||||
{
|
||||
llinfos << "Did not find option identifier while parsing token: "
|
||||
<< argv[ii] << llendl;
|
||||
lldebugs << "Did not find option identifier while parsing token: "<< argv[ii] << llendl;
|
||||
return false;
|
||||
}
|
||||
int offset = 1;
|
||||
|
|
@ -896,7 +895,7 @@ bool unix_minidump_callback(const google_breakpad::MinidumpDescriptor& minidump_
|
|||
--remaining;
|
||||
}
|
||||
|
||||
llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl;
|
||||
//llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl;
|
||||
LLApp::runErrorHandler();
|
||||
|
||||
#ifndef LL_RELEASE_FOR_DOWNLOAD
|
||||
|
|
@ -942,7 +941,7 @@ bool unix_post_minidump_callback(const char *dump_dir,
|
|||
strncpy(path, ".dmp", remaining);
|
||||
}
|
||||
|
||||
llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl;
|
||||
//llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl;
|
||||
LLApp::runErrorHandler();
|
||||
|
||||
#ifndef LL_RELEASE_FOR_DOWNLOAD
|
||||
|
|
@ -985,12 +984,12 @@ bool windows_post_minidump_callback(const wchar_t* dump_path,
|
|||
strncpy(path, ".dmp", remaining);
|
||||
}
|
||||
|
||||
llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl;
|
||||
// *NOTE:Mani - this code is stolen from LLApp, where its never actually used.
|
||||
//llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl;
|
||||
// *NOTE:Mani - this code is stolen from LLApp, where its never actually used.
|
||||
//OSMessageBox("Attach Debugger Now", "Error", OSMB_OK);
|
||||
// *TODO: Translate the signals/exceptions into cross-platform stuff
|
||||
// *TODO: Translate the signals/exceptions into cross-platform stuff
|
||||
// Windows implementation
|
||||
llinfos << "Entering Windows Exception Handler..." << llendl;
|
||||
//llinfos << "Entering Windows Exception Handler..." << llendl;
|
||||
|
||||
if (LLApp::isError())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -60,7 +60,9 @@ bool LLCoros::cleanup(const LLSD&)
|
|||
// since last tick?
|
||||
if (mi->second->exited())
|
||||
{
|
||||
LL_INFOS("LLCoros") << "LLCoros: cleaning up coroutine " << mi->first << LL_ENDL;
|
||||
// BUG-2707?
|
||||
//LL_INFOS("LLCoros") << "LLCoros: cleaning up coroutine " << mi->first << LL_ENDL;
|
||||
|
||||
// The erase() call will invalidate its passed iterator value --
|
||||
// so increment mi FIRST -- but pass its original value to
|
||||
// erase(). This is what postincrement is all about.
|
||||
|
|
@ -94,7 +96,8 @@ std::string LLCoros::generateDistinctName(const std::string& prefix) const
|
|||
{
|
||||
if (mCoros.find(name) == mCoros.end())
|
||||
{
|
||||
LL_INFOS("LLCoros") << "LLCoros: launching coroutine " << name << LL_ENDL;
|
||||
//BUG-2707?
|
||||
//LL_INFOS("LLCoros") << "LLCoros: launching coroutine " << name << LL_ENDL;
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -570,20 +570,20 @@ void LLReqID::stamp(LLSD& response) const
|
|||
{
|
||||
if (! (response.isUndefined() || response.isMap()))
|
||||
{
|
||||
// BUG-2707?
|
||||
// If 'response' was previously completely empty, it's okay to
|
||||
// turn it into a map. If it was already a map, then it should be
|
||||
// okay to add a key. But if it was anything else (e.g. a scalar),
|
||||
// assigning a ["reqid"] key will DISCARD the previous value,
|
||||
// replacing it with a map. That would be Bad.
|
||||
LL_INFOS("LLReqID") << "stamp(" << mReqid << ") leaving non-map response unmodified: "
|
||||
<< response << LL_ENDL;
|
||||
//LL_INFOS("LLReqID") << "stamp(" << mReqid << ") leaving non-map response unmodified: " << response << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
LLSD oldReqid(response["reqid"]);
|
||||
if (! (oldReqid.isUndefined() || llsd_equals(oldReqid, mReqid)))
|
||||
{
|
||||
LL_INFOS("LLReqID") << "stamp(" << mReqid << ") preserving existing [\"reqid\"] value "
|
||||
<< oldReqid << " in response: " << response << LL_ENDL;
|
||||
// BUG-2707?
|
||||
//LL_INFOS("LLReqID") << "stamp(" << mReqid << ") preserving existing [\"reqid\"] value "<< oldReqid << " in response: " << response << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
response["reqid"] = mReqid;
|
||||
|
|
|
|||
|
|
@ -987,27 +987,27 @@ void LLPrivateMemoryPool::LLMemoryChunk::dump()
|
|||
}
|
||||
#endif
|
||||
#if 0
|
||||
llinfos << "---------------------------" << llendl ;
|
||||
llinfos << "Chunk buffer: " << (U32)getBuffer() << " size: " << getBufferSize() << llendl ;
|
||||
LL_DEBUGS(LLMemory) << "---------------------------" << llendl ;
|
||||
LL_DEBUGS(LLMemory) << "Chunk buffer: " << (U32)getBuffer() << " size: " << getBufferSize() << llendl ;
|
||||
|
||||
llinfos << "available blocks ... " << llendl ;
|
||||
LL_DEBUGS(LLMemory) << "available blocks ... " << llendl ;
|
||||
for(S32 i = 0 ; i < mBlockLevels ; i++)
|
||||
{
|
||||
LLMemoryBlock* blk = mAvailBlockList[i] ;
|
||||
while(blk)
|
||||
{
|
||||
llinfos << "blk buffer " << (U32)blk->getBuffer() << " size: " << blk->getBufferSize() << llendl ;
|
||||
LL_DEBUGS(LLMemory) << "blk buffer " << (U32)blk->getBuffer() << " size: " << blk->getBufferSize() << llendl ;
|
||||
blk = blk->mNext ;
|
||||
}
|
||||
}
|
||||
|
||||
llinfos << "free blocks ... " << llendl ;
|
||||
LL_DEBUGS(LLMemory) << "free blocks ... " << llendl ;
|
||||
for(S32 i = 0 ; i < mPartitionLevels ; i++)
|
||||
{
|
||||
LLMemoryBlock* blk = mFreeSpaceList[i] ;
|
||||
while(blk)
|
||||
{
|
||||
llinfos << "blk buffer " << (U32)blk->getBuffer() << " size: " << blk->getBufferSize() << llendl ;
|
||||
LL_DEBUGS(LLMemory) << "blk buffer " << (U32)blk->getBuffer() << " size: " << blk->getBufferSize() << llendl ;
|
||||
blk = blk->mNext ;
|
||||
}
|
||||
}
|
||||
|
|
@ -1731,7 +1731,8 @@ void LLPrivateMemoryPool::removeFromHashTable(LLMemoryChunk* chunk)
|
|||
|
||||
void LLPrivateMemoryPool::rehash()
|
||||
{
|
||||
llinfos << "new hash factor: " << mHashFactor << llendl ;
|
||||
//BUG-2707?
|
||||
//LL_DEBUGS(LLMemory) << "new hash factor: " << mHashFactor << llendl ;
|
||||
|
||||
mChunkHashList.clear() ;
|
||||
mChunkHashList.resize(mHashFactor) ;
|
||||
|
|
@ -1848,7 +1849,7 @@ LLPrivateMemoryPoolManager::~LLPrivateMemoryPoolManager()
|
|||
S32 k = 0 ;
|
||||
for(mem_allocation_info_t::iterator iter = sMemAllocationTracker.begin() ; iter != sMemAllocationTracker.end() ; ++iter)
|
||||
{
|
||||
llinfos << k++ << ", " << (U32)iter->first << " : " << iter->second << llendl ;
|
||||
LL_DEBUGS(LLMemory) << k++ << ", " << (U32)iter->first << " : " << iter->second << llendl ;
|
||||
}
|
||||
sMemAllocationTracker.clear() ;
|
||||
}
|
||||
|
|
@ -2190,8 +2191,8 @@ void LLPrivateMemoryPoolTester::testAndTime(U32 size, U32 times)
|
|||
{
|
||||
LLTimer timer ;
|
||||
|
||||
llinfos << " -**********************- " << llendl ;
|
||||
llinfos << "test size: " << size << " test times: " << times << llendl ;
|
||||
LL_DEBUGS(LLMemory) << " -**********************- " << llendl ;
|
||||
LL_DEBUGS(LLMemory) << "test size: " << size << " test times: " << times << llendl ;
|
||||
|
||||
timer.reset() ;
|
||||
char** p = new char*[times] ;
|
||||
|
|
@ -2212,7 +2213,7 @@ void LLPrivateMemoryPoolTester::testAndTime(U32 size, U32 times)
|
|||
FREE_MEM(sPool, p[i]) ;
|
||||
p[i] = NULL ;
|
||||
}
|
||||
llinfos << "time spent using customized memory pool: " << timer.getElapsedTimeF32() << llendl ;
|
||||
LL_DEBUGS(LLMemory) << "time spent using customized memory pool: " << timer.getElapsedTimeF32() << llendl ;
|
||||
|
||||
timer.reset() ;
|
||||
|
||||
|
|
@ -2232,7 +2233,7 @@ void LLPrivateMemoryPoolTester::testAndTime(U32 size, U32 times)
|
|||
::delete[] p[i] ;
|
||||
p[i] = NULL ;
|
||||
}
|
||||
llinfos << "time spent using standard allocator/de-allocator: " << timer.getElapsedTimeF32() << llendl ;
|
||||
LL_DEBUGS(LLMemory) << "time spent using standard allocator/de-allocator: " << timer.getElapsedTimeF32() << llendl ;
|
||||
|
||||
delete[] p;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,7 +65,8 @@ void LLMetricsImpl::recordEventDetails(const std::string& location,
|
|||
metrics["location"] = location;
|
||||
metrics["stats"] = stats;
|
||||
|
||||
llinfos << "LLMETRICS: " << (LLSDNotationStreamer(metrics)) << llendl;
|
||||
// BUG-2707?
|
||||
//llinfos << "LLMETRICS: " << (LLSDNotationStreamer(metrics)) << llendl;
|
||||
}
|
||||
|
||||
// Store this:
|
||||
|
|
@ -128,7 +129,8 @@ void LLMetricsImpl::printTotals(LLSD metadata)
|
|||
|
||||
out_sd["stats"] = stats;
|
||||
|
||||
llinfos << "LLMETRICS: AGGREGATE: " << LLSDOStreamer<LLSDNotationFormatter>(out_sd) << llendl;
|
||||
// BUG-2707?
|
||||
//llinfos << "LLMETRICS: AGGREGATE: " << LLSDOStreamer<LLSDNotationFormatter>(out_sd) << llendl;
|
||||
}
|
||||
|
||||
LLMetrics::LLMetrics()
|
||||
|
|
|
|||
Loading…
Reference in New Issue