summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/lltexturefetch.cpp2
-rw-r--r--indra/newview/lltextureinfo.cpp143
-rw-r--r--indra/newview/lltextureinfo.h7
3 files changed, 77 insertions, 75 deletions
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index b78d0b51d5..84a2f1b597 100644
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -2559,7 +2559,7 @@ LLTextureFetch::LLTextureFetch(LLTextureCache* cache, LLImageDecodeThread* image
mTextureInfoMainThread(false)
{
mMaxBandwidth = gSavedSettings.getF32("ThrottleBandwidthKBPS");
- mTextureInfo.setUpLogging(gSavedSettings.getBOOL("LogTextureDownloadsToViewerLog"), gSavedSettings.getBOOL("LogTextureDownloadsToSimulator"), U32Bytes(gSavedSettings.getU32("TextureLoggingThreshold")));
+ mTextureInfo.setLogging(true);
LLAppCoreHttp & app_core_http(LLAppViewer::instance()->getAppCoreHttp());
mHttpRequest = new LLCore::HttpRequest;
diff --git a/indra/newview/lltextureinfo.cpp b/indra/newview/lltextureinfo.cpp
index 5f1e14e406..e79bb62a52 100644
--- a/indra/newview/lltextureinfo.cpp
+++ b/indra/newview/lltextureinfo.cpp
@@ -46,10 +46,8 @@ static LLTrace::CountStatHandle<S32Bytes > sTextureDataDownloaded("texture_data_
static LLTrace::CountStatHandle<U32Milliseconds > sTexureDownloadTime("texture_download_time", "amount of time spent fetching textures");
LLTextureInfo::LLTextureInfo(bool postponeStartRecoreder) :
- mLogTextureDownloadsToViewerLog(false),
- mLogTextureDownloadsToSimulator(false),
- mTextureDownloadProtocol("NONE"),
- mTextureLogThreshold(LLUnits::Kilobytes::fromValue(100))
+ mLoggingEnabled(false),
+ mTextureDownloadProtocol("NONE")
{
if (!postponeStartRecoreder)
{
@@ -57,11 +55,9 @@ LLTextureInfo::LLTextureInfo(bool postponeStartRecoreder) :
}
}
-void LLTextureInfo::setUpLogging(bool writeToViewerLog, bool sendToSim, U32Bytes textureLogThreshold)
+void LLTextureInfo::setLogging(bool log_info)
{
- mLogTextureDownloadsToViewerLog = writeToViewerLog;
- mLogTextureDownloadsToSimulator = sendToSim;
- mTextureLogThreshold = U32Bytes(textureLogThreshold);
+ mLoggingEnabled = log_info;
}
LLTextureInfo::~LLTextureInfo()
@@ -156,73 +152,80 @@ void LLTextureInfo::setRequestCompleteTimeAndLog(const LLUUID& id, U64Microsecon
break;
}
- if (mLogTextureDownloadsToViewerLog)
+ if (mLoggingEnabled)
{
- LL_INFOS() << "texture=" << id
- << " start=" << details.mStartTime
- << " end=" << details.mCompleteTime
- << " size=" << details.mSize
- << " offset=" << details.mOffset
- << " length=" << U32Milliseconds(details.mCompleteTime - details.mStartTime)
- << " protocol=" << protocol
- << LL_ENDL;
- }
+ static LLCachedControl<bool> log_to_viewer_log(gSavedSettings, "LogTextureDownloadsToViewerLog", false);
+ static LLCachedControl<bool> log_to_simulator(gSavedSettings, "LogTextureDownloadsToSimulator", false);
+ static LLCachedControl<U32> texture_log_threshold(gSavedSettings, "TextureLoggingThreshold", 1);
- if(mLogTextureDownloadsToSimulator)
- {
- add(sTextureDataDownloaded, details.mSize);
- add(sTexureDownloadTime, details.mCompleteTime - details.mStartTime);
- add(sTextureDownloadsCompleted, 1);
- mTextureDownloadProtocol = protocol;
- if (mRecording.getSum(sTextureDataDownloaded) >= mTextureLogThreshold)
+ if (log_to_viewer_log)
{
- LLSD texture_data;
- std::stringstream startTime;
- startTime << mCurrentStatsBundleStartTime;
- texture_data["start_time"] = startTime.str();
- std::stringstream endTime;
- endTime << completeTime;
- texture_data["end_time"] = endTime.str();
- texture_data["averages"] = getAverages();
-
- // Texture cache
- LLSD texture_cache;
- U32 cache_read = 0, cache_write = 0, res_wait = 0;
- F64 cache_hit_rate = 0;
- LLAppViewer::getTextureFetch()->getStateStats(&cache_read, &cache_write, &res_wait);
- if (cache_read > 0 || cache_write > 0)
- {
- cache_hit_rate = cache_read / (cache_read + cache_write);
- }
- texture_cache["cache_read"] = LLSD::Integer(cache_read);
- texture_cache["cache_write"] = LLSD::Integer(cache_write);
- texture_cache["hit_rate"] = LLSD::Real(cache_hit_rate);
- texture_cache["entries"] = LLSD::Integer(LLAppViewer::getTextureCache()->getEntries());
- texture_cache["space_max"] = ll_sd_from_U64((U64)LLAppViewer::getTextureCache()->getMaxUsage().value()); // bytes
- texture_cache["space_used"] = ll_sd_from_U64((U64)LLAppViewer::getTextureCache()->getUsage().value()); // bytes
- texture_data["texture_cache"] = texture_cache;
-
- // VO and mesh cache
- LLSD object_cache;
- object_cache["vo_entries_max"] = LLSD::Integer(LLVOCache::getInstance()->getCacheEntriesMax());
- object_cache["vo_entries_curent"] = LLSD::Integer(LLVOCache::getInstance()->getCacheEntries());
- object_cache["vo_active_entries"] = LLSD::Integer(LLWorld::getInstance()->getNumOfActiveCachedObjects());
- U64 region_hit_count = gAgent.getRegion() != NULL ? gAgent.getRegion()->getRegionCacheHitCount() : 0;
- U64 region_miss_count = gAgent.getRegion() != NULL ? gAgent.getRegion()->getRegionCacheMissCount() : 0;
- F64 region_vocache_hit_rate = 0;
- if (region_hit_count > 0 || region_miss_count > 0)
+ LL_INFOS() << "texture=" << id
+ << " start=" << details.mStartTime
+ << " end=" << details.mCompleteTime
+ << " size=" << details.mSize
+ << " offset=" << details.mOffset
+ << " length=" << U32Milliseconds(details.mCompleteTime - details.mStartTime)
+ << " protocol=" << protocol
+ << LL_ENDL;
+ }
+
+ if(log_to_simulator)
+ {
+ add(sTextureDataDownloaded, details.mSize);
+ add(sTexureDownloadTime, details.mCompleteTime - details.mStartTime);
+ add(sTextureDownloadsCompleted, 1);
+ mTextureDownloadProtocol = protocol;
+ if (mRecording.getSum(sTextureDataDownloaded) >= U32Bytes(texture_log_threshold))
{
- region_vocache_hit_rate = region_hit_count / (region_hit_count + region_miss_count);
+ LLSD texture_data;
+ std::stringstream startTime;
+ startTime << mCurrentStatsBundleStartTime;
+ texture_data["start_time"] = startTime.str();
+ std::stringstream endTime;
+ endTime << completeTime;
+ texture_data["end_time"] = endTime.str();
+ texture_data["averages"] = getAverages();
+
+ // Texture cache
+ LLSD texture_cache;
+ U32 cache_read = 0, cache_write = 0, res_wait = 0;
+ F64 cache_hit_rate = 0;
+ LLAppViewer::getTextureFetch()->getStateStats(&cache_read, &cache_write, &res_wait);
+ if (cache_read > 0 || cache_write > 0)
+ {
+ cache_hit_rate = cache_read / (cache_read + cache_write);
+ }
+ texture_cache["cache_read"] = LLSD::Integer(cache_read);
+ texture_cache["cache_write"] = LLSD::Integer(cache_write);
+ texture_cache["hit_rate"] = LLSD::Real(cache_hit_rate);
+ texture_cache["entries"] = LLSD::Integer(LLAppViewer::getTextureCache()->getEntries());
+ texture_cache["space_max"] = ll_sd_from_U64((U64)LLAppViewer::getTextureCache()->getMaxUsage().value()); // bytes
+ texture_cache["space_used"] = ll_sd_from_U64((U64)LLAppViewer::getTextureCache()->getUsage().value()); // bytes
+ texture_data["texture_cache"] = texture_cache;
+
+ // VO and mesh cache
+ LLSD object_cache;
+ object_cache["vo_entries_max"] = LLSD::Integer(LLVOCache::getInstance()->getCacheEntriesMax());
+ object_cache["vo_entries_curent"] = LLSD::Integer(LLVOCache::getInstance()->getCacheEntries());
+ object_cache["vo_active_entries"] = LLSD::Integer(LLWorld::getInstance()->getNumOfActiveCachedObjects());
+ U64 region_hit_count = gAgent.getRegion() != NULL ? gAgent.getRegion()->getRegionCacheHitCount() : 0;
+ U64 region_miss_count = gAgent.getRegion() != NULL ? gAgent.getRegion()->getRegionCacheMissCount() : 0;
+ F64 region_vocache_hit_rate = 0;
+ if (region_hit_count > 0 || region_miss_count > 0)
+ {
+ region_vocache_hit_rate = region_hit_count / (region_hit_count + region_miss_count);
+ }
+ object_cache["vo_region_hitcount"] = ll_sd_from_U64(region_hit_count);
+ object_cache["vo_region_misscount"] = ll_sd_from_U64(region_miss_count);
+ object_cache["vo_region_hitrate"] = LLSD::Real(region_vocache_hit_rate);
+ object_cache["mesh_reads"] = LLSD::Integer(LLMeshRepository::sCacheReads);
+ object_cache["mesh_writes"] = LLSD::Integer(LLMeshRepository::sCacheWrites);
+ texture_data["object_cache"] = object_cache;
+
+ send_texture_stats_to_sim(texture_data);
+ resetTextureStatistics();
}
- object_cache["vo_region_hitcount"] = ll_sd_from_U64(region_hit_count);
- object_cache["vo_region_misscount"] = ll_sd_from_U64(region_miss_count);
- object_cache["vo_region_hitrate"] = LLSD::Real(region_vocache_hit_rate);
- object_cache["mesh_reads"] = LLSD::Integer(LLMeshRepository::sCacheReads);
- object_cache["mesh_writes"] = LLSD::Integer(LLMeshRepository::sCacheWrites);
- texture_data["object_cache"] = object_cache;
-
- send_texture_stats_to_sim(texture_data);
- resetTextureStatistics();
}
}
diff --git a/indra/newview/lltextureinfo.h b/indra/newview/lltextureinfo.h
index 03721bdd73..46378eb7f8 100644
--- a/indra/newview/lltextureinfo.h
+++ b/indra/newview/lltextureinfo.h
@@ -38,7 +38,7 @@ public:
LLTextureInfo(bool postponeStartRecoreder = true);
~LLTextureInfo();
- void setUpLogging(bool writeToViewerLog, bool sendToSim, U32Bytes textureLogThreshold);
+ void setLogging(bool log_info);
bool has(const LLUUID& id);
void setRequestStartTime(const LLUUID& id, U64 startTime);
void setRequestSize(const LLUUID& id, U32 size);
@@ -61,12 +61,11 @@ private:
std::map<LLUUID, LLTextureInfoDetails *> mTextures;
LLSD mAverages;
- bool mLogTextureDownloadsToViewerLog,
- mLogTextureDownloadsToSimulator;
+ bool mLoggingEnabled;
std::string mTextureDownloadProtocol;
- U32Bytes mTextureLogThreshold;
U64Microseconds mCurrentStatsBundleStartTime;
LLTrace::Recording mRecording;
+
};
#endif // LL_LLTEXTUREINFO_H