)]}'
{
  "commit": "d798e01b99a063720c65992ad79903390fb373c4",
  "tree": "edea632116516f64f1c7aa7ea8e5007a8af91cec",
  "parents": [
    "e5ac0e5c04977016839fcf10a89594f7e23cbfa0"
  ],
  "author": {
    "name": "Lalit Maganti",
    "email": "lalitm@google.com",
    "time": "Thu Mar 12 14:49:04 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Mar 12 14:49:04 2026 +0000"
  },
  "message": "perfetto: heap_profile: add host subcommand for local Linux profiling (#5049)\n\nAdds \u0027heap_profile host -- mybinary args\u0027 for profiling local Linux\nprocesses without an Android device, using LD_PRELOAD and the\nheapprofd glibc preload library.\n\ntracebox run without a subcommand with --system-sockets handles both\nthe traced daemon and the session in a single invocation. --notify-fd\nblocks until the session is active before launching the profiled\nbinary. PERFETTO_HEAPPROFD_BLOCKING_INIT\u003d1 ensures the binary\u0027s first\nmalloc waits for heapprofd to fully attach.\n\nThe libheapprofd_glibc_preload.so prebuilt is downloaded from GCS\nautomatically (linux-amd64/arm/arm64). A --preload-library flag\nallows overriding the path for local builds.\n\nAlso adds heapprofd_glibc_preload to the roll-prebuilts manifest so\nit is updated alongside the other prebuilts on each release.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "705d87caf0a8ce4159b4744eb61cb90c9ce0b2db",
      "old_mode": 33188,
      "old_path": "infra/luci/recipes/perfetto.py",
      "new_id": "0c6170344a5666b867338e0e1a363df0e66662e8",
      "new_mode": 33188,
      "new_path": "infra/luci/recipes/perfetto.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5f5144bb7523de65bd279571b6a5adff737d323f",
      "new_mode": 33188,
      "new_path": "python/perfetto/prebuilts/manifests/heapprofd_glibc_preload.py"
    },
    {
      "type": "modify",
      "old_id": "0e9683e76ce70cba5ce58d655f9d3fb9592f3189",
      "old_mode": 33188,
      "old_path": "python/perfetto/prebuilts/perfetto_prebuilts.py",
      "new_id": "15ef9eb6ca06f8bb13657ff3805bcb0f9e0d533c",
      "new_mode": 33188,
      "new_path": "python/perfetto/prebuilts/perfetto_prebuilts.py"
    },
    {
      "type": "modify",
      "old_id": "b83a4441de510994ca1354d8fcbb334bb5ca5c19",
      "old_mode": 33188,
      "old_path": "python/tools/heap_profile.py",
      "new_id": "f5af0faafdd2f938c11b216efbbd61644a7b8f02",
      "new_mode": 33188,
      "new_path": "python/tools/heap_profile.py"
    },
    {
      "type": "modify",
      "old_id": "6d98c714299180650f5f9dd323d6a6d226800a4f",
      "old_mode": 33261,
      "old_path": "tools/cpu_profile",
      "new_id": "277ef920d057d9250f9bb7d10410cb50c670a46f",
      "new_mode": 33261,
      "new_path": "tools/cpu_profile"
    },
    {
      "type": "modify",
      "old_id": "7caeb2a64a86f55551d607e01bd515ea51c966d0",
      "old_mode": 33261,
      "old_path": "tools/heap_profile",
      "new_id": "565ad18af4b4651d535337c21effad78a293f8d9",
      "new_mode": 33261,
      "new_path": "tools/heap_profile"
    },
    {
      "type": "modify",
      "old_id": "96618c09b2e8c19f6793c0ec8f8f3b1466c0405e",
      "old_mode": 33261,
      "old_path": "tools/install_test_reporter_app",
      "new_id": "71522ef5ef58f690fff007b7636b5cd553bffdfe",
      "new_mode": 33261,
      "new_path": "tools/install_test_reporter_app"
    },
    {
      "type": "modify",
      "old_id": "60a2d9fdebb617169e90544a5695ed95c0e2fc67",
      "old_mode": 33261,
      "old_path": "tools/record_android_trace",
      "new_id": "d08e33adf7adbeb4c82e50293f28c2652974a077",
      "new_mode": 33261,
      "new_path": "tools/record_android_trace"
    },
    {
      "type": "modify",
      "old_id": "6e27bd4bd30fe90ca25b2bd079c84f76b0da65f5",
      "old_mode": 33261,
      "old_path": "tools/release/roll-prebuilts",
      "new_id": "01aafc2e47294cfc2f8c6e8c21d77ff0619cb6ed",
      "new_mode": 33261,
      "new_path": "tools/release/roll-prebuilts"
    },
    {
      "type": "modify",
      "old_id": "b46f377bc96218207e542e9134743829cf404046",
      "old_mode": 33261,
      "old_path": "tools/trace_processor",
      "new_id": "5fea500eb5ffc3e0741550979f89b8f73daee8de",
      "new_mode": 33261,
      "new_path": "tools/trace_processor"
    },
    {
      "type": "modify",
      "old_id": "beb3470b3847669b831e8551a71f69a580c227c4",
      "old_mode": 33261,
      "old_path": "tools/tracebox",
      "new_id": "87f2c1e7ceb0a40a42b9ff9a144b211ad7e84e5c",
      "new_mode": 33261,
      "new_path": "tools/tracebox"
    },
    {
      "type": "modify",
      "old_id": "04a77dd4938ac3846e187a8ce5e442a8fdaf7184",
      "old_mode": 33261,
      "old_path": "tools/traceconv",
      "new_id": "b01c1d8d164226f7f4ef3126b549780dd5a7cb9e",
      "new_mode": 33261,
      "new_path": "tools/traceconv"
    }
  ]
}
