GpuStats: Track ANGLE usage info
Bug: 132285967 Test: atest GpuStatsPuller_test Change-Id: I1763624fe705b6d3a3ccc3bdbddfa573362ddc27
This commit is contained in:
@@ -5975,6 +5975,12 @@ message GpuStatsGlobalInfo {
|
||||
|
||||
// Api version of the system GLES driver.
|
||||
optional int32 gles_version = 11;
|
||||
|
||||
// Total count of the angle driver gets loaded.
|
||||
optional int64 angle_loading_count = 12;
|
||||
|
||||
// Total count of the angle driver fails to be loaded.
|
||||
optional int64 angle_loading_failure_count = 13;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -6007,6 +6013,10 @@ message GpuStatsAppInfo {
|
||||
// Vulkan driver loading time info.
|
||||
optional GpuDriverLoadingTime vk_driver_loading_time = 4
|
||||
[(android.os.statsd.log_mode) = MODE_BYTES];
|
||||
|
||||
// Angle driver loading time info.
|
||||
optional GpuDriverLoadingTime angle_driver_loading_time = 5
|
||||
[(android.os.statsd.log_mode) = MODE_BYTES];
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
3
cmds/statsd/src/external/GpuStatsPuller.cpp
vendored
3
cmds/statsd/src/external/GpuStatsPuller.cpp
vendored
@@ -68,6 +68,8 @@ static bool pullGpuStatsGlobalInfo(const sp<IGpuService>& gpuService,
|
||||
if (!event->write(info.vulkanVersion)) return false;
|
||||
if (!event->write(info.cpuVulkanVersion)) return false;
|
||||
if (!event->write(info.glesVersion)) return false;
|
||||
if (!event->write((int64_t)info.angleLoadingCount)) return false;
|
||||
if (!event->write((int64_t)info.angleLoadingFailureCount)) return false;
|
||||
event->init();
|
||||
data->emplace_back(event);
|
||||
}
|
||||
@@ -92,6 +94,7 @@ static bool pullGpuStatsAppInfo(const sp<IGpuService>& gpuService,
|
||||
if (!event->write((int64_t)info.driverVersionCode)) return false;
|
||||
if (!event->write(int64VectorToProtoByteString(info.glDriverLoadingTime))) return false;
|
||||
if (!event->write(int64VectorToProtoByteString(info.vkDriverLoadingTime))) return false;
|
||||
if (!event->write(int64VectorToProtoByteString(info.angleDriverLoadingTime))) return false;
|
||||
event->init();
|
||||
data->emplace_back(event);
|
||||
}
|
||||
|
||||
@@ -32,27 +32,31 @@ namespace os {
|
||||
namespace statsd {
|
||||
|
||||
// clang-format off
|
||||
static const std::string DRIVER_PACKAGE_NAME = "TEST_DRIVER";
|
||||
static const std::string DRIVER_VERSION_NAME = "TEST_DRIVER_VERSION";
|
||||
static const std::string APP_PACKAGE_NAME = "TEST_APP";
|
||||
static const int64_t TIMESTAMP_WALLCLOCK = 111;
|
||||
static const int64_t TIMESTAMP_ELAPSED = 222;
|
||||
static const int64_t DRIVER_VERSION_CODE = 333;
|
||||
static const int64_t DRIVER_BUILD_TIME = 444;
|
||||
static const int64_t GL_LOADING_COUNT = 3;
|
||||
static const int64_t GL_LOADING_FAILURE_COUNT = 1;
|
||||
static const int64_t VK_LOADING_COUNT = 4;
|
||||
static const int64_t VK_LOADING_FAILURE_COUNT = 0;
|
||||
static const int64_t GL_DRIVER_LOADING_TIME_0 = 555;
|
||||
static const int64_t GL_DRIVER_LOADING_TIME_1 = 666;
|
||||
static const int64_t VK_DRIVER_LOADING_TIME_0 = 777;
|
||||
static const int64_t VK_DRIVER_LOADING_TIME_1 = 888;
|
||||
static const int64_t VK_DRIVER_LOADING_TIME_2 = 999;
|
||||
static const int32_t VULKAN_VERSION = 1;
|
||||
static const int32_t CPU_VULKAN_VERSION = 2;
|
||||
static const int32_t GLES_VERSION = 3;
|
||||
static const size_t NUMBER_OF_VALUES_GLOBAL = 11;
|
||||
static const size_t NUMBER_OF_VALUES_APP = 4;
|
||||
static const std::string DRIVER_PACKAGE_NAME = "TEST_DRIVER";
|
||||
static const std::string DRIVER_VERSION_NAME = "TEST_DRIVER_VERSION";
|
||||
static const std::string APP_PACKAGE_NAME = "TEST_APP";
|
||||
static const int64_t TIMESTAMP_WALLCLOCK = 111;
|
||||
static const int64_t TIMESTAMP_ELAPSED = 222;
|
||||
static const int64_t DRIVER_VERSION_CODE = 333;
|
||||
static const int64_t DRIVER_BUILD_TIME = 444;
|
||||
static const int64_t GL_LOADING_COUNT = 3;
|
||||
static const int64_t GL_LOADING_FAILURE_COUNT = 1;
|
||||
static const int64_t VK_LOADING_COUNT = 4;
|
||||
static const int64_t VK_LOADING_FAILURE_COUNT = 0;
|
||||
static const int64_t ANGLE_LOADING_COUNT = 2;
|
||||
static const int64_t ANGLE_LOADING_FAILURE_COUNT = 1;
|
||||
static const int64_t GL_DRIVER_LOADING_TIME_0 = 555;
|
||||
static const int64_t GL_DRIVER_LOADING_TIME_1 = 666;
|
||||
static const int64_t VK_DRIVER_LOADING_TIME_0 = 777;
|
||||
static const int64_t VK_DRIVER_LOADING_TIME_1 = 888;
|
||||
static const int64_t VK_DRIVER_LOADING_TIME_2 = 999;
|
||||
static const int64_t ANGLE_DRIVER_LOADING_TIME_0 = 1010;
|
||||
static const int64_t ANGLE_DRIVER_LOADING_TIME_1 = 1111;
|
||||
static const int32_t VULKAN_VERSION = 1;
|
||||
static const int32_t CPU_VULKAN_VERSION = 2;
|
||||
static const int32_t GLES_VERSION = 3;
|
||||
static const size_t NUMBER_OF_VALUES_GLOBAL = 13;
|
||||
static const size_t NUMBER_OF_VALUES_APP = 5;
|
||||
// clang-format on
|
||||
|
||||
class MockGpuStatsPuller : public GpuStatsPuller {
|
||||
@@ -99,6 +103,8 @@ TEST_F(GpuStatsPuller_test, PullGpuStatsGlobalInfo) {
|
||||
EXPECT_TRUE(event->write(VULKAN_VERSION));
|
||||
EXPECT_TRUE(event->write(CPU_VULKAN_VERSION));
|
||||
EXPECT_TRUE(event->write(GLES_VERSION));
|
||||
EXPECT_TRUE(event->write(ANGLE_LOADING_COUNT));
|
||||
EXPECT_TRUE(event->write(ANGLE_LOADING_FAILURE_COUNT));
|
||||
event->init();
|
||||
inData.emplace_back(event);
|
||||
MockGpuStatsPuller mockPuller(android::util::GPU_STATS_GLOBAL_INFO, &inData);
|
||||
@@ -119,6 +125,8 @@ TEST_F(GpuStatsPuller_test, PullGpuStatsGlobalInfo) {
|
||||
EXPECT_EQ(VULKAN_VERSION, outData[0]->getValues()[8].mValue.int_value);
|
||||
EXPECT_EQ(CPU_VULKAN_VERSION, outData[0]->getValues()[9].mValue.int_value);
|
||||
EXPECT_EQ(GLES_VERSION, outData[0]->getValues()[10].mValue.int_value);
|
||||
EXPECT_EQ(ANGLE_LOADING_COUNT, outData[0]->getValues()[11].mValue.long_value);
|
||||
EXPECT_EQ(ANGLE_LOADING_FAILURE_COUNT, outData[0]->getValues()[12].mValue.long_value);
|
||||
}
|
||||
|
||||
TEST_F(GpuStatsPuller_test, PullGpuStatsAppInfo) {
|
||||
@@ -134,8 +142,12 @@ TEST_F(GpuStatsPuller_test, PullGpuStatsAppInfo) {
|
||||
vkDriverLoadingTime.emplace_back(VK_DRIVER_LOADING_TIME_0);
|
||||
vkDriverLoadingTime.emplace_back(VK_DRIVER_LOADING_TIME_1);
|
||||
vkDriverLoadingTime.emplace_back(VK_DRIVER_LOADING_TIME_2);
|
||||
std::vector<int64_t> angleDriverLoadingTime;
|
||||
angleDriverLoadingTime.emplace_back(ANGLE_DRIVER_LOADING_TIME_0);
|
||||
angleDriverLoadingTime.emplace_back(ANGLE_DRIVER_LOADING_TIME_1);
|
||||
EXPECT_TRUE(event->write(int64VectorToProtoByteString(glDriverLoadingTime)));
|
||||
EXPECT_TRUE(event->write(int64VectorToProtoByteString(vkDriverLoadingTime)));
|
||||
EXPECT_TRUE(event->write(int64VectorToProtoByteString(angleDriverLoadingTime)));
|
||||
event->init();
|
||||
inData.emplace_back(event);
|
||||
MockGpuStatsPuller mockPuller(android::util::GPU_STATS_APP_INFO, &inData);
|
||||
@@ -151,6 +163,8 @@ TEST_F(GpuStatsPuller_test, PullGpuStatsAppInfo) {
|
||||
outData[0]->getValues()[2].mValue.str_value);
|
||||
EXPECT_EQ(int64VectorToProtoByteString(vkDriverLoadingTime),
|
||||
outData[0]->getValues()[3].mValue.str_value);
|
||||
EXPECT_EQ(int64VectorToProtoByteString(angleDriverLoadingTime),
|
||||
outData[0]->getValues()[4].mValue.str_value);
|
||||
}
|
||||
|
||||
} // namespace statsd
|
||||
|
||||
Reference in New Issue
Block a user