)]}'
{
  "commit": "df3474862e63ecb046ec1db4a1bf33b0289aa6e5",
  "tree": "d5614205a7c392b16b718645cbce126942857962",
  "parents": [
    "2375c432fd675caa8fedc3e00da16f971250f64f"
  ],
  "author": {
    "name": "sashwinbalaji",
    "email": "sashwinbalaji@google.com",
    "time": "Fri Jun 12 09:58:32 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jun 12 09:58:32 2026 +0100"
  },
  "message": "tp: move heap graph, network and bluetooth traces out of tree (#6208)\n\nMove three more Android-owned TracePacket payloads out of the perfetto\nrepo.\n\n* ART heap graph: TracePacket field 56 becomes an extension hole. The\nschema moves to protos/third_party/android/art/heap_graph.proto (package\ncom.android.art.tracing, wrapper ArtHeapGraphTracePacket). The shared\nprofiling protos it references (profile_common, deobfuscation) stay in\nperfetto.\n\n* Connectivity network trace: TracePacket fields 88/92 and InternedData\nfield 30 become extension holes. The schema moves to\nprotos/third_party/android/connectivity/network_trace.proto (package\nandroid.net.connectivity.tracing, wrappers ConnectivityTracePacket and\nConnectivityInternedData).\n\n* Bluetooth trace events: TracePacket field 114 becomes an extension\nhole. The schema moves to protos/third_party/android/packages/\nmodules/bluetooth/tracing/bluetooth_trace.proto (package\nbluetooth.tracing, wrapper BluetoothTracePacket).\n\nThe importers (heap_graph_module, heap_graph_tracker, network_trace_\nmodule, android_probes_module/parser) read the fields as extensions via\nGetExtensionSlowly, the extension holes are registered in\nprotos/perfetto/trace/extensions.json, the new protos are wired into the\nandroid_extensions descriptor, and the diff tests\u0027 textprotos are\nupdated to extension bracket syntax.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7e8a42e7c1e35cdd3038355b75c353ab59ce0d9c",
      "old_mode": 33188,
      "old_path": "Android.bp",
      "new_id": "855f9ce9c379e28e934b7af9a5de04881fe729d1",
      "new_mode": 33188,
      "new_path": "Android.bp"
    },
    {
      "type": "modify",
      "old_id": "15feb7ddc89e241cc521cdef3802eb957d30b352",
      "old_mode": 33188,
      "old_path": "BUILD",
      "new_id": "06c8f510c736485c7c4e6eaed76c1a912e19c6a8",
      "new_mode": 33188,
      "new_path": "BUILD"
    },
    {
      "type": "modify",
      "old_id": "e601b9f69ec42db1eced236c73bf456a3e400c20",
      "old_mode": 33188,
      "old_path": "include/perfetto/public/protos/trace/interned_data/interned_data.pzc.h",
      "new_id": "2914b9a58cb92a3b6d404d51a24aa291351dc44a",
      "new_mode": 33188,
      "new_path": "include/perfetto/public/protos/trace/interned_data/interned_data.pzc.h"
    },
    {
      "type": "modify",
      "old_id": "15a358281d4465316cc10b7dc77349393daeb888",
      "old_mode": 33188,
      "old_path": "include/perfetto/public/protos/trace/trace_packet.pzc.h",
      "new_id": "d09810980f20e02452e895feccf9987dcabce279",
      "new_mode": 33188,
      "new_path": "include/perfetto/public/protos/trace/trace_packet.pzc.h"
    },
    {
      "type": "modify",
      "old_id": "06afc3679155e71fa760fa10f9c785b2425e8847",
      "old_mode": 33188,
      "old_path": "protos/perfetto/trace/android/BUILD.gn",
      "new_id": "99d769d47f752762f268f87ddf24d8c2110b7353",
      "new_mode": 33188,
      "new_path": "protos/perfetto/trace/android/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "834a5fbcdebdb165430a01cd4f4e7deb0f037ed0",
      "old_mode": 33188,
      "old_path": "protos/perfetto/trace/extensions.json",
      "new_id": "880e8c3cabcd4be9c93ba51968ca29fc07d40b90",
      "new_mode": 33188,
      "new_path": "protos/perfetto/trace/extensions.json"
    },
    {
      "type": "modify",
      "old_id": "88a88558e6ee870b6f7bd8b08a5c6ceffa3e49eb",
      "old_mode": 33188,
      "old_path": "protos/perfetto/trace/interned_data/interned_data.proto",
      "new_id": "521812fc1b0aa832a93d5e66b49a65c3081517f1",
      "new_mode": 33188,
      "new_path": "protos/perfetto/trace/interned_data/interned_data.proto"
    },
    {
      "type": "modify",
      "old_id": "5a6e70727ba3256804a9bc87379f3ea7aa120b45",
      "old_mode": 33188,
      "old_path": "protos/perfetto/trace/perfetto_trace.proto",
      "new_id": "df7ceb9d9735ae7690f1e7f02e7def36420999d6",
      "new_mode": 33188,
      "new_path": "protos/perfetto/trace/perfetto_trace.proto"
    },
    {
      "type": "modify",
      "old_id": "57ee62f806b82336b13a8cd456cb0b40c45547c9",
      "old_mode": 33188,
      "old_path": "protos/perfetto/trace/profiling/BUILD.gn",
      "new_id": "480f564d257c29eb3aef685d1b37178c1f203064",
      "new_mode": 33188,
      "new_path": "protos/perfetto/trace/profiling/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "835a6a8abae9cf13f6cd6e3d87ec09a008d1efef",
      "old_mode": 33188,
      "old_path": "protos/perfetto/trace/trace_packet.proto",
      "new_id": "2d425837531272f611b3aba4f916605ae0edf4d8",
      "new_mode": 33188,
      "new_path": "protos/perfetto/trace/trace_packet.proto"
    },
    {
      "type": "modify",
      "old_id": "6f00e88d26ff0bff68fe16b2eeeee83eff3d9b62",
      "old_mode": 33188,
      "old_path": "protos/third_party/android/BUILD.gn",
      "new_id": "9cec6029e56904790c2a7d7510e813d83ad0acf0",
      "new_mode": 33188,
      "new_path": "protos/third_party/android/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "f049b60ce2fdafde4118aa4c1653273e1f5ec107",
      "old_mode": 33188,
      "old_path": "protos/third_party/android/android_extensions.proto",
      "new_id": "668ab95675e1831f227d5bfbb0fa0d82d6bda914",
      "new_mode": 33188,
      "new_path": "protos/third_party/android/android_extensions.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fe25d90d0468f514529e92d65f3094a10b9ee6e9",
      "new_mode": 33188,
      "new_path": "protos/third_party/android/art/BUILD.gn"
    },
    {
      "type": "rename",
      "old_id": "1147f0991d523e606621fcb9b2135867f1012db2",
      "old_mode": 33188,
      "old_path": "protos/perfetto/trace/profiling/heap_graph.proto",
      "new_id": "22e9cbd46194bf29476255bc7297c8c3d18f7495",
      "new_mode": 33188,
      "new_path": "protos/third_party/android/art/heap_graph.proto",
      "score": 93
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "23ec18583271f0ec5db63ea155e2bf67c903bc13",
      "new_mode": 33188,
      "new_path": "protos/third_party/android/connectivity/BUILD.gn"
    },
    {
      "type": "rename",
      "old_id": "022c06b9dc7dee1a32761487217c890cebb91f85",
      "old_mode": 33188,
      "old_path": "protos/perfetto/trace/android/network_trace.proto",
      "new_id": "79c1d3fbfc79865a3d5b144e5c94619bc5bd31a9",
      "new_mode": 33188,
      "new_path": "protos/third_party/android/connectivity/network_trace.proto",
      "score": 85
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "87e8465728a4564d0c9601258692074bec2669e2",
      "new_mode": 33188,
      "new_path": "protos/third_party/android/packages/modules/bluetooth/tracing/BUILD.gn"
    },
    {
      "type": "rename",
      "old_id": "ef632905f9d5f33d7c5f8cacec1976983fa2e3ca",
      "old_mode": 33188,
      "old_path": "protos/perfetto/trace/android/bluetooth_trace.proto",
      "new_id": "cc0089e322575ec1a7e859bee0a2ef9fd1111d0a",
      "new_mode": 33188,
      "new_path": "protos/third_party/android/packages/modules/bluetooth/tracing/bluetooth_trace.proto",
      "score": 81
    },
    {
      "type": "modify",
      "old_id": "dc21e838c3c1a347614a7b2d1f93dcded7df53ef",
      "old_mode": 33188,
      "old_path": "python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py",
      "new_id": "ec7c4d806599133d8ba8dd207a2f7995b8f3cc22",
      "new_mode": 33188,
      "new_path": "python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.py"
    },
    {
      "type": "modify",
      "old_id": "bbea98fa5e83a4986bf2faeb05b7da57d249ba62",
      "old_mode": 33188,
      "old_path": "python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi",
      "new_id": "d3dd51e0adc43f45829608683f160990c53d6456",
      "new_mode": 33188,
      "new_path": "python/perfetto/protos/perfetto/trace/perfetto_trace_pb2.pyi"
    },
    {
      "type": "modify",
      "old_id": "b0f91422378977b13ec30330fe1fec9b341fa42d",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/BUILD.gn",
      "new_id": "c3b58406b11048895dc8bdbd99f2b2315a4facf8",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "a15813103b1b75925b9366851c5979937476643d",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/android_probes_module.cc",
      "new_id": "b74eb2dfd10e728632366f698f3a5c3a3ee869dc",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/android_probes_module.cc"
    },
    {
      "type": "modify",
      "old_id": "9336d1ad6f1686f94ec89bfb93f6e87e52a59e45",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/android_probes_parser.cc",
      "new_id": "d8653665e9f1debaf3529675bf2aa9da0d9c700e",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/android_probes_parser.cc"
    },
    {
      "type": "modify",
      "old_id": "39f452f731dbfa0c0a41016a45c4368d937d9cbc",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/heap_graph_module.cc",
      "new_id": "3660c70cdb0862e71d55050be1b968f4e3913337",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/heap_graph_module.cc"
    },
    {
      "type": "modify",
      "old_id": "6222b91f213371a156631d61624ee893dd5e07fa",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/heap_graph_tracker.cc",
      "new_id": "4fff2fed87ed17ce963f66ea53f2ccd92d7269e0",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/heap_graph_tracker.cc"
    },
    {
      "type": "modify",
      "old_id": "3749a3a1ea8c6dd5ec51f264e87c2e2de88f7a67",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/heap_graph_tracker.h",
      "new_id": "9a549ad50bccbfa479079c69f30291ca8ad15d29",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/heap_graph_tracker.h"
    },
    {
      "type": "modify",
      "old_id": "124d3baf3c5b4d4c6e6156f279f1eebcaa5b5765",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/heap_graph_tracker_unittest.cc",
      "new_id": "2b6172e85bfc40286f18ca7fdd0f3970b825caef",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/heap_graph_tracker_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "3ea9d8aa4e2d3dd9c009baf623f297b0e1ec7b1b",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/network_trace_module.cc",
      "new_id": "6fc9bb9c2251225bad8c1ab40467cc4b1eb3dd68",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/network_trace_module.cc"
    },
    {
      "type": "modify",
      "old_id": "d40fa09658d70e46d3f7d9870c3691d85ec35739",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/network_trace_module.h",
      "new_id": "15e729b5a71c53319a7e8cc3747f4aa97ab5bbc6",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/network_trace_module.h"
    },
    {
      "type": "modify",
      "old_id": "0f71f64f7a791d4cf775a0207222a27ca593dbcf",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/network_trace_module_unittest.cc",
      "new_id": "f1aef2326e9a8adfd5fe4fd5112325d1b330ddd3",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/network_trace_module_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "1789bc4bafdd88fe264b62aa0688f22f2ff3bd86",
      "old_mode": 33188,
      "old_path": "src/traceconv/utils.cc",
      "new_id": "a553d8ba92e8ff7bc8d7beb962b6320a5f1dfbe9",
      "new_mode": 33188,
      "new_path": "src/traceconv/utils.cc"
    },
    {
      "type": "modify",
      "old_id": "eef8a5585d2220127a3a397e1df90d282387d96a",
      "old_mode": 33188,
      "old_path": "test/cts/BUILD.gn",
      "new_id": "4f5445875271ebd0a3d70596933feb9c6836707a",
      "new_mode": 33188,
      "new_path": "test/cts/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "254d9ce7bcc0d549bd556d117239855122ccd897",
      "old_mode": 33188,
      "old_path": "test/cts/art_module/heapprofd_java_test_cts.cc",
      "new_id": "b9188a354a7d61ccb10a4f69cc7c84a3b891faef",
      "new_mode": 33188,
      "new_path": "test/cts/art_module/heapprofd_java_test_cts.cc"
    },
    {
      "type": "modify",
      "old_id": "7dfaa3245f7e288ab3aa584fb8f2d33a889508ac",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/metrics/android/tests.py",
      "new_id": "f71e2b05eeb4db7fe6b71a5b5069939ab2d0d731",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/metrics/android/tests.py"
    },
    {
      "type": "modify",
      "old_id": "a6e314b77079912069f71eb1119c9a8d1c2af4f6",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/metrics/profiling/heap_graph.textproto",
      "new_id": "f6230eaa51c6d52d934442af2f68370b3bc59a9d",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/metrics/profiling/heap_graph.textproto"
    },
    {
      "type": "modify",
      "old_id": "ba1e36f6ed10d839b38d4654c98bd6f4b2375295",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/metrics/profiling/heap_graph_closest_proc.textproto",
      "new_id": "5c994a4724fbf788126819d16b7d7586bd3844e0",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/metrics/profiling/heap_graph_closest_proc.textproto"
    },
    {
      "type": "modify",
      "old_id": "d82f662319453463bf4c1636d486a230153df5df",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph.textproto",
      "new_id": "4cee3318ffc7381373f5659d1b65d8596df36e4b",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph.textproto"
    },
    {
      "type": "modify",
      "old_id": "86d2d908162e433037a8adcb8183a6b7fa1efaf4",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_baseapk.textproto",
      "new_id": "c7b6f572c43236fab31c65b51caa543a48ea3f06",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_baseapk.textproto"
    },
    {
      "type": "modify",
      "old_id": "7690c777fb7ffa5daa286a45170d467c586c81fa",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_branching.textproto",
      "new_id": "74b93dd6de4d05a6b376d323de1c94322b9f4f97",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_branching.textproto"
    },
    {
      "type": "modify",
      "old_id": "46975483601778ed7b67c2e9277d84ad850e3992",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_deobfuscate_pkg.textproto",
      "new_id": "90e26fbe3bb92fdc0070ebd1cf21800180621c17",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_deobfuscate_pkg.textproto"
    },
    {
      "type": "modify",
      "old_id": "7b6b0b0315bef7dcd483d1c0c139687a2ece5878",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_huge_size.textproto",
      "new_id": "760051bafae51f32da1621356f5f7ce65509ca8a",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_huge_size.textproto"
    },
    {
      "type": "modify",
      "old_id": "2e2af306ae496410419122b8524e5be48e24b2a3",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_interleaved.textproto",
      "new_id": "59419cd2212818996f5f98a012880ce25ebb6a56",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_interleaved.textproto"
    },
    {
      "type": "modify",
      "old_id": "d0bc1c85c0327d2cad639404e4c6f28e62136fac",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_legacy.textproto",
      "new_id": "40e2d2f70a25cb43d605c2d96c4d9716fcc0a5f0",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_legacy.textproto"
    },
    {
      "type": "modify",
      "old_id": "00a2bc6405ac733c2cd06655293b251ad127f313",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_native_size.textproto",
      "new_id": "c3ae4d5545a9639b6edf2d80d01f44319cd59f96",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_native_size.textproto"
    },
    {
      "type": "modify",
      "old_id": "48fe7e23d005427ca266395f5f579597c78e5e21",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_root_sorting.textproto",
      "new_id": "a57f8b665704417f3d6b93112ca8db31327d2787",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_root_sorting.textproto"
    },
    {
      "type": "modify",
      "old_id": "4f8f61a8f32b1124ebb3f25666c7978f8ac67d13",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_root_sorting_reverse.textproto",
      "new_id": "5453ac266fdbc3a16c9694eb172e052c82a258c2",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_root_sorting_reverse.textproto"
    },
    {
      "type": "modify",
      "old_id": "02c4fbe01c16402a5c969dd65390fd9aff754955",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_superclass.textproto",
      "new_id": "706562f489f5e6ad906e6568e6c44618b6e303e3",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_superclass.textproto"
    },
    {
      "type": "modify",
      "old_id": "59a8ccf65686333607ee6fa93ca01996aa91637d",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_two_locations.textproto",
      "new_id": "69d6f11bbe77f421491e46d1f92b6499f0e733c9",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/heap_graph_two_locations.textproto"
    },
    {
      "type": "modify",
      "old_id": "c95343231f54ab8ddea4e8956ffa2b1b2ccc527f",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/tests.py",
      "new_id": "342df7f393bcddd8b546f0f07b60db5a306f1084",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/tests.py"
    },
    {
      "type": "modify",
      "old_id": "e4f8677b45b77e3b35386a6b25e88579c86c3e2e",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/parser/profiling/tests_heap_graph.py",
      "new_id": "24f6e9db21cf5fb8be45cafc8e125d36d5606b4d",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/tests_heap_graph.py"
    },
    {
      "type": "modify",
      "old_id": "e1f5cd8fa7aa0fe8751948c3a95056aa5a14f899",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/stdlib/android/heap_graph_for_aggregation.textproto",
      "new_id": "400635524cd80fe3fcaec0f175c0ba6bcd64c16f",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/stdlib/android/heap_graph_for_aggregation.textproto"
    },
    {
      "type": "modify",
      "old_id": "940b38fded7ee927b8cf5287263bd5239d8bb2eb",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/stdlib/android/heap_graph_for_dominator_tree.textproto",
      "new_id": "41abd7fcaecdc56b1cccaf019b9ff00ab9941e7e",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/stdlib/android/heap_graph_for_dominator_tree.textproto"
    }
  ]
}
