)]}'
{
  "commit": "2e1608ff49148a8d99c2e33897fa0e5c3ce532c2",
  "tree": "2ff7a03aa1db3c25e86490396e282135a59aed33",
  "parents": [
    "f0aa9016e99a441e2bc2048ddd55b1437b3f6daa"
  ],
  "author": {
    "name": "Mikael Pessa",
    "email": "mikaelpessa@google.com",
    "time": "Fri Jul 19 11:25:35 2019 -0700"
  },
  "committer": {
    "name": "Mikael Pessa",
    "email": "mikaelpessa@google.com",
    "time": "Wed Aug 28 11:15:25 2019 -0700"
  },
  "message": "Add per-buffer perfetto trace points for SurfaceFlinger frame events\n\nIn order to track how buffers move through the system, we add per-buffer perfetto trace points for SurfaceFlinger.\nThe majority of these were already tracked through TimeStats, so the new tracing was built on top of TimeStats.\n\nTest: atest libsurfaceflinger_unittest\n\nRun trace with:\n{ adb shell perfetto   -c - --txt   -o /data/misc/perfetto-traces/trace \u003c\u003cEOF\nbuffers: {\n    size_kb: 1280\n}\ndata_sources: {\n    config {\n        name: \"android.surfaceflinger.timestats\"\n    }\n}\nduration_ms: 3000\nEOF\n} \u0026\u0026 adb pull /data/misc/perfetto-traces/trace ~/Desktop/trace\n\nChange-Id: Ifb38c64a9966fece735f0ad72438c7c9c5e07baa\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "afb9cec4cc95ef0d32f7fc96acdc4b996e70babe",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/Android.bp",
      "new_id": "438f8f3be2b4a55665286d25094096aec868c7e4",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "e9af9e292b5376c4a2d89e1b8027084eb9532b67",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/BufferLayer.cpp",
      "new_id": "a8bdb799e72854c579bc0d0476aa75014cf91d6a",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/BufferLayer.cpp"
    },
    {
      "type": "modify",
      "old_id": "5f494ff3d5d01f75f424d53a687289cd6b567b9a",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/BufferQueueLayer.cpp",
      "new_id": "6cad3c7d075a247ae9dc2b7ca253c5de34d92f97",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/BufferQueueLayer.cpp"
    },
    {
      "type": "modify",
      "old_id": "3bc625e462fc2ba0155a8c622ba540438835a7ba",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/BufferQueueLayer.h",
      "new_id": "bf3f917196e701adad882c263959e4e0316cfe00",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/BufferQueueLayer.h"
    },
    {
      "type": "modify",
      "old_id": "e0804ff50edb0a759c4a3d2428c88068b3d050ab",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/BufferStateLayer.cpp",
      "new_id": "4a8261d99f892fdebddced9eefdc4a985d6ff655",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/BufferStateLayer.cpp"
    },
    {
      "type": "modify",
      "old_id": "cc670087ac080ed94022a97600593e12debb5f39",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/BufferStateLayer.h",
      "new_id": "c060ca8e769ac979cf049a83956377d9ecca20ad",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/BufferStateLayer.h"
    },
    {
      "type": "modify",
      "old_id": "9107189d52c70c4c65173c2e7bebd3ff60cdde5e",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/Layer.h",
      "new_id": "aa3970eb3acd1ce15601b338992763a7ed973302",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/Layer.h"
    },
    {
      "type": "modify",
      "old_id": "e8049239bae621787253de85d2162441609e452d",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/SurfaceFlinger.cpp",
      "new_id": "65430891016d040fa2cad2e8f754255b7469084d",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/SurfaceFlinger.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9e1d5033b2ea2e33b8e7224a25c679c57399b0d9",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/TimeStats/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "3e3ab18e8f8023615ff8ae0e5b9701d310e330ce",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/TimeStats/TimeStats.cpp",
      "new_id": "b66e4cfe4f770ce45df7319df35b286cf4bf210d",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/TimeStats/TimeStats.cpp"
    },
    {
      "type": "modify",
      "old_id": "eed711158a9127077cf3f8ef4d44c39e1c93010e",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/TimeStats/TimeStats.h",
      "new_id": "470137a43167bb5ed510d8d495f597e050133a39",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/TimeStats/TimeStats.h"
    },
    {
      "type": "modify",
      "old_id": "644cd7e698d1d5cf95f6e7f531e0861173f58600",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/tests/fakehwc/Android.bp",
      "new_id": "57851bc85044670337409796614f7c7ba4e9aced",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/tests/fakehwc/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "4917bc2a5127e6dabde98f6f6d06c3670851eb12",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/tests/unittests/Android.bp",
      "new_id": "0eedf9b7b19dac8915791c94d11ccb0fcc7ebadf",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/tests/unittests/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "f35758debfc25f1109521c46b2fbb1fa34da0d4a",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/tests/unittests/TimeStatsTest.cpp",
      "new_id": "f01e603f20ad9da4f3dc40da0bad936339163159",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/tests/unittests/TimeStatsTest.cpp"
    },
    {
      "type": "modify",
      "old_id": "b1634a8da76c90281767d300f16d6bc8fc7a1141",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/tests/unittests/mock/MockTimeStats.h",
      "new_id": "542c70a8fba5018e27bca888be9137e2f6306497",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/tests/unittests/mock/MockTimeStats.h"
    }
  ]
}
