)]}'
{
  "commit": "04b63c9aceb47d386031d4b444cb676c2107f47e",
  "tree": "75d87193ef2c877b1ecb34c82704c4f3d5d1b567",
  "parents": [
    "66bd188c5b87ecad0171e205b1a03b4380511737"
  ],
  "author": {
    "name": "Lalit Maganti",
    "email": "lalitmaganti@gmail.com",
    "time": "Wed Sep 02 23:39:42 2026 +0100"
  },
  "committer": {
    "name": "Lalit Maganti",
    "email": "lalitmaganti@gmail.com",
    "time": "Thu Sep 03 00:28:48 2026 +0100"
  },
  "message": "tp: add tables and stdlib for bundled source and disassembly\n\nGroundwork for showing annotated source and disassembly for callstack\nsamples in the UI (#7312):\n\n- SourceFile and ModuleDisassembly TracePacket fields carry a source\n  file\u0027s contents and a module\u0027s per-function disassembly (address,\n  bytes, text, static branch target, source line), keyed like\n  ModuleSymbols so they can be bundled with a trace after recording.\n- The trace processor parses them into the source_file,\n  disassembly_function and disassembly_instruction tables, dropping\n  disassembly for modules absent from the trace (recorded in the\n  disassembly_invalid_mapping_id stat). The standalone symbols importer\n  also recognises these packets so bundle members load after the trace.\n- The callstacks.annotate stdlib module computes self and total (self\n  plus callees) sample counts per callsite, per address and per source\n  line, and joins a function\u0027s bundled instructions with its counts.\n  The callstack forest and _callstacks_for_* macros expose mapping_id\n  and rel_pc so tree nodes can be linked back to an address.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fc2c2c2ff944a273eb7b1b500112c3eb0f781fb1",
      "old_mode": 33188,
      "old_path": "Android.bp",
      "new_id": "16e76499e2f5c7fadb0bbd046ae876bfbfd7c676",
      "new_mode": 33188,
      "new_path": "Android.bp"
    },
    {
      "type": "modify",
      "old_id": "e74a40583e9347264ed620339df517ce8aae1d38",
      "old_mode": 33188,
      "old_path": "BUILD",
      "new_id": "308d4667a0459a9fae2a7bc04970176bf3d80079",
      "new_mode": 33188,
      "new_path": "BUILD"
    },
    {
      "type": "modify",
      "old_id": "331a89adc745101e56b7f4f0895132c03935f8f3",
      "old_mode": 33188,
      "old_path": "protos/perfetto/trace/profiling/profile_common.proto",
      "new_id": "068caba90b9daa1d850cae703a20ea8b09d6e044",
      "new_mode": 33188,
      "new_path": "protos/perfetto/trace/profiling/profile_common.proto"
    },
    {
      "type": "modify",
      "old_id": "6ef64224328427836e4bd6d2978ee4815f518772",
      "old_mode": 33188,
      "old_path": "protos/perfetto/trace/trace_packet.proto",
      "new_id": "4886c45d235b918a940477d1022edf67455bfa1f",
      "new_mode": 33188,
      "new_path": "protos/perfetto/trace/trace_packet.proto"
    },
    {
      "type": "modify",
      "old_id": "48a097eb3fe53a17f364eb972f3ea5374ec55fb2",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/profile_module.cc",
      "new_id": "cf6c679e066aa5b4033ffed68346c1d1b345f918",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/profile_module.cc"
    },
    {
      "type": "modify",
      "old_id": "c6bac5e59a60cbba8349d1138475586a811d0f3a",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/profile_module.h",
      "new_id": "33bc151bd9ee40c193b1fb40085062c581b07c65",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/profile_module.h"
    },
    {
      "type": "modify",
      "old_id": "4d5f798f84c9d66c229415ac725434e5cc7081eb",
      "old_mode": 33188,
      "old_path": "src/trace_processor/importers/proto/proto_trace_reader.cc",
      "new_id": "e007018222a62949e684c4145f9e86815d0dca71",
      "new_mode": 33188,
      "new_path": "src/trace_processor/importers/proto/proto_trace_reader.cc"
    },
    {
      "type": "modify",
      "old_id": "bd1ad69e8cb659169ab38ae5186524b2fb7b0b9e",
      "old_mode": 33188,
      "old_path": "src/trace_processor/perfetto_sql/stdlib/appleos/instruments/samples.sql",
      "new_id": "f12bbdec6f496d9b9856f807a781e9d68f165e5b",
      "new_mode": 33188,
      "new_path": "src/trace_processor/perfetto_sql/stdlib/appleos/instruments/samples.sql"
    },
    {
      "type": "modify",
      "old_id": "797e02aa6fe762e4ba7cddd687190a6a13f9fec0",
      "old_mode": 33188,
      "old_path": "src/trace_processor/perfetto_sql/stdlib/callstacks/BUILD.gn",
      "new_id": "277afc6ee993574808fcff28948e230a387faa22",
      "new_mode": 33188,
      "new_path": "src/trace_processor/perfetto_sql/stdlib/callstacks/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "233f1ccbb9a67eb4d954e0371cd2e13fb37bd038",
      "new_mode": 33188,
      "new_path": "src/trace_processor/perfetto_sql/stdlib/callstacks/annotate.sql"
    },
    {
      "type": "modify",
      "old_id": "de6746c86fc19c66c89280aea2f1533fc78ddbff",
      "old_mode": 33188,
      "old_path": "src/trace_processor/perfetto_sql/stdlib/callstacks/stack_profile.sql",
      "new_id": "3e4bde9152253b821e7d332757935975c4e7327f",
      "new_mode": 33188,
      "new_path": "src/trace_processor/perfetto_sql/stdlib/callstacks/stack_profile.sql"
    },
    {
      "type": "modify",
      "old_id": "e8e3d9e381a38cddec99a69a816742e2c7c50957",
      "old_mode": 33188,
      "old_path": "src/trace_processor/perfetto_sql/stdlib/linux/perf/samples.sql",
      "new_id": "2ba467ef753d3eab55241f768e4560828c105c9d",
      "new_mode": 33188,
      "new_path": "src/trace_processor/perfetto_sql/stdlib/linux/perf/samples.sql"
    },
    {
      "type": "modify",
      "old_id": "21fc526fe89715ce8e89c4975a1f04dbe0feb4c6",
      "old_mode": 33188,
      "old_path": "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/views.sql",
      "new_id": "f905ba17bef90e0259b92f4e00230f897ce9abb9",
      "new_mode": 33188,
      "new_path": "src/trace_processor/perfetto_sql/stdlib/prelude/after_eof/views.sql"
    },
    {
      "type": "modify",
      "old_id": "41375481a5b6c6b53b0d7f1e329eefa99d049658",
      "old_mode": 33188,
      "old_path": "src/trace_processor/plugins/storage_tables/storage_tables.cc",
      "new_id": "541b71a59c9036fb58627a2cc63b3b31f7f6af71",
      "new_mode": 33188,
      "new_path": "src/trace_processor/plugins/storage_tables/storage_tables.cc"
    },
    {
      "type": "modify",
      "old_id": "097a9da404b293f17d8ca610b49a6aeb5421d232",
      "old_mode": 33188,
      "old_path": "src/trace_processor/storage/stats.h",
      "new_id": "1d1f27db3048738f5d6f075c76c39ca3e3e94c5a",
      "new_mode": 33188,
      "new_path": "src/trace_processor/storage/stats.h"
    },
    {
      "type": "modify",
      "old_id": "a12d9872483ecd9919f1f9e1cf167f20f675ca23",
      "old_mode": 33188,
      "old_path": "src/trace_processor/storage/trace_storage.h",
      "new_id": "6d9bf387cba2fa7a0eafd2578a18c4bb89065f4b",
      "new_mode": 33188,
      "new_path": "src/trace_processor/storage/trace_storage.h"
    },
    {
      "type": "modify",
      "old_id": "cf8542ae212ff6d68e0be0431ded4b9b21e4d140",
      "old_mode": 33188,
      "old_path": "src/trace_processor/tables/profiler_tables.py",
      "new_id": "6f9a0904f830fd64db889542bf1e438ab12cb374",
      "new_mode": 33188,
      "new_path": "src/trace_processor/tables/profiler_tables.py"
    },
    {
      "type": "modify",
      "old_id": "3ffb076ef1e277ec0e8384c773ffafd5d56ca92d",
      "old_mode": 33188,
      "old_path": "test/trace_processor/diff_tests/include_index.py",
      "new_id": "b4f318ded95ccd3bc9555a309910e475110e1c6a",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/include_index.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3a5f24548041528cd9111e0b2f979ee8b97e4be3",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/source_and_disassembly.textproto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e900fcf38e7d0bb597897ffaa40118a2c52361d0",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/parser/profiling/tests_source_and_disassembly.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5de77189d4f87006b973f7f50f6039adaef52a46",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/stdlib/callstacks/annotate.textproto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8eaaa1463469664fc7d7f5463b1eea1f63b8c660",
      "new_mode": 33188,
      "new_path": "test/trace_processor/diff_tests/stdlib/callstacks/tests.py"
    }
  ]
}
