libmeminfo: Add support to read zram memory consumption
Bug: 114325007
Bug: 111694435
Test: libmeminfo_test 1 --gtest_filter=SysMemInfoParse.TestZramTotal
Benchmark: libmeminfo_benchmark --benchmark_filter=BM_.*ZramTotal
Benchmark Result on Blueline:
-----------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------
BM_OldReadZramTotal 3857 ns 3839 ns 134096
BM_NewReadZramTotal 4461 ns 4440 ns 157341
Change-Id: I5220fa17b101981ef859179960fe78fe68e84852
Signed-off-by: Sandeep Patil <[email protected]>
diff --git a/libmeminfo_test.cpp b/libmeminfo_test.cpp
index f973694..923e156 100644
--- a/libmeminfo_test.cpp
+++ b/libmeminfo_test.cpp
@@ -312,6 +312,17 @@
EXPECT_EQ(mi.mem_total_kb(), 0);
}
+TEST(SysMemInfoParse, TestZramTotal) {
+ std::string exec_dir = ::android::base::GetExecutableDirectory();
+
+ SysMemInfo mi;
+ std::string zram_mmstat_dir = exec_dir + "/testdata1/";
+ EXPECT_EQ(mi.mem_zram_kb(zram_mmstat_dir), 30504);
+
+ std::string zram_memused_dir = exec_dir + "/testdata2/";
+ EXPECT_EQ(mi.mem_zram_kb(zram_memused_dir), 30504);
+}
+
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
if (argc <= 1) {