)]}'
{
  "commit": "234faba4efc35ec6ed7a4241255fe5942561f4e8",
  "tree": "50d18e99cd0c0db43e359e1eaf16fa696f6895b0",
  "parents": [
    "fb5917e86ae5bcb3dfd926313e842051b787e6d1"
  ],
  "author": {
    "name": "Robin Hsu",
    "email": "robinhsu@google.com",
    "time": "Wed Apr 03 13:16:35 2024 +0000"
  },
  "committer": {
    "name": "Robin Hsu",
    "email": "robinhsu@google.com",
    "time": "Fri Apr 26 06:04:29 2024 +0000"
  },
  "message": "pixelstats: MM Metrics 2022: Add test code/data\n\n* Implements the derived class for MmMetricsReporter class to redirect\n  Sysfs node reads to the test patterned data files.\n\n* Add test code using the derived class for both atoms.\n\n* Test theory:\n    - Test data carefully crafted to make all output numbers unique.\n    - The test aims to catch write offset bug:\n        + One atom might be prepared (the data array) by multiple\n          functions.\n        + If they write to the wrong offsets, the test will catch\n          the errors.\n    - By comparing with the golden test results it also proves the\n      correctness.\n\n* Covered MM atoms:\n    - PixelMmMetricsPerHour\n    - PixelMmMetricsPerDay\n\n* MM atoms not covered, (i.e. older atoms)\n    - ZramBdStat\n    - ZramMmStat\n    - CmaStatus\n    - CmaStatusExt\n\nBug: 244671514\nTest: atest pixelstats_mm_test\n      Note: known bugs expected. Will failed the last test case.\n            Fixes will be in the later commits.\n\nChange-Id: I30772067445d187f0ba5a33866d7d1f1c9fdd33f\nSigned-off-by: Robin Hsu \u003crobinhsu@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "65f82cb6589a0641b4e1692440c450748d717561",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/Android.bp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0c17c9b55382722ac013cb93288e7bd83cbf7b98",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/AndroidTest.xml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "af605917d38072da7582f740734e2aa5d680ed85",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/MmMetricsGoldenAtomFieldTypes.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0cd5866761624050becd9b5c5bfe53e36cf1845e",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/MmMetricsGoldenResults.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c8d2f14f7720ba10b937aa1f8e9737b8f16c55ff",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/MmMetricsReporterTest.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bdf67c1e0d5ce8f0618db68f9ff891460bf5ee5b",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/MockMmMetricsReporter.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1275112cd9a434756544a28dc9d6052bafda3552",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/VendorAtomIntValueUtil.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "12e174205da527b109a4449ad3358469a3b8b576",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/compaction_duration"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "831fa7134e989edee1c4f7e0a465a0664dd058c6",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/direct_reclaim_native_latency_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f1301c8e6795152271e622f6fce50d841eb01ccc",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/direct_reclaim_other_latency_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e35a9d6026ba66306b12ca8072af5240dc76e088",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/direct_reclaim_top_latency_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9f3e85adae794d8a00ff3000c6581ae2fc734a0c",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/direct_reclaim_visible_latency_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "63931d7c6739e63e3e0448b1b43f92b9038efb06",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/dma_heap_total_pools"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c3ea6eb1d983a72a151b4a607453f81c323700c0",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/gpu_pages"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ed403e96a9f0c576cf3b26aed200bca416de0e23",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/ion_total_pools"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a1c9e3ad8182ae8338bf6f28a1141185a118b7d7",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/kcompactd0_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1b8ebf05942d126a456983908d3744a93b4b2c5b",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/kswapd0_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "28741e4e220c570a33eafeabf2ad2e98c8a41c64",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/pixel_vmstat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "15823183e28c3c54cf425cd2706beb89d6b7dec7",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/proc_meminfo"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7cea0fb928718252570464690f2de7877f6eb859",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/proc_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "41103be5acce8b45518e544a5b8ca7b9add8b157",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/proc_vmstat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "886345dfe6eb7c868c5b594a625c98551fcb86ff",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/psi_cpu"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "35f9cac406eb0ef868ffc38d67f53ff38e4fccd3",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/psi_io"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3a920f107560301f1be179f5ff7be5858f8b86c8",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_0/psi_memory"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "834e8636c5da66f280554132d5503e99fe23a62e",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/compaction_duration"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bd02e3b15a948120f071ad8858887e9540d33ffd",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/direct_reclaim_native_latency_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "36e4127d32b74bbeaaa19b9a9fd844e9bd02afca",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/direct_reclaim_other_latency_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e5de2afd9d2a6d8ee881175adaa9bb37ec3c13bf",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/direct_reclaim_top_latency_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6b8582b1a68107c755e3c4bbf954ed88197b1143",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/direct_reclaim_visible_latency_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3f1e4e7f063414db1d9f727c9ec5037923be7070",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/dma_heap_total_pools"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ee083d8e23d28ce056b39d09d460c9ed1035b043",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/gpu_pages"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e1f3128437219990b13a89e3ddf8ed6d3ae17dea",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/ion_total_pools"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ea0ed3bbe2f5cf1c67e818409036ae45cbfc768c",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/kcompactd0_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2df866db5b8f31da94da1577b0b1a24a2fb9668f",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/kswapd0_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "af6bb860669db49554230eb6381e3faabda83d0d",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/pixel_vmstat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1f82e9a43fafe7e2633afacdfeb5279476d30858",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/proc_meminfo"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bed9bd0b2a4cce168bb5976eff3f8c292ff1e322",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/proc_stat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "63ebfcf3a305dcdbdcd296cb5fd002d666c6d348",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/proc_vmstat"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a31c809af87c54f70c5c5fac54df319987b3bd49",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/psi_cpu"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9aef61a6d36241b2fadd404bd0f9d3f9f1be6f8e",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/psi_io"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bc30f0c43ffd23c4c5d91b4f51b0cfd1bff321cf",
      "new_mode": 33188,
      "new_path": "pixelstats/test/mm/data/test_data_1/psi_memory"
    }
  ]
}
