Add traces of the size of HWUI shader cache in RAM

When HWUI needs to either load a shader from or store one to persistent
storage, this means a new shader is in its temporary (RAM) cache. Keep
track of the number and include it in perfetto traces.

As long as we're modifying ::store, make it override the version with
the newer signature, since the old one is deprecated.

Bug: 231194869
Bug: 225211273
Test: manual

Change-Id: I36b7e018291c50ed315f534f15946047ca001300
diff --git a/libs/hwui/pipeline/skia/ShaderCache.cpp b/libs/hwui/pipeline/skia/ShaderCache.cpp
index d9e9aafe..90c4440 100644
--- a/libs/hwui/pipeline/skia/ShaderCache.cpp
+++ b/libs/hwui/pipeline/skia/ShaderCache.cpp
@@ -136,6 +136,8 @@
         free(valueBuffer);
         return nullptr;
     }
+    mNumShadersCachedInRam++;
+    ATRACE_FORMAT("HWUI RAM cache: %d shaders", mNumShadersCachedInRam);
     return SkData::MakeFromMalloc(valueBuffer, valueSize);
 }
 
@@ -182,9 +184,11 @@
     mSavePending = false;
 }
 
-void ShaderCache::store(const SkData& key, const SkData& data) {
+void ShaderCache::store(const SkData& key, const SkData& data, const SkString& /*description*/) {
     ATRACE_NAME("ShaderCache::store");
     std::lock_guard<std::mutex> lock(mMutex);
+    mNumShadersCachedInRam++;
+    ATRACE_FORMAT("HWUI RAM cache: %d shaders", mNumShadersCachedInRam);
 
     if (!mInitialized) {
         return;