diff options
author | maxim_productengine <mnikolenko@productengine.com> | 2019-05-06 17:14:55 +0300 |
---|---|---|
committer | maxim_productengine <mnikolenko@productengine.com> | 2019-05-06 17:14:55 +0300 |
commit | a6cc3b7159445eb4da5d17a7b19a3ec19625c318 (patch) | |
tree | 095f91ec988b5e00f1af1bdac430f21c7d92e58c | |
parent | 30061fd3272dda38116553c268c222f376874554 (diff) |
SL-11074 FIXED "Cache Hit Rate" in Statistics is broken
-rw-r--r-- | indra/newview/lltexturefetch.cpp | 4 | ||||
-rw-r--r-- | indra/newview/lltexturefetch.h | 1 | ||||
-rw-r--r-- | indra/newview/llviewertexture.cpp | 5 |
3 files changed, 9 insertions, 1 deletions
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index c9133338fb..f6cb787156 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -66,6 +66,7 @@ bool LLTextureFetchDebugger::sDebuggerEnabled = false ; LLTrace::CountStatHandle<F64> LLTextureFetch::sCacheHit("texture_cache_hit"); LLTrace::CountStatHandle<F64> LLTextureFetch::sCacheAttempt("texture_cache_attempt"); +LLTrace::EventStatHandle<LLUnit<F32, LLUnits::Percent> > LLTextureFetch::sCacheHitRate("texture_cache_hits"); LLTrace::SampleStatHandle<F32Seconds> LLTextureFetch::sCacheReadLatency("texture_cache_read_latency"); LLTrace::SampleStatHandle<F32Seconds> LLTextureFetch::sTexDecodeLatency("texture_decode_latency"); @@ -1311,6 +1312,7 @@ bool LLTextureFetchWorker::doWork(S32 param) LL_DEBUGS(LOG_TXT) << mID << ": Cached. Bytes: " << mFormattedImage->getDataSize() << " Size: " << llformat("%dx%d",mFormattedImage->getWidth(),mFormattedImage->getHeight()) << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL; + record(LLTextureFetch::sCacheHitRate, LLUnits::Ratio::fromValue(1)); } else { @@ -1326,7 +1328,7 @@ bool LLTextureFetchWorker::doWork(S32 param) LL_DEBUGS(LOG_TXT) << mID << ": Not in Cache" << LL_ENDL; setState(LOAD_FROM_NETWORK); } - + record(LLTextureFetch::sCacheHitRate, LLUnits::Ratio::fromValue(0)); // fall through } } diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h index a01c01847e..cdf8868597 100644 --- a/indra/newview/lltexturefetch.h +++ b/indra/newview/lltexturefetch.h @@ -312,6 +312,7 @@ public: static LLTrace::SampleStatHandle<F32Seconds> sCacheReadLatency; static LLTrace::SampleStatHandle<F32Seconds> sTexDecodeLatency; static LLTrace::SampleStatHandle<F32Seconds> sTexFetchLatency; + static LLTrace::EventStatHandle<LLUnit<F32, LLUnits::Percent> > sCacheHitRate; private: LLMutex mQueueMutex; //to protect mRequestMap and mCommands only diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 68a9994bee..a81b3aaef9 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1219,6 +1219,7 @@ void LLViewerFetchedTexture::loadFromFastCache() F32 cachReadTime = fastCacheTimer.getElapsedTimeF32(); add(LLTextureFetch::sCacheHit, 1.0); + record(LLTextureFetch::sCacheHitRate, LLUnits::Ratio::fromValue(1)); sample(LLTextureFetch::sCacheReadLatency, cachReadTime); mFullWidth = mRawImage->getWidth() << mRawDiscardLevel; @@ -1251,6 +1252,10 @@ void LLViewerFetchedTexture::loadFromFastCache() addToCreateTexture(); } } + else + { + record(LLTextureFetch::sCacheHitRate, LLUnits::Ratio::fromValue(0)); + } } void LLViewerFetchedTexture::setForSculpt() |