Loading services/gpuservice/gpustats/Android.bp +2 −2 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ cc_defaults { "libgraphicsenv", "liblog", "libprotoutil", "libstatslog", "libstatslog_gpustats", "libstatspull", "libstatssocket", "libutils", Loading @@ -39,7 +39,7 @@ cc_library_static { "-Werror", "-Wformat", "-Wthread-safety", "-Wunused", "-Wunreachable-code", "-Wunused", ], } services/gpuservice/gpustats/GpuStats.cpp +14 −14 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ #include <cutils/properties.h> #include <log/log.h> #include <stats_event.h> #include <statslog.h> #include <statslog_gpustats.h> #include <utils/Trace.h> #include <unordered_set> Loading @@ -32,8 +32,8 @@ namespace android { GpuStats::~GpuStats() { if (mStatsdRegistered) { AStatsManager_clearPullAtomCallback(android::util::GPU_STATS_GLOBAL_INFO); AStatsManager_clearPullAtomCallback(android::util::GPU_STATS_APP_INFO); AStatsManager_clearPullAtomCallback(android::gpustats::GPU_STATS_GLOBAL_INFO); AStatsManager_clearPullAtomCallback(android::gpustats::GPU_STATS_APP_INFO); } } Loading Loading @@ -296,9 +296,9 @@ void GpuStats::interceptSystemDriverStatsLocked() { void GpuStats::registerStatsdCallbacksIfNeeded() { if (!mStatsdRegistered) { AStatsManager_setPullAtomCallback(android::util::GPU_STATS_GLOBAL_INFO, nullptr, AStatsManager_setPullAtomCallback(android::gpustats::GPU_STATS_GLOBAL_INFO, nullptr, GpuStats::pullAtomCallback, this); AStatsManager_setPullAtomCallback(android::util::GPU_STATS_APP_INFO, nullptr, AStatsManager_setPullAtomCallback(android::gpustats::GPU_STATS_APP_INFO, nullptr, GpuStats::pullAtomCallback, this); mStatsdRegistered = true; } Loading Loading @@ -421,16 +421,16 @@ AStatsManager_PullAtomCallbackReturn GpuStats::pullAppInfoAtom(AStatsEventList* engineNames.push_back(engineName.c_str()); } android::util::addAStatsEvent( android::gpustats::addAStatsEvent( data, android::util::GPU_STATS_APP_INFO, android::gpustats::GPU_STATS_APP_INFO, ele.second.appPackageName.c_str(), ele.second.driverVersionCode, android::util::BytesField(glDriverBytes.c_str(), android::gpustats::BytesField(glDriverBytes.c_str(), glDriverBytes.length()), android::util::BytesField(vkDriverBytes.c_str(), android::gpustats::BytesField(vkDriverBytes.c_str(), vkDriverBytes.length()), android::util::BytesField(angleDriverBytes.c_str(), android::gpustats::BytesField(angleDriverBytes.c_str(), angleDriverBytes.length()), ele.second.cpuVulkanInUse, ele.second.falsePrerotation, Loading Loading @@ -461,9 +461,9 @@ AStatsManager_PullAtomCallbackReturn GpuStats::pullGlobalInfoAtom(AStatsEventLis if (data) { for (const auto& ele : mGlobalStats) { android::util::addAStatsEvent( android::gpustats::addAStatsEvent( data, android::util::GPU_STATS_GLOBAL_INFO, android::gpustats::GPU_STATS_GLOBAL_INFO, ele.second.driverPackageName.c_str(), ele.second.driverVersionName.c_str(), ele.second.driverVersionCode, Loading Loading @@ -491,9 +491,9 @@ AStatsManager_PullAtomCallbackReturn GpuStats::pullAtomCallback(int32_t atomTag, ATRACE_CALL(); GpuStats* pGpuStats = reinterpret_cast<GpuStats*>(cookie); if (atomTag == android::util::GPU_STATS_GLOBAL_INFO) { if (atomTag == android::gpustats::GPU_STATS_GLOBAL_INFO) { return pGpuStats->pullGlobalInfoAtom(data); } else if (atomTag == android::util::GPU_STATS_APP_INFO) { } else if (atomTag == android::gpustats::GPU_STATS_APP_INFO) { return pGpuStats->pullAppInfoAtom(data); } Loading services/gpuservice/gpuwork/Android.bp +40 −2 Original line number Diff line number Diff line Loading @@ -31,8 +31,9 @@ cc_library_shared { "libbpf_bcc", "libcutils", "liblog", "libstatslog", "libstatslog_gpustats", "libstatspull", "libstatssocket", "libutils", ], export_include_dirs: [ Loading @@ -50,11 +51,48 @@ cc_library_shared { "-Werror", "-Wformat", "-Wthread-safety", "-Wunused", "-Wunreachable-code", "-Wunused", ], required: [ "bpfloader", "gpuWork.o", ], } cc_library_shared { name: "libstatslog_gpustats", host_supported: true, generated_sources: ["statslog_gpustats.cpp"], generated_headers: ["statslog_gpustats.h"], export_generated_headers: ["statslog_gpustats.h"], shared_libs: [ "libstatspull", "libstatssocket", ], export_shared_lib_headers: [ "libstatspull", "libstatssocket", ], } genrule { name: "statslog_gpustats.h", tools: ["stats-log-api-gen"], cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_gpustats.h" + " --module gpustats --namespace android,gpustats", out: [ "statslog_gpustats.h", ], } genrule { name: "statslog_gpustats.cpp", tools: ["stats-log-api-gen"], cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_gpustats.cpp" + " --module gpustats --namespace android,gpustats" + " --importHeader statslog_gpustats.h", out: [ "statslog_gpustats.cpp", ], } services/gpuservice/gpuwork/GpuWork.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ #include <log/log.h> #include <random> #include <stats_event.h> #include <statslog.h> #include <statslog_gpustats.h> #include <unistd.h> #include <utils/Timers.h> #include <utils/Trace.h> Loading Loading @@ -110,7 +110,7 @@ GpuWork::~GpuWork() { { std::scoped_lock<std::mutex> lock(mMutex); if (mStatsdRegistered) { AStatsManager_clearPullAtomCallback(android::util::GPU_WORK_PER_UID); AStatsManager_clearPullAtomCallback(android::gpustats::GPU_WORK_PER_UID); } } Loading Loading @@ -155,7 +155,7 @@ void GpuWork::initialize() { { std::lock_guard<std::mutex> lock(mMutex); AStatsManager_setPullAtomCallback(int32_t{android::util::GPU_WORK_PER_UID}, nullptr, AStatsManager_setPullAtomCallback(int32_t{android::gpustats::GPU_WORK_PER_UID}, nullptr, GpuWork::pullAtomCallback, this); mStatsdRegistered = true; } Loading Loading @@ -260,7 +260,7 @@ AStatsManager_PullAtomCallbackReturn GpuWork::pullAtomCallback(int32_t atomTag, ATRACE_CALL(); GpuWork* gpuWork = reinterpret_cast<GpuWork*>(cookie); if (atomTag == android::util::GPU_WORK_PER_UID) { if (atomTag == android::gpustats::GPU_WORK_PER_UID) { return gpuWork->pullWorkAtoms(data); } Loading Loading @@ -417,7 +417,7 @@ AStatsManager_PullAtomCallbackReturn GpuWork::pullWorkAtoms(AStatsEventList* dat } ALOGI("pullWorkAtoms: adding stats for GPU ID %" PRIu32 "; UID %" PRIu32, gpuId, uid); android::util::addAStatsEvent(data, int32_t{android::util::GPU_WORK_PER_UID}, android::gpustats::addAStatsEvent(data, int32_t{android::gpustats::GPU_WORK_PER_UID}, // uid bitcast_int32(uid), // gpu_id Loading services/gpuservice/tests/unittests/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -98,7 +98,7 @@ cc_test { "liblog", "libprotobuf-cpp-lite", "libprotoutil", "libstatslog", "libstatslog_gpustats", "libstatspull", "libutils", ], Loading Loading
services/gpuservice/gpustats/Android.bp +2 −2 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ cc_defaults { "libgraphicsenv", "liblog", "libprotoutil", "libstatslog", "libstatslog_gpustats", "libstatspull", "libstatssocket", "libutils", Loading @@ -39,7 +39,7 @@ cc_library_static { "-Werror", "-Wformat", "-Wthread-safety", "-Wunused", "-Wunreachable-code", "-Wunused", ], }
services/gpuservice/gpustats/GpuStats.cpp +14 −14 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ #include <cutils/properties.h> #include <log/log.h> #include <stats_event.h> #include <statslog.h> #include <statslog_gpustats.h> #include <utils/Trace.h> #include <unordered_set> Loading @@ -32,8 +32,8 @@ namespace android { GpuStats::~GpuStats() { if (mStatsdRegistered) { AStatsManager_clearPullAtomCallback(android::util::GPU_STATS_GLOBAL_INFO); AStatsManager_clearPullAtomCallback(android::util::GPU_STATS_APP_INFO); AStatsManager_clearPullAtomCallback(android::gpustats::GPU_STATS_GLOBAL_INFO); AStatsManager_clearPullAtomCallback(android::gpustats::GPU_STATS_APP_INFO); } } Loading Loading @@ -296,9 +296,9 @@ void GpuStats::interceptSystemDriverStatsLocked() { void GpuStats::registerStatsdCallbacksIfNeeded() { if (!mStatsdRegistered) { AStatsManager_setPullAtomCallback(android::util::GPU_STATS_GLOBAL_INFO, nullptr, AStatsManager_setPullAtomCallback(android::gpustats::GPU_STATS_GLOBAL_INFO, nullptr, GpuStats::pullAtomCallback, this); AStatsManager_setPullAtomCallback(android::util::GPU_STATS_APP_INFO, nullptr, AStatsManager_setPullAtomCallback(android::gpustats::GPU_STATS_APP_INFO, nullptr, GpuStats::pullAtomCallback, this); mStatsdRegistered = true; } Loading Loading @@ -421,16 +421,16 @@ AStatsManager_PullAtomCallbackReturn GpuStats::pullAppInfoAtom(AStatsEventList* engineNames.push_back(engineName.c_str()); } android::util::addAStatsEvent( android::gpustats::addAStatsEvent( data, android::util::GPU_STATS_APP_INFO, android::gpustats::GPU_STATS_APP_INFO, ele.second.appPackageName.c_str(), ele.second.driverVersionCode, android::util::BytesField(glDriverBytes.c_str(), android::gpustats::BytesField(glDriverBytes.c_str(), glDriverBytes.length()), android::util::BytesField(vkDriverBytes.c_str(), android::gpustats::BytesField(vkDriverBytes.c_str(), vkDriverBytes.length()), android::util::BytesField(angleDriverBytes.c_str(), android::gpustats::BytesField(angleDriverBytes.c_str(), angleDriverBytes.length()), ele.second.cpuVulkanInUse, ele.second.falsePrerotation, Loading Loading @@ -461,9 +461,9 @@ AStatsManager_PullAtomCallbackReturn GpuStats::pullGlobalInfoAtom(AStatsEventLis if (data) { for (const auto& ele : mGlobalStats) { android::util::addAStatsEvent( android::gpustats::addAStatsEvent( data, android::util::GPU_STATS_GLOBAL_INFO, android::gpustats::GPU_STATS_GLOBAL_INFO, ele.second.driverPackageName.c_str(), ele.second.driverVersionName.c_str(), ele.second.driverVersionCode, Loading Loading @@ -491,9 +491,9 @@ AStatsManager_PullAtomCallbackReturn GpuStats::pullAtomCallback(int32_t atomTag, ATRACE_CALL(); GpuStats* pGpuStats = reinterpret_cast<GpuStats*>(cookie); if (atomTag == android::util::GPU_STATS_GLOBAL_INFO) { if (atomTag == android::gpustats::GPU_STATS_GLOBAL_INFO) { return pGpuStats->pullGlobalInfoAtom(data); } else if (atomTag == android::util::GPU_STATS_APP_INFO) { } else if (atomTag == android::gpustats::GPU_STATS_APP_INFO) { return pGpuStats->pullAppInfoAtom(data); } Loading
services/gpuservice/gpuwork/Android.bp +40 −2 Original line number Diff line number Diff line Loading @@ -31,8 +31,9 @@ cc_library_shared { "libbpf_bcc", "libcutils", "liblog", "libstatslog", "libstatslog_gpustats", "libstatspull", "libstatssocket", "libutils", ], export_include_dirs: [ Loading @@ -50,11 +51,48 @@ cc_library_shared { "-Werror", "-Wformat", "-Wthread-safety", "-Wunused", "-Wunreachable-code", "-Wunused", ], required: [ "bpfloader", "gpuWork.o", ], } cc_library_shared { name: "libstatslog_gpustats", host_supported: true, generated_sources: ["statslog_gpustats.cpp"], generated_headers: ["statslog_gpustats.h"], export_generated_headers: ["statslog_gpustats.h"], shared_libs: [ "libstatspull", "libstatssocket", ], export_shared_lib_headers: [ "libstatspull", "libstatssocket", ], } genrule { name: "statslog_gpustats.h", tools: ["stats-log-api-gen"], cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_gpustats.h" + " --module gpustats --namespace android,gpustats", out: [ "statslog_gpustats.h", ], } genrule { name: "statslog_gpustats.cpp", tools: ["stats-log-api-gen"], cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_gpustats.cpp" + " --module gpustats --namespace android,gpustats" + " --importHeader statslog_gpustats.h", out: [ "statslog_gpustats.cpp", ], }
services/gpuservice/gpuwork/GpuWork.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ #include <log/log.h> #include <random> #include <stats_event.h> #include <statslog.h> #include <statslog_gpustats.h> #include <unistd.h> #include <utils/Timers.h> #include <utils/Trace.h> Loading Loading @@ -110,7 +110,7 @@ GpuWork::~GpuWork() { { std::scoped_lock<std::mutex> lock(mMutex); if (mStatsdRegistered) { AStatsManager_clearPullAtomCallback(android::util::GPU_WORK_PER_UID); AStatsManager_clearPullAtomCallback(android::gpustats::GPU_WORK_PER_UID); } } Loading Loading @@ -155,7 +155,7 @@ void GpuWork::initialize() { { std::lock_guard<std::mutex> lock(mMutex); AStatsManager_setPullAtomCallback(int32_t{android::util::GPU_WORK_PER_UID}, nullptr, AStatsManager_setPullAtomCallback(int32_t{android::gpustats::GPU_WORK_PER_UID}, nullptr, GpuWork::pullAtomCallback, this); mStatsdRegistered = true; } Loading Loading @@ -260,7 +260,7 @@ AStatsManager_PullAtomCallbackReturn GpuWork::pullAtomCallback(int32_t atomTag, ATRACE_CALL(); GpuWork* gpuWork = reinterpret_cast<GpuWork*>(cookie); if (atomTag == android::util::GPU_WORK_PER_UID) { if (atomTag == android::gpustats::GPU_WORK_PER_UID) { return gpuWork->pullWorkAtoms(data); } Loading Loading @@ -417,7 +417,7 @@ AStatsManager_PullAtomCallbackReturn GpuWork::pullWorkAtoms(AStatsEventList* dat } ALOGI("pullWorkAtoms: adding stats for GPU ID %" PRIu32 "; UID %" PRIu32, gpuId, uid); android::util::addAStatsEvent(data, int32_t{android::util::GPU_WORK_PER_UID}, android::gpustats::addAStatsEvent(data, int32_t{android::gpustats::GPU_WORK_PER_UID}, // uid bitcast_int32(uid), // gpu_id Loading
services/gpuservice/tests/unittests/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -98,7 +98,7 @@ cc_test { "liblog", "libprotobuf-cpp-lite", "libprotoutil", "libstatslog", "libstatslog_gpustats", "libstatspull", "libutils", ], Loading