Loading libs/graphicsenv/GpuStatsInfo.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,8 @@ status_t GpuStatsGlobalInfo::writeToParcel(Parcel* parcel) const { if ((status = parcel->writeInt32(vkLoadingCount)) != OK) return status; if ((status = parcel->writeInt32(vkLoadingFailureCount)) != OK) return status; if ((status = parcel->writeInt32(vulkanVersion)) != OK) return status; if ((status = parcel->writeInt32(cpuVulkanVersion)) != OK) return status; if ((status = parcel->writeInt32(glesVersion)) != OK) return status; return OK; } Loading @@ -49,6 +51,8 @@ status_t GpuStatsGlobalInfo::readFromParcel(const Parcel* parcel) { if ((status = parcel->readInt32(&vkLoadingCount)) != OK) return status; if ((status = parcel->readInt32(&vkLoadingFailureCount)) != OK) return status; if ((status = parcel->readInt32(&vulkanVersion)) != OK) return status; if ((status = parcel->readInt32(&cpuVulkanVersion)) != OK) return status; if ((status = parcel->readInt32(&glesVersion)) != OK) return status; return OK; } Loading @@ -63,6 +67,8 @@ std::string GpuStatsGlobalInfo::toString() const { StringAppendF(&result, "vkLoadingCount = %d\n", vkLoadingCount); StringAppendF(&result, "vkLoadingFailureCount = %d\n", vkLoadingFailureCount); StringAppendF(&result, "vulkanVersion = %d\n", vulkanVersion); StringAppendF(&result, "cpuVulkanVersion = %d\n", cpuVulkanVersion); StringAppendF(&result, "glesVersion = %d\n", glesVersion); return result; } Loading libs/graphicsenv/include/graphicsenv/GpuStatsInfo.h +2 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ public: int32_t vkLoadingCount = 0; int32_t vkLoadingFailureCount = 0; int32_t vulkanVersion = 0; int32_t cpuVulkanVersion = 0; int32_t glesVersion = 0; }; /* Loading services/gpuservice/gpustats/GpuStats.cpp +17 −2 Original line number Diff line number Diff line Loading @@ -19,11 +19,12 @@ #include "GpuStats.h" #include <unordered_set> #include <cutils/properties.h> #include <log/log.h> #include <utils/Trace.h> #include <unordered_set> namespace android { static bool addLoadingCount(GraphicsEnv::Driver driver, bool isDriverLoaded, Loading Loading @@ -120,6 +121,16 @@ void GpuStats::insert(const std::string& driverPackageName, const std::string& d addLoadingTime(driver, driverLoadingTime, &mAppStats[appStatsKey]); } void GpuStats::interceptSystemDriverStatsLocked() { // Append cpuVulkanVersion and glesVersion to system driver stats if (!mGlobalStats.count(0) || mGlobalStats[0].glesVersion) { return; } mGlobalStats[0].cpuVulkanVersion = property_get_int32("ro.cpuvulkan.version", 0); mGlobalStats[0].glesVersion = property_get_int32("ro.opengles.version", 0); } void GpuStats::dump(const Vector<String16>& args, std::string* result) { ATRACE_CALL(); Loading Loading @@ -176,6 +187,8 @@ void GpuStats::dump(const Vector<String16>& args, std::string* result) { } void GpuStats::dumpGlobalLocked(std::string* result) { interceptSystemDriverStatsLocked(); for (const auto& ele : mGlobalStats) { result->append(ele.second.toString()); result->append("\n"); Loading @@ -196,6 +209,8 @@ void GpuStats::pullGlobalStats(std::vector<GpuStatsGlobalInfo>* outStats) { outStats->clear(); outStats->reserve(mGlobalStats.size()); interceptSystemDriverStatsLocked(); for (const auto& ele : mGlobalStats) { outStats->emplace_back(ele.second); } Loading services/gpuservice/gpustats/GpuStats.h +2 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,8 @@ private: void dumpGlobalLocked(std::string* result); // Dump app stats void dumpAppLocked(std::string* result); // Append cpuVulkanVersion and glesVersion to system driver stats void interceptSystemDriverStatsLocked(); // Below limits the memory usage of GpuStats to be less than 10KB. This is // the preferred number for statsd while maintaining nice data quality. Loading Loading
libs/graphicsenv/GpuStatsInfo.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,8 @@ status_t GpuStatsGlobalInfo::writeToParcel(Parcel* parcel) const { if ((status = parcel->writeInt32(vkLoadingCount)) != OK) return status; if ((status = parcel->writeInt32(vkLoadingFailureCount)) != OK) return status; if ((status = parcel->writeInt32(vulkanVersion)) != OK) return status; if ((status = parcel->writeInt32(cpuVulkanVersion)) != OK) return status; if ((status = parcel->writeInt32(glesVersion)) != OK) return status; return OK; } Loading @@ -49,6 +51,8 @@ status_t GpuStatsGlobalInfo::readFromParcel(const Parcel* parcel) { if ((status = parcel->readInt32(&vkLoadingCount)) != OK) return status; if ((status = parcel->readInt32(&vkLoadingFailureCount)) != OK) return status; if ((status = parcel->readInt32(&vulkanVersion)) != OK) return status; if ((status = parcel->readInt32(&cpuVulkanVersion)) != OK) return status; if ((status = parcel->readInt32(&glesVersion)) != OK) return status; return OK; } Loading @@ -63,6 +67,8 @@ std::string GpuStatsGlobalInfo::toString() const { StringAppendF(&result, "vkLoadingCount = %d\n", vkLoadingCount); StringAppendF(&result, "vkLoadingFailureCount = %d\n", vkLoadingFailureCount); StringAppendF(&result, "vulkanVersion = %d\n", vulkanVersion); StringAppendF(&result, "cpuVulkanVersion = %d\n", cpuVulkanVersion); StringAppendF(&result, "glesVersion = %d\n", glesVersion); return result; } Loading
libs/graphicsenv/include/graphicsenv/GpuStatsInfo.h +2 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,8 @@ public: int32_t vkLoadingCount = 0; int32_t vkLoadingFailureCount = 0; int32_t vulkanVersion = 0; int32_t cpuVulkanVersion = 0; int32_t glesVersion = 0; }; /* Loading
services/gpuservice/gpustats/GpuStats.cpp +17 −2 Original line number Diff line number Diff line Loading @@ -19,11 +19,12 @@ #include "GpuStats.h" #include <unordered_set> #include <cutils/properties.h> #include <log/log.h> #include <utils/Trace.h> #include <unordered_set> namespace android { static bool addLoadingCount(GraphicsEnv::Driver driver, bool isDriverLoaded, Loading Loading @@ -120,6 +121,16 @@ void GpuStats::insert(const std::string& driverPackageName, const std::string& d addLoadingTime(driver, driverLoadingTime, &mAppStats[appStatsKey]); } void GpuStats::interceptSystemDriverStatsLocked() { // Append cpuVulkanVersion and glesVersion to system driver stats if (!mGlobalStats.count(0) || mGlobalStats[0].glesVersion) { return; } mGlobalStats[0].cpuVulkanVersion = property_get_int32("ro.cpuvulkan.version", 0); mGlobalStats[0].glesVersion = property_get_int32("ro.opengles.version", 0); } void GpuStats::dump(const Vector<String16>& args, std::string* result) { ATRACE_CALL(); Loading Loading @@ -176,6 +187,8 @@ void GpuStats::dump(const Vector<String16>& args, std::string* result) { } void GpuStats::dumpGlobalLocked(std::string* result) { interceptSystemDriverStatsLocked(); for (const auto& ele : mGlobalStats) { result->append(ele.second.toString()); result->append("\n"); Loading @@ -196,6 +209,8 @@ void GpuStats::pullGlobalStats(std::vector<GpuStatsGlobalInfo>* outStats) { outStats->clear(); outStats->reserve(mGlobalStats.size()); interceptSystemDriverStatsLocked(); for (const auto& ele : mGlobalStats) { outStats->emplace_back(ele.second); } Loading
services/gpuservice/gpustats/GpuStats.h +2 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,8 @@ private: void dumpGlobalLocked(std::string* result); // Dump app stats void dumpAppLocked(std::string* result); // Append cpuVulkanVersion and glesVersion to system driver stats void interceptSystemDriverStatsLocked(); // Below limits the memory usage of GpuStats to be less than 10KB. This is // the preferred number for statsd while maintaining nice data quality. Loading