diff --git a/indra/llfilesystem/lldiskcache.cpp b/indra/llfilesystem/lldiskcache.cpp index 725f04b1f2..2f96c1ded4 100644 --- a/indra/llfilesystem/lldiskcache.cpp +++ b/indra/llfilesystem/lldiskcache.cpp @@ -333,11 +333,21 @@ const std::string LLDiskCache::metaDataToFilepath(const LLUUID& id, LLAssetType: const std::string LLDiskCache::getCacheInfo() { + LL_PROFILE_ZONE_SCOPED; // add some instrumentation std::ostringstream cache_info; F32 max_in_mb = (F32)mMaxSizeBytes / (1024.0f * 1024.0f); - F32 percent_used = ((F32)dirFileSize(sCacheDir) / (F32)mMaxSizeBytes) * 100.0f; - + // stall prevention. We still need to make sure this initialised when called at startup. + F32 percent_used; + if (mStoredCacheSize > 0) + { + percent_used = ((F32)mStoredCacheSize / (F32)mMaxSizeBytes) * 100.0f; + } + else + { + percent_used = ((F32)dirFileSize(sCacheDir) / (F32)mMaxSizeBytes) * 100.0f; + } + // cache_info << std::fixed; cache_info << std::setprecision(1); cache_info << "Max size " << max_in_mb << " MB "; diff --git a/indra/llmessage/message.cpp b/indra/llmessage/message.cpp index 5c37fee62c..4843ed83f1 100644 --- a/indra/llmessage/message.cpp +++ b/indra/llmessage/message.cpp @@ -113,10 +113,11 @@ class LLMessageHandlerBridge : public LLHTTPNode void LLMessageHandlerBridge::post(LLHTTPNode::ResponsePtr response, const LLSD& context, const LLSD& input) const { + LL_PROFILE_ZONE_SCOPED_CATEGORY_NETWORK; std::string name = context[CONTEXT_REQUEST][CONTEXT_WILDCARD]["message-name"]; char* namePtr = LLMessageStringTable::getInstance()->getString(name.c_str()); - LL_DEBUGS() << "Setting mLastSender " << input["sender"].asString() << LL_ENDL; + LL_DEBUGS("Messaging") << "Setting mLastSender " << input["sender"].asString() << LL_ENDL; gMessageSystem->mLastSender = LLHost(input["sender"].asString()); gMessageSystem->mPacketsIn += 1; gMessageSystem->mLLSDMessageReader->setMessage(namePtr, input["body"]); @@ -2050,6 +2051,7 @@ void LLMessageSystem::dispatch( const std::string& msg_name, const LLSD& message) { + LL_PROFILE_ZONE_SCOPED_CATEGORY_NETWORK; LLPointer responsep = LLSimpleResponse::create(); dispatch(msg_name, message, responsep); } @@ -2060,6 +2062,7 @@ void LLMessageSystem::dispatch( const LLSD& message, LLHTTPNode::ResponsePtr responsep) { + LL_PROFILE_ZONE_SCOPED_CATEGORY_NETWORK; if ((gMessageSystem->mMessageTemplates.find (LLMessageStringTable::getInstance()->getString(msg_name.c_str())) == gMessageSystem->mMessageTemplates.end()) && diff --git a/indra/newview/bugsplatattributes.cpp b/indra/newview/bugsplatattributes.cpp index fdc8871a26..d0a8b32701 100644 --- a/indra/newview/bugsplatattributes.cpp +++ b/indra/newview/bugsplatattributes.cpp @@ -64,6 +64,7 @@ std::string BugSplatAttributes::to_xml_token(const std::string& input) bool BugSplatAttributes::writeToFile(const std::string& file_path) { + LL_PROFILE_ZONE_SCOPED_CATEGORY_LOGGING; std::lock_guard lock(mMutex); // Write to a temporary file first diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 2727797286..190e02b769 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -3795,6 +3795,7 @@ bool LLAppViewer::waitForUpdater() void LLAppViewer::writeDebugInfo(bool isStatic) { + LL_PROFILE_ZONE_SCOPED_CATEGORY_LOGGING; // improve instrumentation #if LL_WINDOWS && LL_BUGSPLAT // Improve Bugsplat tracking by using attributes for certain static data items. const LLSD& info = getViewerInfo(); @@ -3823,6 +3824,7 @@ void LLAppViewer::writeDebugInfo(bool isStatic) LLSD LLAppViewer::getViewerInfo() const { + LL_PROFILE_ZONE_SCOPED_CATEGORY_LOGGING; // improve instrumentation // The point of having one method build an LLSD info block and the other // construct the user-visible About string is to ensure that the same info // is available to a getInfo() caller as to the user opening @@ -4135,6 +4137,7 @@ LLSD LLAppViewer::getViewerInfo() const // info["DISK_CACHE_INFO"] = LLDiskCache::getInstance()->getCacheInfo(); if (auto cache = LLDiskCache::getInstance(); cache) { + LL_PROFILE_ZONE_NAMED("gvi-getCacheInfo"); // improve instrumentation info["DISK_CACHE_INFO"] = cache->getCacheInfo(); } // diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp index fb20d6c7c0..d219cebf0e 100644 --- a/indra/newview/llappviewerwin32.cpp +++ b/indra/newview/llappviewerwin32.cpp @@ -644,11 +644,13 @@ int APIENTRY wWinMain(HINSTANCE hInstance, // Use the Attributes API on Windows to enhance crash metadata void LLAppViewerWin32::bugsplatAddStaticAttributes(const LLSD& info) { + LL_PROFILE_ZONE_SCOPED_CATEGORY_LOGGING; #ifdef LL_BUGSPLAT auto& bugSplatMap = BugSplatAttributes::instance(); static bool write_once_after_startup = false; if (!write_once_after_startup ) { + LL_PROFILE_ZONE_NAMED("bs-st-att-once") // Only write the attributes that are fixed once after we've started. // note we might update them more than once and some/many may be empty during startup as we want to catch early crashes // once we're started we can assume they don't change for this run.