)]}'
{
  "commit": "51d18c10c8b51d3e922a5c5f123f806afded3b93",
  "tree": "e349afc6eee04ccbbf69fbc103d61c5761d7ba39",
  "parents": [
    "fcb8135a1819b2b6064397a1fe3e7a13d2a07c5b"
  ],
  "author": {
    "name": "Zimuzo Ezeozue",
    "email": "zezeozue@google.com",
    "time": "Thu Jul 16 22:54:07 2026 +0100"
  },
  "committer": {
    "name": "Zimuzo Ezeozue",
    "email": "zezeozue@google.com",
    "time": "Thu Jul 16 22:54:07 2026 +0100"
  },
  "message": "tp: match android framework process start/death by start_seq\n\nAdd a start_seq field to AndroidProcessStartEvent, AndroidProcessDiedEvent\nand AndroidBinderDiedEvent, and use it in the android_framework_track_event\nplugin to match a process instance\u0027s start and death events (robust to pid\nreuse).\n\nHandle AndroidProcessDiedEvent to associate an exit reason with the process:\nthe order of process_died and binder_died is not guaranteed, so whichever\narrives first ends the process, and process_died records the AppExit\nreason/sub_reason even if the process was already ended by binder_died.\n\nChange-Id: I116ec07334e2f194635299cf44620e7c2dfd7b1c\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2217fcd03f05ea9565a109b0b77e5eefee7edc8b",
      "old_mode": 33188,
      "old_path": "protos/third_party/android/frameworks/base/proto/tracing/frameworks_base_track_event.proto",
      "new_id": "6db23507d829dcc52ef4115471a4feb72f5b018b",
      "new_mode": 33188,
      "new_path": "protos/third_party/android/frameworks/base/proto/tracing/frameworks_base_track_event.proto"
    },
    {
      "type": "modify",
      "old_id": "cb3f76433bf4db463bbe959446a4797849d33d21",
      "old_mode": 33188,
      "old_path": "src/trace_processor/plugins/android_framework_track_event/android_framework_track_event.cc",
      "new_id": "033b526e5226b074f5e55e6c3eac752206d21e9f",
      "new_mode": 33188,
      "new_path": "src/trace_processor/plugins/android_framework_track_event/android_framework_track_event.cc"
    },
    {
      "type": "modify",
      "old_id": "c2e82b28e76a9d8a51b3bad021d581cdbe3b5fbb",
      "old_mode": 33188,
      "old_path": "src/trace_processor/plugins/android_framework_track_event/tables.py",
      "new_id": "eeb6030c6582a3633fe626e7fcb0fc226f199636",
      "new_mode": 33188,
      "new_path": "src/trace_processor/plugins/android_framework_track_event/tables.py"
    },
    {
      "type": "modify",
      "old_id": "e85414cba19c00a22f3888d5f231250514bbe455",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/android/android_framework_track_event.textproto",
      "new_id": "d79e8ea6477aa7dc12330c351288317c4f3ce9bf",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/android/android_framework_track_event.textproto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9eea17a4638a590ba61e7015bfd841d2e3caec3a",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/android/android_framework_track_event_process_death.textproto"
    },
    {
      "type": "modify",
      "old_id": "329c800e5a26f3bb17a93fe35eed38d37d1609c8",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/android/tests.py",
      "new_id": "52151b3661c14a514c2017afe3ed95cde5be6c91",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/android/tests.py"
    }
  ]
}
